ducky/devices

Paddy 2015-11-14 Parent:600326d50e74

5:408abf6e48d3 Go to Latest

ducky/devices/device_type.go

Add more interface tests. Add a test to ensure that, when retrieving Devices, no error is returned if a Device cannot be found. Add a test to ensure that, when adding Devices, adding a Device that shares an ID with a Device already in the Storer returns an ErrDeviceAlreadyExists error. This involved creating the ErrDeviceAlreadyExists error, and modifying the in-memory implementation to properly return it. Fix a go vet issue in our previous test, wherein we forgot to pass the storer to a log message, resulting in a mismatch between the number of variables expected and the number of variables provided. Rename our tests to be better reflective of what they actually test.

History
paddy@1 1 package devices
paddy@1 2
paddy@1 3 const (
paddy@1 4 // TypeAndroidTablet is used to designate a Device as an
paddy@1 5 // Android tablet, usually for display purposes.
paddy@1 6 TypeAndroidTablet = DeviceType("android_tablet")
paddy@1 7 // TypeAndroidPhone is used to designate a Device as an
paddy@1 8 // Android phone, usually for display purposes.
paddy@1 9 TypeAndroidPhone = DeviceType("android_phone")
paddy@1 10 // TypeChromeExtension is used to designate a device as a
paddy@1 11 // Chrome extension, usually for display purposes.
paddy@1 12 TypeChromeExtension = DeviceType("chrome_extension")
paddy@1 13 )
paddy@1 14
paddy@1 15 // DeviceType is an enum specifying which type of Device it is. Usually,
paddy@1 16 // this is something like `android_phone` or `android_tablet`.
paddy@1 17 type DeviceType string
paddy@1 18
paddy@1 19 // IsValidDeviceType validates the DeviceType against a list of
paddy@1 20 // DeviceTypes that have been whitelisted as "valid".
paddy@1 21 func IsValidDeviceType(d DeviceType) bool {
paddy@1 22 switch d {
paddy@1 23 case TypeAndroidTablet:
paddy@1 24 return true
paddy@1 25 case TypeAndroidPhone:
paddy@1 26 return true
paddy@1 27 case TypeChromeExtension:
paddy@1 28 return true
paddy@1 29 default:
paddy@1 30 return false
paddy@1 31 }
paddy@1 32 }