def testBulkDeleteThatDoesntExist(self, deviceType):
     device1Id = DeviceUid(typeId=deviceType.id, deviceId=str(uuid.uuid4()))
     device2Id = DeviceUid(typeId=deviceType.id, deviceId=str(uuid.uuid4()))
     
     assert_false(device1Id.deviceId in deviceType.devices)
     assert_false(device2Id.deviceId in deviceType.devices)
     
     devicesToDelete = [device1Id, device2Id]
     self.registry.devices.delete(devicesToDelete)
     
     assert_false(device1Id.deviceId in deviceType.devices)
     assert_false(device2Id.deviceId in deviceType.devices)
 def testBulkAddAndDelete(self, deviceType):
     device1Id = DeviceUid(typeId=deviceType.id, deviceId=str(uuid.uuid4()))
     device2Id = DeviceUid(typeId=deviceType.id, deviceId=str(uuid.uuid4()))
     
     devicesToRegister = [device1Id, device2Id]
     self.registry.devices.create(devicesToRegister)
     
     assert_true(device1Id.deviceId in deviceType.devices)
     assert_true(device2Id.deviceId in deviceType.devices)
 
     self.registry.devices.delete(devicesToRegister)
     assert_false(device1Id.deviceId in deviceType.devices)
     assert_false(device2Id.deviceId in deviceType.devices)
    def testBulkDeleteThatDoesntExist(self):
        device1Id = DeviceUid(typeId="test", deviceId=str(uuid.uuid4()))
        device2Id = DeviceUid(typeId="test", deviceId=str(uuid.uuid4()))

        myDeviceType = self.registry.devicetypes["test"]
        assert_false(device1Id.deviceId in myDeviceType.devices)
        assert_false(device2Id.deviceId in myDeviceType.devices)

        devicesToDelete = [device1Id, device2Id]
        self.registry.devices.delete(devicesToDelete)

        assert_false(device1Id.deviceId in myDeviceType.devices)
        assert_false(device2Id.deviceId in myDeviceType.devices)
 def testBulkAddAndDelete(self):
     device1Id = DeviceUid("test", str(uuid.uuid4()))
     device2Id = DeviceUid("test", str(uuid.uuid4()))
     
     devicesToRegister = [device1Id, device2Id]
     self.registry.devices.create(devicesToRegister)
     
     myDeviceType = self.registry.devicetypes["test"]
     assert_true(device1Id.deviceId in myDeviceType.devices)
     assert_true(device2Id.deviceId in myDeviceType.devices)
 
     self.registry.devices.delete(devicesToRegister)
     assert_false(device1Id.deviceId in myDeviceType.devices)
     assert_false(device2Id.deviceId in myDeviceType.devices)
Ejemplo n.º 5
0
 def get(self, deviceUid, eventId):
     """
     Retrieves the last cached message for specified event from a specific device.
     """
     
     if not isinstance(deviceUid, DeviceUid) and isinstance(deviceUid, dict):
         deviceUid = DeviceUid(**deviceUid)
     
     url = 'api/v0002/device/types/%s/devices/%s/events/%s' % (deviceUid.typeId, deviceUid.deviceId, eventId)
     r = self._apiClient.get(url)
     
     if r.status_code == 200:
         return LastEvent(**r.json())
     else:
         raise ApiException(r)
Ejemplo n.º 6
0
 def getAll(self, deviceUid):
     """
     Retrieves a list of the last cached message for all events from a specific device.
     """
     
     if not isinstance(deviceUid, DeviceUid) and isinstance(deviceUid, dict):
         deviceUid = DeviceUid(**deviceUid)
     
     url = 'api/v0002/device/types/%s/devices/%s/events' % (deviceUid.typeId, deviceUid.deviceId)
     r = self._apiClient.get(url)
     
     if r.status_code == 200:
         events = []
         for event in r.json():
             events.append(LastEvent(**event))
         return events
     else:
         raise ApiException(r)
Ejemplo n.º 7
0
    def testLEC(self):
        device1Id = DeviceUid(typeId="test", deviceId=str(uuid.uuid4()))

        registeredDevices = self.registry.devices.create(device1Id)

        myDeviceType = self.registry.devicetypes["test"]
        assert_true(device1Id.deviceId in myDeviceType.devices)

        # Connect the device and send an event
        deviceOptions = {
            "org": os.getenv("WIOTP_ORG_ID"),
            "type": device1Id.typeId,
            "id": device1Id.deviceId,
            "auth-method": "token",
            "auth-token": registeredDevices[0]["authToken"]
        }

        deviceClient = ibmiotf.device.Client(deviceOptions)
        deviceClient.connect()
        deviceClient.publishEvent(event="test1",
                                  msgFormat="json",
                                  data={"foo": "bar1"},
                                  qos=1)
        deviceClient.publishEvent(event="test2",
                                  msgFormat="json",
                                  data={"foo": "bar2"},
                                  qos=1)
        deviceClient.disconnect()

        # Check the LEC
        lastEvent = self.lec.get(device1Id, "test1")

        assert_equals(lastEvent.format, "json")
        assert_equals(lastEvent.deviceId, device1Id.deviceId)
        assert_equals(lastEvent.typeId, device1Id.typeId)
        assert_true(isinstance(lastEvent.timestamp, datetime))

        # Base64 decode the payload from the lEC and compare to the json dump of the data we sent
        decodedPayload = json.loads(
            base64.b64decode(lastEvent.payload).decode('utf-8'))
        assert_true("foo" in decodedPayload)
        assert_equals(decodedPayload["foo"], "bar1")

        lastEvents = self.lec.getAll(device1Id)

        assert_equals(len(lastEvents), 2)

        # Results should be sorted by eventId ... "test1" event should be lsited first
        assert_equals(lastEvents[0].format, "json")
        assert_equals(lastEvents[0].deviceId, device1Id.deviceId)
        assert_equals(lastEvents[0].typeId, device1Id.typeId)
        decodedPayload1 = json.loads(
            base64.b64decode(lastEvents[0].payload).decode('utf-8'))
        assert_true("foo" in decodedPayload1)
        assert_equals(decodedPayload1["foo"], "bar1")

        assert_equals(lastEvents[1].format, "json")
        assert_equals(lastEvents[1].deviceId, device1Id.deviceId)
        assert_equals(lastEvents[1].typeId, device1Id.typeId)
        decodedPayload2 = json.loads(
            base64.b64decode(lastEvents[1].payload).decode('utf-8'))
        assert_true("foo" in decodedPayload2)
        assert_equals(decodedPayload2["foo"], "bar2")

        self.registry.devices.delete(device1Id)
        assert_false(device1Id.deviceId in myDeviceType.devices)