def testInit(self): transaction = Transaction() session = Session(transaction) identifier = session.identifier() self.assertIsInstance(identifier, str) self.assertEqual(len(identifier), 47) session = Session(transaction, 'test-identifier') self.assertEqual(session.identifier(), 'test-identifier') with self.assertRaises(SessionError): Session(transaction, 'invalid+identifier')
def testUniqueIds(self): transaction = Transaction() identifiers = set() for _count in range(3): session = Session(transaction) identifier = session.identifier() self.assertIsInstance(identifier, str) self.assertEqual(len(identifier), 47) parts = identifier.split('-') self.assertEqual(len(parts), 2) self.assertEqual(len(parts[0]), 14) self.assertEqual(len(parts[1]), 32) self.assertTrue(parts[0].isdigit()) self.assertTrue(all(c in '0123456789abcdef' for c in parts[1])) self.assertNotIn(identifier, identifiers) identifiers.add(identifier)