def testAttachOne(self):
     self.assertEquals(0, len(DeviceIndividual.find()))
     DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(1, len(DeviceIndividual.find()))
     self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
     self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
     self.assertEquals("2015-09-29T14:00:00+03:00", DeviceIndividual.get_active_attachment_of_individual(self.I.id)["attached"])
     self.assertEquals("2015-09-29T14:00:00+03:00", DeviceIndividual.get_active_attachment_of_individual(self.I.id)["attached"])
    def testAttachDetachTwo(self):
        self.assertEquals(0, len(DeviceIndividual.find()))

        DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
        DeviceIndividual.attach(self.D2.id, self.I2.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(2, len(DeviceIndividual.find()))
        self.assertEquals(self.I.id, DeviceIndividual.get_active_attachment_of_device(self.D.id)["individualID"])
        self.assertEquals(self.D.id, DeviceIndividual.get_active_attachment_of_individual(self.I.id)["deviceID"])
        self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D2.id)["individualID"])
        self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)["deviceID"])

        DeviceIndividual.detach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_device(self.D.id))
        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_individual(self.I.id))
        self.assertEquals(self.I2.id, DeviceIndividual.get_active_attachment_of_device(self.D2.id)["individualID"])
        self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I2.id)["deviceID"])

        DeviceIndividual.detach(self.D2.id, self.I2.id, "2015-09-29T14:00:00+03:00")

        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_device(self.D2.id))
        self.assertEquals(None, DeviceIndividual.get_active_attachment_of_individual(self.I2.id))
        self.assertEquals(2, len(DeviceIndividual.find()))
 def testDeletedDevicesDontStopNewAttachments(self):
     DeviceIndividual.attach(self.D.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.D.delete();
     DeviceIndividual.attach(self.D2.id, self.I.id, "2015-09-29T14:00:00+03:00")
     self.assertEquals(self.D2.id, DeviceIndividual.get_active_attachment_of_individual(self.I.id)['deviceID'])