diff --git a/test/system/211-dbus.bats b/test/system/211-dbus.bats index 2c15a2c16..ef0f4a31b 100644 --- a/test/system/211-dbus.bats +++ b/test/system/211-dbus.bats @@ -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 \ @@ -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 \ @@ -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 ] +}