7
// Test typical New usage.
8
func TestNew(t *testing.T) {
11
t.Fatalf("Unexpected error when creating daemon: %s", err)
14
if daemon.server == nil {
15
t.Error("Daemon dbus server was unexpectedly nil")
18
if daemon.packageManager == nil {
19
t.Errorf("Daemon package manager was unexpectedly nil")
23
// Test that New fails if given an invalid API URL
24
func TestNew_invalidUrl(t *testing.T) {
27
t.Error("Expected an error due to invalid API URL")
31
// Test typical Run usage.
32
func TestDaemonRunStop(t *testing.T) {
33
daemon, err := New("")
35
t.Fatalf("Unexpected error when creating daemon: %s", err)
40
t.Error("Unexpected error while running daemon")
43
// Obtain our own unique name
44
names := daemon.server.Names()
46
t.Errorf("Got %d names, expected at least 1", len(names))
49
// Make sure we're running by making sure we own the name we expect
50
name, err := daemon.server.GetNameOwner(busName)
52
t.Error("Unexpected error while requesting name owner")
55
// Make sure we own that name
57
t.Errorf(`Name owner was "%s", expected the owner to be us ("%s")`, name, names[0])
61
// Test dbus connection failure
62
func TestRun_connectionFailure(t *testing.T) {
63
daemon, err := New("")
65
t.Fatalf("Unexpected error when creating daemon: %s", err)
68
// Use fake server instead of real one
69
daemon.server = &FakeDbusServer{failConnect: true}
73
t.Error("Expected an error due to failure to connect")
77
// Test dbus name request failure
78
func TestRun_nameRequestFailure(t *testing.T) {
79
daemon, err := New("")
81
t.Fatalf("Unexpected error when creating daemon: %s", err)
84
// Use fake server instead of real one
85
daemon.server = &FakeDbusServer{failRequestName: true}
89
t.Error("Expected an error due to failure to request name")
93
// Test dbus name already taken
94
func TestRun_nameTaken(t *testing.T) {
95
daemon, err := New("")
97
t.Fatalf("Unexpected error when creating daemon: %s", err)
100
// Use fake server instead of real one
101
daemon.server = &FakeDbusServer{nameAlreadyTaken: true}
105
t.Error("Expected an error due to name already being taken")
109
// Test dbus introspection export failure
110
func TestRun_introspectionExportFailure(t *testing.T) {
111
daemon, err := New("")
113
t.Fatalf("Unexpected error when creating daemon: %s", err)
116
// Use fake server instead of real one
117
daemon.server = &FakeDbusServer{
119
failSpecificExportInterface: "org.freedesktop.DBus.Introspectable",
124
t.Error("Expected an error due to failure to export")
128
// Test dbus package manager export failure
129
func TestRun_packageManagerExportFailure(t *testing.T) {
130
daemon, err := New("")
132
t.Fatalf("Unexpected error when creating daemon: %s", err)
135
// Use fake server instead of real one
136
daemon.server = &FakeDbusServer{
138
failSpecificExportInterface: interfaceName,
143
t.Error("Expected an error due to failure to export")