def test_nonascii_input(self): uri_in = u'\ufffd\ufffd/\x01' uri_out = uri_in.encode('utf-8') self.store.get.return_value = ZipkinData(trace_id=ZipkinId(42), span_id=ZipkinId(4242), parent_span_id=ZipkinId(1773), sampled=True) self.store.get_binary_annotations.return_value = [ self.api._build_binary_annotation('http.uri', uri_in) ] self.store.get_annotations.return_value = [ self.api._build_annotation(uri_in) ] self.store.get_rpc_name.return_value = 'test-rpc-name' self.api.build_log_message() # Assert no exception is raised self.assertEqual(self.api._build_span().annotations[0].value, uri_out) self.assertEqual(self.api._build_span().binary_annotations[0].value, uri_out)
def test_integration(self): self.api.endpoint.ipv4 = 2130706433 binary_annotations = [ self.api._build_binary_annotation('awesome', True) ] annotations = [ self.api._build_annotation('sr'), self.api._build_annotation('ss'), ] self.store.get_annotations.return_value = annotations self.store.get_binary_annotations.return_value = binary_annotations self.store.get.return_value = ZipkinData(trace_id=ZipkinId(42), span_id=ZipkinId(4242), parent_span_id=ZipkinId(1773), sampled=True) self.store.get_rpc_name.return_value = 'test-name' self.mock_time.time.return_value = 1024 self.assertEqual(self.api.build_log_message(), self.api.build_log_message()) self.assertEqual( self.api.build_log_message(), 'CgABAAAAAAAAACoLAAMAAAAJdGVzdC1uYW1lCgAEAAAAAAAAEJIKAAUAAAAAAAAG7Q8ABgwAAAACCgABAAAAAAAAAAELAAIAAAACc3IMAAMIAAF/AAABAAAKAAEAAAAAAAAAAQsAAgAAAAJzcwwAAwgAAX8AAAEAAA8ACAwAAAABCwABAAAAB2F3ZXNvbWULAAIAAAABMQgAAwAAAAAMAAQIAAF/AAABAAACAAkAAA==' )
def test_raises_excepion_if_value_is_too_big(self): with self.assertRaises(ValueError): ZipkinId(2 ** 63) with self.assertRaises(ValueError): ZipkinId(-(2 ** 63))
def test_getters(self): val = 42 zid = ZipkinId(val) self.assertEqual(zid.get_binary(), val) self.assertEqual(zid.get_hex(), '000000000000002a')