Esempio n. 1
0
 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 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 testLongMessage(self):

        class MyDongle(object):
            def __init__(self, len):
                 self.i = -1
                 self.len = len
            def data_read(self ,*args):
                self.i += 1
                if self.i == 0:
                    return MyDM([0xc0, 0x12, 4, 0, 0])
                if self.i < self.len:
                    return MyDM([0xc0, 0x13, (((self.i) % 16) << 4) + 4, 0, 0])
                return MyDM([0xc0, 2])
            def data_write(self, *args): pass

        d = MyDongle(20)
        c = FitbitClient(d)
        self.assertTrue(c.uploadResponse([0] * 380))
Esempio n. 5
0
    def testLongMessage(self):
        class MyDongle(object):
            def __init__(self, len):
                self.i = -1
                self.len = len

            def data_read(self, *args):
                self.i += 1
                if self.i == 0:
                    return MyDM([0xc0, 0x12, 4, 0, 0])
                if self.i < self.len:
                    return MyDM([0xc0, 0x13, (((self.i) % 16) << 4) + 4, 0, 0])
                return MyDM([0xc0, 2])

            def data_write(self, *args):
                pass

        d = MyDongle(20)
        c = FitbitClient(d)
        self.assertTrue(c.uploadResponse([0] * 380))
Esempio n. 6
0
 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())
Esempio n. 7
0
 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())
Esempio n. 8
0
    def testLongMessage(self):
        """ Validate that the seq number rounds up """
        class MyDongle(object):
            def __init__(self, len):
                self.i = -1
                self.len = len

            def data_read(self, *args):
                self.i += 1
                if self.i == 0:
                    return MyDM([0xc0, 0x12, 4, 0, 0])
                if self.i < self.len:
                    return MyDM([0xc0, 0x13, (((self.i) % 16) << 4) + 4, 0, 0])
                return MyDM([0xc0, 2])

            def data_write(self, *args):
                pass

        global FitbitClient
        FitbitClient = type('FitbitClient', (MyDongle, ),
                            dict(FitbitClient.__dict__))
        c = FitbitClient(20)
        self.assertTrue(c.uploadResponse([0] * 380))