feat(sense): establish M1 offline intake skeleton
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package device
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestDeviceRejectsCredentialsInEndpointReference(t *testing.T) {
|
||||
t.Parallel()
|
||||
value := validVideoDevice()
|
||||
value.EndpointRef = "http://" + "user" + ":" + "redacted" + "@camera.invalid/onvif"
|
||||
if err := value.Validate(); err == nil {
|
||||
t.Fatal("expected endpoint credentials to be rejected")
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeviceRejectsUnsafeMediaPath(t *testing.T) {
|
||||
t.Parallel()
|
||||
value := validVideoDevice()
|
||||
value.PathName = "tenant/../another-camera"
|
||||
if err := value.Validate(); err == nil {
|
||||
t.Fatal("expected unsafe path name to be rejected")
|
||||
}
|
||||
}
|
||||
|
||||
func validVideoDevice() Device {
|
||||
return Device{
|
||||
ID: "camera", TenantID: "tenant", SiteID: "site", SerialNumber: "serial", Name: "Camera",
|
||||
Modality: ModalityVideo, Capabilities: []Capability{CapabilityVideoCapture},
|
||||
DesiredState: DesiredEnabled, ActualState: ActualPending,
|
||||
EndpointRef: "onvif://camera", PathName: "sense/tenant/site/camera",
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user