Skip to content

Commit ed2623a

Browse files
committed
Extends tests for software update resource
1 parent 70c0615 commit ed2623a

File tree

4 files changed

+30
-45
lines changed

4 files changed

+30
-45
lines changed

client/getDevice_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ func NewTestSecureDeviceSimulator(deviceID, deviceName string, ip string) client
6262
SpecificationVersion: "ocf.2.0.5",
6363
ResourceTypes: []string{testTypes.DEVICE_CLOUD, device.ResourceType},
6464
Interfaces: []string{interfaces.OC_IF_R, interfaces.OC_IF_BASELINE},
65+
ModelNumber: "CS-0",
66+
SoftwareVersion: "1.0.1-rc1",
6567
},
6668
IsSecured: true,
6769
Ownership: &doxm.Doxm{

client/getResource_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"github.com/plgd-dev/device/v2/schema/platform"
3636
"github.com/plgd-dev/device/v2/schema/plgdtime"
3737
"github.com/plgd-dev/device/v2/schema/resources"
38+
"github.com/plgd-dev/device/v2/schema/softwareupdate"
3839
"github.com/plgd-dev/device/v2/test"
3940
"github.com/plgd-dev/go-coap/v3/message/codes"
4041
"github.com/stretchr/testify/require"
@@ -212,6 +213,7 @@ func TestClientGetDiscoveryResourceWithBatchInterface(t *testing.T) {
212213
case device.ResourceURI:
213214
case test.TestResourceLightInstanceHref("1"):
214215
case test.TestResourceSwitchesHref:
216+
case softwareupdate.ResourceURI:
215217
default:
216218
require.NoError(t, fmt.Errorf("unknown resource href: %v", v.Body[i].Href()))
217219
}

client/observeResource_test.go

Lines changed: 19 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"github.com/plgd-dev/device/v2/schema/platform"
3636
"github.com/plgd-dev/device/v2/schema/plgdtime"
3737
"github.com/plgd-dev/device/v2/schema/resources"
38+
"github.com/plgd-dev/device/v2/schema/softwareupdate"
3839
"github.com/plgd-dev/device/v2/test"
3940
"github.com/plgd-dev/go-coap/v3/message/codes"
4041
"github.com/stretchr/testify/assert"
@@ -412,6 +413,19 @@ func verifyBatchDiscoveryResponse(t *testing.T, deviceID string, resp coap.Detai
412413
}
413414
}
414415

416+
var expectedFirstBatchResources = []batchResource{
417+
{device.ResourceURI, false},
418+
{platform.ResourceURI, false},
419+
{test.TestResourceLightInstanceHref("1"), false},
420+
{cloud.ResourceURI, false},
421+
{maintenance.ResourceURI, false},
422+
{introspection.ResourceURI, false},
423+
{configuration.ResourceURI, false},
424+
{test.TestResourceSwitchesHref, false},
425+
{plgdtime.ResourceURI, false},
426+
{softwareupdate.ResourceURI, false},
427+
}
428+
415429
func TestObservingDiscoveryResourceWithBatchInterface(t *testing.T) {
416430
testDevice(t, test.DevsimName, func(ctx context.Context, t *testing.T, c *client.Client, deviceID string) {
417431
h := makeObservationHandler()
@@ -423,17 +437,7 @@ func TestObservingDiscoveryResourceWithBatchInterface(t *testing.T) {
423437
err = res(&d)
424438
require.NoError(t, err)
425439
assert.NotEmpty(t, d.Body)
426-
expected := []batchResource{
427-
{device.ResourceURI, false},
428-
{platform.ResourceURI, false},
429-
{test.TestResourceLightInstanceHref("1"), false},
430-
{cloud.ResourceURI, false},
431-
{maintenance.ResourceURI, false},
432-
{introspection.ResourceURI, false},
433-
{configuration.ResourceURI, false},
434-
{test.TestResourceSwitchesHref, false},
435-
{plgdtime.ResourceURI, false},
436-
}
440+
expected := expectedFirstBatchResources
437441
verifyBatchDiscoveryResponse(t, deviceID, d, codes.Content, expected...)
438442
if ETagSupported {
439443
require.NotEmpty(t, d.ETag)
@@ -513,17 +517,7 @@ func TestObserveDiscoveryResourceWithIncrementalChangesOnUpdate(t *testing.T) {
513517
err = res(&d0)
514518
require.NoError(t, err)
515519
assert.NotEmpty(t, d0.Body)
516-
expected := []batchResource{
517-
{device.ResourceURI, false},
518-
{platform.ResourceURI, false},
519-
{test.TestResourceLightInstanceHref("1"), false},
520-
{cloud.ResourceURI, false},
521-
{maintenance.ResourceURI, false},
522-
{introspection.ResourceURI, false},
523-
{configuration.ResourceURI, false},
524-
{test.TestResourceSwitchesHref, false},
525-
{plgdtime.ResourceURI, false},
526-
}
520+
expected := expectedFirstBatchResources
527521
require.NotEmpty(t, d0.ETag)
528522
verifyBatchDiscoveryResponse(t, deviceID, d0, codes.Content, expected...)
529523
etags := make([][]byte, 0, len(d0.Body)-1)
@@ -621,17 +615,7 @@ func TestObserveDiscoveryResourceWithIncrementalChangesOnCreate(t *testing.T) {
621615
err = res(&d0)
622616
require.NoError(t, err)
623617
assert.NotEmpty(t, d0.Body)
624-
expected := []batchResource{
625-
{device.ResourceURI, false},
626-
{platform.ResourceURI, false},
627-
{test.TestResourceLightInstanceHref("1"), false},
628-
{cloud.ResourceURI, false},
629-
{maintenance.ResourceURI, false},
630-
{introspection.ResourceURI, false},
631-
{configuration.ResourceURI, false},
632-
{test.TestResourceSwitchesHref, false},
633-
{plgdtime.ResourceURI, false},
634-
}
618+
expected := expectedFirstBatchResources
635619
require.NotEmpty(t, d0.ETag)
636620
verifyBatchDiscoveryResponse(t, deviceID, d0, codes.Content, expected...)
637621
etags := make([][]byte, 0, len(d0.Body)-1)
@@ -737,18 +721,8 @@ func TestObserveDiscoveryResourceWithIncrementalChangesOnDelete(t *testing.T) {
737721
err = res(&d0)
738722
require.NoError(t, err)
739723
assert.NotEmpty(t, d0.Body)
740-
expected := []batchResource{
741-
{device.ResourceURI, false},
742-
{platform.ResourceURI, false},
743-
{test.TestResourceLightInstanceHref("1"), false},
744-
{cloud.ResourceURI, false},
745-
{maintenance.ResourceURI, false},
746-
{introspection.ResourceURI, false},
747-
{configuration.ResourceURI, false},
748-
{test.TestResourceSwitchesHref, false},
749-
{test.TestResourceSwitchesInstanceHref(switchID), false},
750-
{plgdtime.ResourceURI, false},
751-
}
724+
expected := expectedFirstBatchResources
725+
expected = append(expected, batchResource{test.TestResourceSwitchesInstanceHref(switchID), false})
752726
require.NotEmpty(t, d0.ETag)
753727
verifyBatchDiscoveryResponse(t, deviceID, d0, codes.Content, expected...)
754728
etags := make([][]byte, 0, len(d0.Body)-1)

test/config.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import (
4747
"github.com/plgd-dev/device/v2/schema/resources"
4848
"github.com/plgd-dev/device/v2/schema/roles"
4949
"github.com/plgd-dev/device/v2/schema/sdi"
50+
"github.com/plgd-dev/device/v2/schema/softwareupdate"
5051
"github.com/plgd-dev/device/v2/schema/sp"
5152
testTypes "github.com/plgd-dev/device/v2/test/resource/types"
5253
"github.com/plgd-dev/kit/v2/security"
@@ -118,6 +119,12 @@ func init() {
118119
ResourceTypes: []string{collection.ResourceType},
119120
Interfaces: []string{interfaces.OC_IF_LL, interfaces.OC_IF_CREATE, interfaces.OC_IF_B, interfaces.OC_IF_BASELINE},
120121
},
122+
123+
{
124+
Href: softwareupdate.ResourceURI,
125+
ResourceTypes: []string{softwareupdate.ResourceType},
126+
Interfaces: []string{interfaces.OC_IF_RW, interfaces.OC_IF_BASELINE},
127+
},
121128
}
122129

123130
TestDevsimPrivateResources = []schema.ResourceLink{

0 commit comments

Comments
 (0)