X-Git-Url: https://git.giacomolli.uk/onehouse/blobdiff_plain/9ea825d64a3efaf8679990ea652ffaad0615c24c..10c345f1d112061688409cef7710b4ac14a966aa:/protocol/address_test.go?ds=sidebyside diff --git a/protocol/address_test.go b/protocol/address_test.go index f6600c8..6325b62 100644 --- a/protocol/address_test.go +++ b/protocol/address_test.go @@ -20,21 +20,66 @@ func TestAddressRoundTrip(t *testing.T) { target string suffix string }{ - {name: "routes metadata", kind: Descriptor, suffix: "descriptor"}, - {name: "routes reachability", kind: Availability, suffix: "availability"}, - {name: "routes retained values", kind: Reported, target: "relay.1", suffix: "reported/relay.1"}, - {name: "routes samples", kind: Telemetry, target: "power", suffix: "telemetry/power"}, - {name: "routes occurrences", kind: Event, target: "press", suffix: "events/press"}, - {name: "routes requests", kind: Command, target: "relay", suffix: "commands/relay"}, - {name: "routes ordered requests", kind: CommandBatch, suffix: "commands/$batch"}, - {name: "routes outcomes", kind: Result, target: commandID, suffix: "results/" + commandID}, - {name: "routes hub diagnostics", kind: HubStatus, suffix: "status"}, + { + name: "routes metadata", + kind: Descriptor, + suffix: "descriptor", + }, + { + name: "routes reachability", + kind: Availability, + suffix: "availability", + }, + { + name: "routes retained values", + kind: Reported, + target: "relay.1", + suffix: "reported/relay.1", + }, + { + name: "routes samples", + kind: Telemetry, + target: "power", + suffix: "telemetry/power", + }, + { + name: "routes occurrences", + kind: Event, + target: "press", + suffix: "events/press", + }, + { + name: "routes requests", + kind: Command, + target: "relay", + suffix: "commands/relay", + }, + { + name: "routes ordered requests", + kind: CommandBatch, + suffix: "commands/$batch", + }, + { + name: "routes outcomes", + kind: Result, + target: commandID, + suffix: "results/" + commandID, + }, + { + name: "routes hub diagnostics", + kind: HubStatus, + suffix: "status", + }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - address := Address{Kind: tc.kind, ID: deviceID, Target: tc.target} - topic, err := address.Topic() + address := Address{ + Kind: tc.kind, + ID: deviceID, + Target: tc.target, + } + topic, err := address.topic() require.NoError(t, err) expected := Root + "/devices/" + deviceID + "/" + tc.suffix @@ -44,7 +89,7 @@ func TestAddressRoundTrip(t *testing.T) { require.Equal(t, expected, topic) - parsed, err := ParseTopic(topic) + parsed, err := parseTopic(topic) require.NoError(t, err) require.Equal(t, address, parsed) }) @@ -68,7 +113,7 @@ func TestParseTopicRejectsMalformedAddresses(t *testing.T) { } for _, tc := range testCases { - _, err := ParseTopic(tc) + _, err := parseTopic(tc) require.Error(t, err, tc) } } @@ -76,7 +121,10 @@ func TestParseTopicRejectsMalformedAddresses(t *testing.T) { func TestSubscriptionsSelectOnlyTheirDirection(t *testing.T) { filters := CoreSubscriptions() require.Len(t, filters, 6) - require.Equal(t, Subscription{Filter: Root + "/devices/+/telemetry/+", QoS: 0}, filters[3]) + require.Equal(t, Subscription{ + Filter: Root + "/devices/+/telemetry/+", + QoS: 0, + }, filters[3]) for index, filter := range filters { require.NotContains(t, filter.Filter, "commands")