def test_read(self): pb.deviceapps_xwrite_pb(self.deviceapps, TEST_FILE) count = 0 for i, d in enumerate(pb.deviceapps_xread_pb(TEST_FILE)): self.assertEqual(d, self.deviceapps[i]) count += 1 self.assertEqual(count, len(self.deviceapps))
def test_valid_coordinates(self): messages = [ { "lat": 0 }, { "lon": 0 }, { "lat": 0, "lon": 0 }, { "lat": 42, "lon": 42 }, { "lat": -42.123123123, "lon": 42.123213 }, ] bytes_written = pb.deviceapps_xwrite_pb(messages, TEST_FILE) self.assertTrue(bytes_written > 0) self.assertTrue(os.path.isfile(TEST_FILE)) unpacked = list(pb.deviceapps_xread_pb(TEST_FILE)) self.assertEqual(len(messages), len(unpacked)) for m1, m2 in zip(messages, unpacked): self.assertMessagesEqual(m1, m2)
def test_empty_device(self): messages = [{"lat": 2.314141, "lon": 5.66523423}] bytes_written = pb.deviceapps_xwrite_pb(messages, TEST_FILE) self.assertTrue(bytes_written > 0) self.assertTrue(os.path.isfile(TEST_FILE)) unpacked = list(pb.deviceapps_xread_pb(TEST_FILE)) self.assertEqual(len(unpacked), 1) for m1, m2 in zip(messages, unpacked): self.assertMessagesEqual(m1, m2)
def test_empty_messages(self): messages = [{}, {}, {}] bytes_written = pb.deviceapps_xwrite_pb(messages, TEST_FILE) self.assertTrue(bytes_written > 0) self.assertTrue(os.path.isfile(TEST_FILE)) unpacked = list(pb.deviceapps_xread_pb(TEST_FILE)) self.assertEqual(len(unpacked), 3) for m1, m2 in zip(messages, unpacked): self.assertMessagesEqual(m1, m2)
def test_invalid_device_keys(self): messages = [{"device": {"foo": 42, "bar": 777}}] expected = [{"device": {}}] bytes_written = pb.deviceapps_xwrite_pb(messages, TEST_FILE) self.assertTrue(bytes_written > 0) self.assertTrue(os.path.isfile(TEST_FILE)) unpacked = list(pb.deviceapps_xread_pb(TEST_FILE)) self.assertEqual(len(unpacked), 1) for m1, m2 in zip(expected, unpacked): self.assertMessagesEqual(m1, m2)
def test_valid_apps(self): messages = [ { "apps": [0] }, { "apps": [None, "aaa", []] }, { "apps": ["1", 2, 3.0, "4", None, 5] }, { "apps": [-(2**64), -1, 1, 2**32 - 1, 2**32, 2**64] }, ] expected = [ { "apps": [0] }, { "apps": [] }, { "apps": [2, 5] }, { "apps": [1, 2**32 - 1] }, ] bytes_written = pb.deviceapps_xwrite_pb(messages, TEST_FILE) self.assertTrue(bytes_written > 0) self.assertTrue(os.path.isfile(TEST_FILE)) unpacked = list(pb.deviceapps_xread_pb(TEST_FILE)) self.assertEqual(len(unpacked), len(messages)) for m1, m2 in zip(expected, unpacked): self.assertMessagesEqual(m1, m2)
def test_valid_device(self): messages = [ { "device": { "id": "" } }, { "device": { "type": "" } }, { "device": { "id": "123", "type": "idfa" } }, { "device": { "id": "123", "type": "idfa" } }, ] bytes_written = pb.deviceapps_xwrite_pb(messages, TEST_FILE) self.assertTrue(bytes_written > 0) self.assertTrue(os.path.isfile(TEST_FILE)) unpacked = list(pb.deviceapps_xread_pb(TEST_FILE)) self.assertEqual(len(messages), len(unpacked)) for m1, m2 in zip(messages, unpacked): self.assertMessagesEqual(m1, m2)
def test_read_ok(self): pb.deviceapps_xwrite_pb(self.deviceapps, TEST_FILE) for i, d in enumerate(pb.deviceapps_xread_pb(TEST_FILE)): self.assertEqual(d, self.deviceapps[i])
def test_read(self): pb.deviceapps_xwrite_pb(self.deviceapps, TEST_FILE) for i, d in enumerate(pb.deviceapps_xread_pb(TEST_FILE)): self.assertEqual(d, self.deviceapps[i]) print("dict from file: {}".format(d))
def test_read_bad_file(self): with self.assertRaises(OSError): pb.deviceapps_xread_pb("wrong_file.pb.gz")
def test_read(self): pb.deviceapps_xwrite_pb(self.deviceapps, TEST_FILE) for i, d in pb.deviceapps_xread_pb(TEST_FILE): self.assertEqual(d, self.deviceapps[i])
def test_read_class_and_function_have_same_result(self): pb.deviceapps_xwrite_pb(self.deviceapps, TEST_FILE) res1 = list(pb.deviceapps_xread_pb(TEST_FILE)) res2 = list(pb.PBFileIterator(TEST_FILE)) self.assertEqual(res1, res2)
def test_read_empty_file(self): with open(TEST_EMPTY_FILE, 'wb') as f: res = list(pb.deviceapps_xread_pb(TEST_EMPTY_FILE)) self.assertEqual(res, [])
def test_read_file_file_does_not_exist(self): with self.assertRaisesRegexp(IOError, "File does not exist"): pb.deviceapps_xread_pb("NotExistFile")
def test_read(self): pb.deviceapps_xwrite_pb(self.deviceapps, TEST_FILE) for i, d in enumerate(pb.deviceapps_xread_pb(TEST_FILE)): self.assertEqual(len(d), len(self.deviceapps[i])) for key, value in self.deviceapps[i].items(): self.assertEqual(value, d[key])