def testTimeout(self): # the test will have to be re-writen if the scenario changes self.assertEqual(28, len(GOOD_SCENARIO)) for i in range(len(GOOD_SCENARIO) + 1): d = MyDongleWithTimeout(GOOD_SCENARIO, i) c = FitbitClient(d) if i < 1: self.assertFalse(c.disconnect(), i) continue self.assertTrue(c.disconnect()) if i < 4: self.assertFalse(c.getDongleInfo(), i) continue self.assertTrue(c.getDongleInfo()) ts = [t for t in c.discover(MyUUID())] if i < 6: self.assertEqual([], ts, i) continue self.assertEqual(1, len(ts), i) self.assertEqual(ts[0].id, [0, 0, 42, 0, 0, 0]) if i < 12: self.assertFalse(c.establishLink(ts[0]), i) continue self.assertTrue(c.establishLink(ts[0]), i) if i < 13: self.assertFalse(c.toggleTxPipe(True), i) continue self.assertTrue(c.toggleTxPipe(True)) if i < 15: self.assertFalse(c.initializeAirlink(ts[0])) continue self.assertTrue(c.initializeAirlink(ts[0])) if i < 18: self.assertEqual(None, c.getDump()) continue dump = c.getDump() self.assertFalse(dump is None) self.assertEqual(dump.data, [0x26, 2, 0, 0, 0, 0, 0]) if i < 22: self.assertFalse( c.uploadResponse((0x26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))) continue self.assertTrue( c.uploadResponse((0x26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))) if i < 23: self.assertFalse(c.terminateAirlink()) continue self.assertTrue(c.terminateAirlink()) if i < 24: self.assertFalse(c.toggleTxPipe(False)) continue self.assertTrue(c.toggleTxPipe(False)) if i < 28: self.assertFalse(c.ceaseLink()) continue self.assertTrue(c.ceaseLink()) self.assertEqual(len(GOOD_SCENARIO), i)
def testTimeout(self): # the test will have to be re-writen if the scenario changes self.assertEqual(28, len(GOOD_SCENARIO)) for i in range(len(GOOD_SCENARIO) + 1): d = MyDongleWithTimeout(GOOD_SCENARIO, i) c = FitbitClient(d) if i < 1: self.assertFalse(c.disconnect(), i) continue self.assertTrue(c.disconnect()) if i < 4: self.assertFalse(c.getDongleInfo(), i) continue self.assertTrue(c.getDongleInfo()) ts = [t for t in c.discover(MyUUID())] if i < 6: self.assertEqual([], ts, i) continue self.assertEqual(1, len(ts), i) self.assertEqual(ts[0].id, [0,0,42,0,0,0]) if i < 12: self.assertFalse(c.establishLink(ts[0]), i) continue self.assertTrue(c.establishLink(ts[0]), i) if i < 13: self.assertFalse(c.toggleTxPipe(True), i) continue self.assertTrue(c.toggleTxPipe(True)) if i < 15: self.assertFalse(c.initializeAirlink(ts[0])) continue self.assertTrue(c.initializeAirlink(ts[0])) if i < 18: self.assertEqual(None, c.getDump()) continue dump = c.getDump() self.assertFalse(dump is None) self.assertEqual(dump.data, [0x26, 2, 0,0,0,0,0]) if i < 22: self.assertFalse(c.uploadResponse((0x26, 2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))) continue self.assertTrue(c.uploadResponse((0x26, 2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))) if i < 23: self.assertFalse(c.terminateAirlink()) continue self.assertTrue(c.terminateAirlink()) if i < 24: self.assertFalse(c.toggleTxPipe(False)) continue self.assertTrue(c.toggleTxPipe(False)) if i < 28: self.assertFalse(c.ceaseLink()) continue self.assertTrue(c.ceaseLink()) self.assertEqual(len(GOOD_SCENARIO), i)
def testestablishLinkExNotOk(self): """ When our version test is wrong """ global FitbitClient FitbitClient = type('FitbitClient', (MyDongle, ), dict(FitbitClient.__dict__)) c = FitbitClient([ (4, 0xff, 2, 3), (0x20, 1, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6C, 0x69, 0x73, 0x68, 0x4C, 0x69, 0x6E, 0x6B, 0x45, 0x78, 0x20, 0x63, 0x61, 0x6C, 0x6C, 0x65, 0x64, 0x2E, 0x2E, 0x2E, 0), (3, 4, 0), (0x20, 1, 0x47, 0x41, 0x50, 0x5F, 0x4C, 0x49, 0x4E, 0x4B, 0x5F, 0x45, 0x53, 0x54, 0x41, 0x42, 0x4C, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5F, 0x45, 0x56, 0x45, 0x4E, 0x54, 0), (2, 7), ]) c.major = 169 c.minor = 78 t = MyTracker() t.id = bytearray([0, 0, 42, 0, 0, 43]) t.addrType = 1 t.serviceUUID = 0xa005 self.assertTrue(c.establishLink(t)) # verify the value is set for later tests self.assertTrue(c.useEstablishLinkEx)
def testOk(self): d = MyDongle(GOOD_SCENARIO) c = FitbitClient(d) self.assertTrue(c.disconnect()) self.assertTrue(c.getDongleInfo()) ts = [t for t in c.discover(MyUUID())] self.assertEqual(1, len(ts)) self.assertEqual(ts[0].id, [0,0,42,0,0,0]) self.assertTrue(c.establishLink(ts[0])) self.assertTrue(c.toggleTxPipe(True)) self.assertTrue(c.initializeAirlink(ts[0])) dump = c.getDump() self.assertFalse(dump is None) self.assertEqual(dump.data, [0x26, 2, 0,0,0,0,0]) self.assertTrue(c.uploadResponse((0x26, 2, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))) self.assertTrue(c.terminateAirlink()) self.assertTrue(c.toggleTxPipe(False)) self.assertTrue(c.ceaseLink())
def testestablishLinkExOk(self): global FitbitClient FitbitClient = type('FitbitClient', (MyDongle, ), dict(FitbitClient.__dict__)) c = FitbitClient([ (0x20, 1, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6C, 0x69, 0x73, 0x68, 0x4C, 0x69, 0x6E, 0x6B, 0x45, 0x78, 0x20, 0x63, 0x61, 0x6C, 0x6C, 0x65, 0x64, 0x2E, 0x2E, 0x2E, 0x00), (3, 4, 0), (0x20, 1, 0x47, 0x41, 0x50, 0x5F, 0x4C, 0x49, 0x4E, 0x4B, 0x5F, 0x45, 0x53, 0x54, 0x41, 0x42, 0x4C, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5F, 0x45, 0x56, 0x45, 0x4E, 0x54, 0), (2, 7), ]) c.useEstablishLinkEx = True t = MyTracker() t.id = bytearray([0, 0, 42, 0, 0, 43]) t.addrType = 1 self.assertTrue(c.establishLink(t))
def testOk(self): d = MyDongle(GOOD_SCENARIO) c = FitbitClient(d) self.assertTrue(c.disconnect()) self.assertTrue(c.getDongleInfo()) ts = [t for t in c.discover(MyUUID())] self.assertEqual(1, len(ts)) self.assertEqual(ts[0].id, [0, 0, 42, 0, 0, 0]) self.assertTrue(c.establishLink(ts[0])) self.assertTrue(c.toggleTxPipe(True)) self.assertTrue(c.initializeAirlink(ts[0])) dump = c.getDump() self.assertFalse(dump is None) self.assertEqual(dump.data, [0x26, 2, 0, 0, 0, 0, 0]) self.assertTrue( c.uploadResponse((0x26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))) self.assertTrue(c.terminateAirlink()) self.assertTrue(c.toggleTxPipe(False)) self.assertTrue(c.ceaseLink())
def testOk(self): global FitbitClient FitbitClient = type('FitbitClient', (MyDongle, ), dict(FitbitClient.__dict__)) c = FitbitClient(GOOD_SCENARIO) self.assertTrue(c.disconnect()) self.assertTrue(c.getDongleInfo()) ts = [t for t in c.discover(MyUUID())] self.assertEqual(1, len(ts)) self.assertEqual(ts[0].id, bytearray([0, 0, 42, 0, 0, 0])) self.assertTrue(c.establishLink(ts[0])) self.assertTrue(c.toggleTxPipe(True)) self.assertTrue(c.initializeAirlink(ts[0])) dump = c.getDump() self.assertFalse(dump is None) self.assertEqual(dump.data, bytearray([0x26, 2, 0, 0, 0, 0, 0])) self.assertTrue( c.uploadResponse((0x26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))) self.assertTrue(c.terminateAirlink()) self.assertTrue(c.toggleTxPipe(False)) self.assertTrue(c.ceaseLink())