aboutsummaryrefslogtreecommitdiffhomepage
path: root/dbus
diff options
context:
space:
mode:
authorOphestra Umiker <cat@ophivana.moe>2024-09-28 19:19:31 +0900
committerOphestra Umiker <cat@ophivana.moe>2024-09-28 19:19:31 +0900
commit0e7849fac2fa42bc23dc97e419d8c00b06c8db37 (patch)
tree712c6b828e92c2f80dc3bee22f850b8796b61fce /dbus
parent342c66aae8d1ba558a1152cf190199ac28f2762e (diff)
dbus: add more test cases
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'dbus')
-rw-r--r--dbus/config_test.go13
-rw-r--r--dbus/samples_test.go79
-rw-r--r--dbus/testdata/moe.ophivana.CrashTestDummy.json21
-rw-r--r--dbus/testdata/org.chromium.Chromium+.json1
-rw-r--r--dbus/testdata/org.chromium.Chromium.json6
5 files changed, 104 insertions, 16 deletions
diff --git a/dbus/config_test.go b/dbus/config_test.go
index f92fe568..63966592 100644
--- a/dbus/config_test.go
+++ b/dbus/config_test.go
@@ -1,6 +1,8 @@
package dbus_test
import (
+ "errors"
+ "os"
"path"
"reflect"
"slices"
@@ -40,12 +42,17 @@ func TestNewConfigFromFile(t *testing.T) {
t.Run(name.String(), func(t *testing.T) {
got, err := dbus.NewConfigFromFile(samplePath)
- if err != nil {
- t.Errorf("NewConfigFromFile(%q) error = %v",
+ if errors.Is(err, os.ErrNotExist) != tc.wantErrF {
+ t.Errorf("NewConfigFromFile(%q) error = %v, wantErrF %v",
samplePath,
- err)
+ err, tc.wantErrF)
return
}
+
+ if tc.wantErrF {
+ return
+ }
+
if !tc.wantErr && !reflect.DeepEqual(got, tc.c) {
t.Errorf("NewConfigFromFile(%q) got = %v, want %v",
samplePath,
diff --git a/dbus/samples_test.go b/dbus/samples_test.go
index 36a8c9fc..b8873932 100644
--- a/dbus/samples_test.go
+++ b/dbus/samples_test.go
@@ -9,14 +9,16 @@ import (
var samples = []dbusTestCase{
{
"org.chromium.Chromium", &dbus.Config{
- See: nil,
- Talk: []string{"org.freedesktop.Notifications", "org.freedesktop.FileManager1", "org.freedesktop.ScreenSaver"},
- Own: []string{"org.chromium.Chromium.*", "org.mpris.MediaPlayer2.org.chromium.Chromium.*", "org.mpris.MediaPlayer2.chromium.*"},
+ See: nil,
+ Talk: []string{"org.freedesktop.Notifications", "org.freedesktop.FileManager1", "org.freedesktop.ScreenSaver",
+ "org.freedesktop.secrets", "org.kde.kwalletd5", "org.kde.kwalletd6", "org.gnome.SessionManager"},
+ Own: []string{"org.chromium.Chromium.*", "org.mpris.MediaPlayer2.org.chromium.Chromium.*",
+ "org.mpris.MediaPlayer2.chromium.*"},
Call: map[string]string{"org.freedesktop.portal.*": "*"},
Broadcast: map[string]string{"org.freedesktop.portal.*": "@/org/freedesktop/portal/*"},
Log: false,
Filter: true,
- }, false,
+ }, false, false,
[2]string{"unix:path=/run/user/1971/bus", "/tmp/fortify.1971/12622d846cc3fe7b4c10359d01f0eb47/bus"},
[]string{
"unix:path=/run/user/1971/bus",
@@ -25,6 +27,10 @@ var samples = []dbusTestCase{
"--talk=org.freedesktop.Notifications",
"--talk=org.freedesktop.FileManager1",
"--talk=org.freedesktop.ScreenSaver",
+ "--talk=org.freedesktop.secrets",
+ "--talk=org.kde.kwalletd5",
+ "--talk=org.kde.kwalletd6",
+ "--talk=org.gnome.SessionManager",
"--own=org.chromium.Chromium.*",
"--own=org.mpris.MediaPlayer2.org.chromium.Chromium.*",
"--own=org.mpris.MediaPlayer2.chromium.*",
@@ -35,17 +41,18 @@ var samples = []dbusTestCase{
{
"org.chromium.Chromium+", &dbus.Config{
See: nil,
- Talk: []string{"org.freedesktop.Avahi", "org.freedesktop.UPower"},
+ Talk: []string{"org.bluez", "org.freedesktop.Avahi", "org.freedesktop.UPower"},
Own: nil,
Call: nil,
Broadcast: nil,
Log: false,
Filter: true,
- }, false,
+ }, false, false,
[2]string{"unix:path=/run/dbus/system_bus_socket", "/tmp/fortify.1971/12622d846cc3fe7b4c10359d01f0eb47/system_bus_socket"},
[]string{"unix:path=/run/dbus/system_bus_socket",
"/tmp/fortify.1971/12622d846cc3fe7b4c10359d01f0eb47/system_bus_socket",
"--filter",
+ "--talk=org.bluez",
"--talk=org.freedesktop.Avahi",
"--talk=org.freedesktop.UPower",
},
@@ -60,7 +67,7 @@ var samples = []dbusTestCase{
Broadcast: map[string]string{"org.freedesktop.portal.*": "@/org/freedesktop/portal/*"},
Log: false,
Filter: true,
- }, false,
+ }, false, false,
[2]string{"unix:path=/run/user/1971/bus", "/tmp/fortify.1971/34c24f16a0d791d28835ededaf446033/bus"},
[]string{
"unix:path=/run/user/1971/bus",
@@ -73,14 +80,62 @@ var samples = []dbusTestCase{
"--call=org.freedesktop.portal.*=*",
"--broadcast=org.freedesktop.portal.*=@/org/freedesktop/portal/*"},
},
+
+ {
+ "moe.ophivana.CrashTestDummy", &dbus.Config{
+ See: []string{"moe.ophivana.CrashTestDummy1"},
+ Talk: []string{"org.freedesktop.Notifications"},
+ Own: []string{"moe.ophivana.CrashTestDummy.*", "org.mpris.MediaPlayer2.moe.ophivana.CrashTestDummy.*"},
+ Call: map[string]string{"org.freedesktop.portal.*": "*"},
+ Broadcast: map[string]string{"org.freedesktop.portal.*": "@/org/freedesktop/portal/*"},
+ Log: true,
+ Filter: true,
+ }, false, false,
+ [2]string{"unix:path=/run/user/1971/bus", "/tmp/fortify.1971/5da7845287a936efbc2fa75d7d81e501/bus"},
+ []string{
+ "unix:path=/run/user/1971/bus",
+ "/tmp/fortify.1971/5da7845287a936efbc2fa75d7d81e501/bus",
+ "--filter",
+ "--see=moe.ophivana.CrashTestDummy1",
+ "--talk=org.freedesktop.Notifications",
+ "--own=moe.ophivana.CrashTestDummy.*",
+ "--own=org.mpris.MediaPlayer2.moe.ophivana.CrashTestDummy.*",
+ "--call=org.freedesktop.portal.*=*",
+ "--broadcast=org.freedesktop.portal.*=@/org/freedesktop/portal/*",
+ "--log"},
+ },
+ {
+ "moe.ophivana.CrashTestDummy1", &dbus.Config{
+ See: []string{"moe.ophivana.CrashTestDummy"},
+ Talk: []string{"org.freedesktop.Notifications"},
+ Own: []string{"moe.ophivana.CrashTestDummy1.*", "org.mpris.MediaPlayer2.moe.ophivana.CrashTestDummy1.*"},
+ Call: map[string]string{"org.freedesktop.portal.*": "*"},
+ Broadcast: map[string]string{"org.freedesktop.portal.*": "@/org/freedesktop/portal/*"},
+ Log: true,
+ Filter: true,
+ }, false, true,
+ [2]string{"unix:path=/run/user/1971/bus", "/tmp/fortify.1971/5da7845287a936efbc2fa75d7d81e501/bus"},
+ []string{
+ "unix:path=/run/user/1971/bus",
+ "/tmp/fortify.1971/5da7845287a936efbc2fa75d7d81e501/bus",
+ "--filter",
+ "--see=moe.ophivana.CrashTestDummy",
+ "--talk=org.freedesktop.Notifications",
+ "--own=moe.ophivana.CrashTestDummy1.*",
+ "--own=org.mpris.MediaPlayer2.moe.ophivana.CrashTestDummy1.*",
+ "--call=org.freedesktop.portal.*=*",
+ "--broadcast=org.freedesktop.portal.*=@/org/freedesktop/portal/*",
+ "--log"},
+ },
}
type dbusTestCase struct {
- id string
- c *dbus.Config
- wantErr bool
- bus [2]string
- want []string
+ id string
+ c *dbus.Config
+ wantErr bool
+ wantErrF bool
+ bus [2]string
+ want []string
}
var (
diff --git a/dbus/testdata/moe.ophivana.CrashTestDummy.json b/dbus/testdata/moe.ophivana.CrashTestDummy.json
new file mode 100644
index 00000000..4943be21
--- /dev/null
+++ b/dbus/testdata/moe.ophivana.CrashTestDummy.json
@@ -0,0 +1,21 @@
+{
+ "see": [
+ "moe.ophivana.CrashTestDummy1"
+ ],
+ "talk":[
+ "org.freedesktop.Notifications"
+ ],
+ "own":[
+ "moe.ophivana.CrashTestDummy.*",
+ "org.mpris.MediaPlayer2.moe.ophivana.CrashTestDummy.*"
+ ],
+ "call":{
+ "org.freedesktop.portal.*":"*"
+ },
+ "broadcast":{
+ "org.freedesktop.portal.*":"@/org/freedesktop/portal/*"
+ },
+
+ "log": true,
+ "filter":true
+}
diff --git a/dbus/testdata/org.chromium.Chromium+.json b/dbus/testdata/org.chromium.Chromium+.json
index 977c26f5..0a27d719 100644
--- a/dbus/testdata/org.chromium.Chromium+.json
+++ b/dbus/testdata/org.chromium.Chromium+.json
@@ -1,5 +1,6 @@
{
"talk":[
+ "org.bluez",
"org.freedesktop.Avahi",
"org.freedesktop.UPower"
],
diff --git a/dbus/testdata/org.chromium.Chromium.json b/dbus/testdata/org.chromium.Chromium.json
index 8b930236..be027f39 100644
--- a/dbus/testdata/org.chromium.Chromium.json
+++ b/dbus/testdata/org.chromium.Chromium.json
@@ -2,7 +2,11 @@
"talk":[
"org.freedesktop.Notifications",
"org.freedesktop.FileManager1",
- "org.freedesktop.ScreenSaver"
+ "org.freedesktop.ScreenSaver",
+ "org.freedesktop.secrets",
+ "org.kde.kwalletd5",
+ "org.kde.kwalletd6",
+ "org.gnome.SessionManager"
],
"own":[
"org.chromium.Chromium.*",