]> git.giacomolli.uk - onehouse/blobdiff - protocol/address_test.go
Keep topic and envelope construction private
[onehouse] / protocol / address_test.go
index f6600c8885d7b8dfe349c26f035bc198b4753db1..6325b62e3b1fb16f2bdbd2433aa0d03547c95509 100644 (file)
@@ -20,21 +20,66 @@ func TestAddressRoundTrip(t *testing.T) {
                target string
                suffix string
        }{
                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) {
        }
 
        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
                        require.NoError(t, err)
 
                        expected := Root + "/devices/" + deviceID + "/" + tc.suffix
@@ -44,7 +89,7 @@ func TestAddressRoundTrip(t *testing.T) {
 
                        require.Equal(t, expected, topic)
 
 
                        require.Equal(t, expected, topic)
 
-                       parsed, err := ParseTopic(topic)
+                       parsed, err := parseTopic(topic)
                        require.NoError(t, err)
                        require.Equal(t, address, parsed)
                })
                        require.NoError(t, err)
                        require.Equal(t, address, parsed)
                })
@@ -68,7 +113,7 @@ func TestParseTopicRejectsMalformedAddresses(t *testing.T) {
        }
 
        for _, tc := range testCases {
        }
 
        for _, tc := range testCases {
-               _, err := ParseTopic(tc)
+               _, err := parseTopic(tc)
                require.Error(t, err, 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)
 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")
 
        for index, filter := range filters {
                require.NotContains(t, filter.Filter, "commands")