Skip to content

Commit

Permalink
test/system: Add other combinations to test Dbus
Browse files Browse the repository at this point in the history
#1330

Signed-off-by: Nieves Montero <[email protected]>
  • Loading branch information
nievesmontero authored and debarshiray committed Nov 30, 2023
1 parent f28ad77 commit f2881bb
Showing 1 changed file with 328 additions and 2 deletions.
330 changes: 328 additions & 2 deletions test/system/211-dbus.bats
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ teardown() {
cleanup_containers
}

@test "dbus: session bus" {
@test "dbus: session bus inside the default container" {
local expected_response
expected_response="$(gdbus call \
--session \
Expand Down Expand Up @@ -58,7 +58,156 @@ teardown() {
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus" {
@test "dbus: session bus inside Arch Linux" {
local expected_response
expected_response="$(gdbus call \
--session \
--dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.Peer.Ping)"

create_distro_container arch latest arch-toolbox-latest

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch sh -c 'gdbus call \
--session \
--dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.Peer.Ping'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: session bus inside Fedora 34" {
local expected_response
expected_response="$(gdbus call \
--session \
--dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.Peer.Ping)"

create_distro_container fedora 34 fedora-toolbox-34

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 sh -c 'gdbus call \
--session \
--dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.Peer.Ping'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: session bus inside RHEL 8.7" {
local expected_response
expected_response="$(gdbus call \
--session \
--dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.Peer.Ping)"

create_distro_container rhel 8.7 rhel-toolbox-8.7

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 sh -c 'gdbus call \
--session \
--dest org.freedesktop.DBus \
--object-path /org/freedesktop/DBus \
--method org.freedesktop.DBus.Peer.Ping'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: session bus inside Ubuntu 16.04" {
local expected_response
expected_response="$(busctl call \
--user org.freedesktop.DBus \
/org/freedesktop/DBus \
org.freedesktop.DBus.Peer Ping)"

create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 sh -c 'busctl call \
--user org.freedesktop.DBus \
/org/freedesktop/DBus \
org.freedesktop.DBus.Peer Ping'

assert_success
assert_equal "${lines[*]}" "$expected_response"

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: session bus inside Ubuntu 18.04" {
local expected_response
expected_response="$(busctl call \
--user org.freedesktop.DBus \
/org/freedesktop/DBus \
org.freedesktop.DBus.Peer Ping)"

create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 sh -c 'busctl call \
--user org.freedesktop.DBus \
/org/freedesktop/DBus org.freedesktop.DBus.Peer Ping'

assert_success
assert_equal "${lines[*]}" "$expected_response"

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: session bus inside Ubuntu 20.04" {
local expected_response
expected_response="$(busctl call \
--user org.freedesktop.DBus \
/org/freedesktop/DBus \
org.freedesktop.DBus.Peer Ping)"

create_distro_container ubuntu 20.04 ubuntu-toolbox-20.04

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 sh -c 'busctl call \
--user org.freedesktop.DBus \
/org/freedesktop/DBus \
org.freedesktop.DBus.Peer Ping'

assert_success
assert_equal "${lines[*]}" "$expected_response"

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside the default container" {
local expected_response
expected_response="$(gdbus call \
--system \
Expand Down Expand Up @@ -87,3 +236,180 @@ teardown() {
# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside Arch Linux" {
local expected_response
expected_response="$(gdbus call \
--system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1 \
--method org.freedesktop.DBus.Properties.Get org.freedesktop.systemd1.Manager Version)"

create_distro_container arch latest arch-toolbox-latest

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro arch sh -c 'gdbus call \
--system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1 \
--method org.freedesktop.DBus.Properties.Get \
org.freedesktop.systemd1.Manager Version'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside Fedora 34" {
local expected_response
expected_response="$(gdbus call \
--system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1 \
--method org.freedesktop.DBus.Properties.Get org.freedesktop.systemd1.Manager Version)"

create_distro_container fedora 34 fedora-toolbox-34

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro fedora --release 34 sh -c 'gdbus call \
--system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1 \
--method org.freedesktop.DBus.Properties.Get \
org.freedesktop.systemd1.Manager Version'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside RHEL 8.7" {
local expected_response
expected_response="$(gdbus call \
--system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1 \
--method org.freedesktop.DBus.Properties.Get org.freedesktop.systemd1.Manager Version)"

create_distro_container rhel 8.7 rhel-toolbox-8.7

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro rhel --release 8.7 sh -c 'gdbus call \
--system \
--dest org.freedesktop.systemd1 \
--object-path /org/freedesktop/systemd1 \
--method org.freedesktop.DBus.Properties.Get \
org.freedesktop.systemd1.Manager Version'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside Ubuntu 16.04" {
local expected_response
expected_response="$(busctl call \
--system org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.DBus.Properties Get "ss" \
org.freedesktop.systemd1.Manager Version)"

create_distro_container ubuntu 16.04 ubuntu-toolbox-16.04

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 16.04 sh -c 'busctl call \
--system org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.DBus.Properties Get "ss" \
org.freedesktop.systemd1.Manager Version'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside Ubuntu 18.04" {
local expected_response
expected_response="$(busctl call \
--system org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.DBus.Properties Get "ss" \
org.freedesktop.systemd1.Manager Version)"

create_distro_container ubuntu 18.04 ubuntu-toolbox-18.04

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 18.04 sh -c 'busctl call \
--system org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.DBus.Properties Get "ss" \
org.freedesktop.systemd1.Manager Version'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

@test "dbus: system bus inside Ubuntu 20.04" {
local expected_response
expected_response="$(busctl call \
--system org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.DBus.Properties Get "ss" \
org.freedesktop.systemd1.Manager Version)"

create_distro_container ubuntu 20.04 ubuntu-toolbox-20.04

run --keep-empty-lines --separate-stderr "$TOOLBOX" run --distro ubuntu --release 20.04 sh -c 'busctl call \
--system org.freedesktop.systemd1 \
/org/freedesktop/systemd1 \
org.freedesktop.DBus.Properties Get "ss" \
org.freedesktop.systemd1.Manager Version'

assert_success
assert_line --index 0 "$expected_response"

if check_bats_version 1.10.0; then
assert [ ${#lines[@]} -eq 1 ]
else
assert [ ${#lines[@]} -eq 2 ]
fi

# shellcheck disable=SC2154
assert [ ${#stderr_lines[@]} -eq 0 ]
}

0 comments on commit f2881bb

Please sign in to comment.