aboutsummaryrefslogtreecommitdiffhomepage
path: root/dbus/address_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-07-02 21:52:07 +0900
committerOphestra <cat@gensokyo.uk>2025-07-02 21:52:07 +0900
commit82561d62b66f17c05604e87f18187bb3a91f00d2 (patch)
treec1543f85b4458b7d5cb2cf7b1baa9dee318debfe /dbus/address_test.go
parenteec021cc4b4eb42bc9c8311755826828bfba1996 (diff)
system: move system access packages
These packages loosely belong in the "system" package and "system" provides high level wrappers for all of them. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'dbus/address_test.go')
-rw-r--r--dbus/address_test.go119
1 files changed, 0 insertions, 119 deletions
diff --git a/dbus/address_test.go b/dbus/address_test.go
deleted file mode 100644
index 8b66d141..00000000
--- a/dbus/address_test.go
+++ /dev/null
@@ -1,119 +0,0 @@
-package dbus_test
-
-import (
- "errors"
- "reflect"
- "testing"
-
- "git.gensokyo.uk/security/hakurei/dbus"
-)
-
-func TestParse(t *testing.T) {
- testCases := []struct {
- name string
- addr string
- want []dbus.AddrEntry
- wantErr error
- }{
- {
- name: "simple session unix",
- addr: "unix:path=/run/user/1971/bus",
- want: []dbus.AddrEntry{{
- Method: "unix",
- Values: [][2]string{{"path", "/run/user/1971/bus"}},
- }},
- },
- {
- name: "simple upper escape",
- addr: "debug:name=Test,cat=cute,escaped=%c3%b6",
- want: []dbus.AddrEntry{{
- Method: "debug",
- Values: [][2]string{
- {"name", "Test"},
- {"cat", "cute"},
- {"escaped", "\xc3\xb6"},
- },
- }},
- },
- {
- name: "simple bad escape",
- addr: "debug:name=%",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadValLength,
- EntryPos: 0, EntryVal: []byte("debug:name=%"), PairPos: 0, PairVal: []byte("name=%")},
- },
-
- // upstream test cases
- {
- name: "full address success",
- addr: "unix:path=/tmp/foo;debug:name=test,sliff=sloff;",
- want: []dbus.AddrEntry{
- {Method: "unix", Values: [][2]string{{"path", "/tmp/foo"}}},
- {Method: "debug", Values: [][2]string{{"name", "test"}, {"sliff", "sloff"}}},
- },
- },
- {
- name: "empty address",
- addr: "",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrNoColon,
- EntryVal: []byte{}, PairPos: -1},
- },
- {
- name: "no body",
- addr: "foo",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrNoColon,
- EntryPos: 0, EntryVal: []byte("foo"), PairPos: -1},
- },
- {
- name: "no pair separator",
- addr: "foo:bar",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadPairSep,
- EntryPos: 0, EntryVal: []byte("foo:bar"), PairPos: 0, PairVal: []byte("bar")},
- },
- {
- name: "no pair separator multi pair",
- addr: "foo:bar,baz",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadPairSep,
- EntryPos: 0, EntryVal: []byte("foo:bar,baz"), PairPos: 0, PairVal: []byte("bar")},
- },
- {
- name: "no pair separator single valid pair",
- addr: "foo:bar=foo,baz",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadPairSep,
- EntryPos: 0, EntryVal: []byte("foo:bar=foo,baz"), PairPos: 1, PairVal: []byte("baz")},
- },
- {
- name: "no body single valid address",
- addr: "foo:bar=foo;baz",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrNoColon,
- EntryPos: 1, EntryVal: []byte("baz"), PairPos: -1},
- },
- {
- name: "no key",
- addr: "foo:=foo",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadPairKey,
- EntryPos: 0, EntryVal: []byte("foo:=foo"), PairPos: 0, PairVal: []byte("=foo")},
- },
- {
- name: "no value",
- addr: "foo:foo=",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadPairVal,
- EntryPos: 0, EntryVal: []byte("foo:foo="), PairPos: 0, PairVal: []byte("foo=")},
- },
- {
- name: "no pair separator single valid pair trailing",
- addr: "foo:foo,bar=baz",
- wantErr: &dbus.BadAddressError{Type: dbus.ErrBadPairSep,
- EntryPos: 0, EntryVal: []byte("foo:foo,bar=baz"), PairPos: 0, PairVal: []byte("foo")},
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.name, func(t *testing.T) {
- if got, err := dbus.Parse([]byte(tc.addr)); !errors.Is(err, tc.wantErr) {
- t.Errorf("Parse() error = %v, wantErr %v", err, tc.wantErr)
- } else if tc.wantErr == nil && !reflect.DeepEqual(got, tc.want) {
- t.Errorf("Parse() = %#v, want %#v", got, tc.want)
- }
- })
- }
-}