def test_save_several_items_data(self): items = [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD'), StatDataItem('source2', 'cat2', str_2_time('2013-01-01 11:12:13'), 'IDKFA')] source = StatDataPacket(uuid.UUID('83cf01c6-2284-11e2-9494-08002703af71'), items) expected = [('83cf01c6-2284-11e2-9494-08002703af71', 'source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD'), ('83cf01c6-2284-11e2-9494-08002703af71', 'source2', 'cat2', str_2_time('2013-01-01 11:12:13'), 'IDKFA')] self._set_logger_when_normal('83cf01c6-2284-11e2-9494-08002703af71', source.items) self._test_common_body([source], expected)
def test_save_data_from_different_users(self): source1 = StatDataPacket(uuid.UUID('83cf01c6-2284-11e2-9494-08002703af71'), [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD')]) source2 = StatDataPacket(uuid.UUID('a5ab1a21-0731-4eff-9206-26de85f81970'), [StatDataItem('source1', 'cat1', str_2_time('2013-01-01 11:12:13'), 'IDKFA')]) expected = [('83cf01c6-2284-11e2-9494-08002703af71', 'source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD'), ('a5ab1a21-0731-4eff-9206-26de85f81970', 'source1', 'cat1', str_2_time('2013-01-01 11:12:13'), 'IDKFA')] self._set_logger_when_normal('83cf01c6-2284-11e2-9494-08002703af71', source1.items) self._set_logger_when_normal('a5ab1a21-0731-4eff-9206-26de85f81970', source2.items) self._test_common_body([source1, source2], expected)
def test_data_packet_with_several_item(self): source = '<data_packet user_id="83cf01c6-2284-11e2-9494-08002703af71">' +\ '<data_item><source>source1</source><category>cat1</category><timemarker>2012-12-21 23:59:59</timemarker><data>IDDQD</data></data_item>' +\ '<data_item><source>source2</source><category>cat2</category><timemarker>2013-01-01 11:11:11</timemarker><data>IDKFA</data></data_item>' +\ '</data_packet>' expected = StatDataPacket(uuid.UUID('83cf01c6-2284-11e2-9494-08002703af71'), [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD'), StatDataItem('source2', 'cat2', str_2_time('2013-01-01 11:11:11'), 'IDKFA')]) actual = self._deserializer.deserialize(StatDataPacket, source) check_stat_data_packet(self, expected, actual)
def test_repr_for_several_items(self): items = [ StatDataItem("source1", "cat1", str_2_time("2012-12-21 23:59:59"), "IDDQD"), StatDataItem("source2", "cat2", str_2_time("2013-01-01 11:11:11"), "IDKFA"), ] source = StatDataPacket(uuid.UUID("83cf01c6-2284-11e2-9494-08002703af71"), items) expected = ( 'StatDataPacket(user_id="83cf01c6-2284-11e2-9494-08002703af71", ' 'items=[StatDataItem(source="source1", category="cat1", timemarker="2012-12-21 23:59:59", data="IDDQD"),' 'StatDataItem(source="source2", category="cat2", timemarker="2013-01-01 11:11:11", data="IDKFA")])' ) self.assertEqual(expected, repr(source))
def __init__(self, methodName='runTest'): super(TestCollectHandlerImpl, self).__init__(methodName) self._mox = None self._storage = None self._logger = None self._deserializer = lambda source: XmlDeserializer().deserialize(StatDataPacket, source) self._good_xml_packet = '<data_packet user_id="83cf01c6-2284-11e2-9494-08002703af71">' +\ '<data_item><source>source1</source><category>cat1</category><timemarker>2012-12-21 23:59:59</timemarker><data>IDDQD</data></data_item>' +\ '<data_item><source>source2</source><category>cat2</category><timemarker>2013-01-01 11:11:11</timemarker><data>IDKFA</data></data_item>' +\ '</data_packet>' data_items = [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD'), StatDataItem('source2', 'cat2', str_2_time('2013-01-01 11:11:11'), 'IDKFA')] self._good_data_packet = StatDataPacket(uuid.UUID('83cf01c6-2284-11e2-9494-08002703af71'), data_items)
def create(internal_repr): # source: <data_packet user_id="83cf01c6-2284-11e2-9494-08002703af71"><data_item><source>source1</source><category>cat1</category><timemarker>2012-12-21 23:59:59</timemarker><data>IDDQD</data></data_item></data_packet> # repr: {'data_packet': {'user_id': '83cf01c6-2284-11e2-9494-08002703af71', 'data_item': [{'source': {'': 'source1'}, 'category': {'': 'cat1'}, 'timemarker': {'': '2012-12-21 23:59:59'}, 'data': {'': 'IDDQD'}}]}} packet_body = internal_repr['data_packet'] user_id = uuid.UUID(packet_body['user_id']) data_items_body = packet_body['data_item'] if not isinstance(data_items_body, list): data_items_body = [data_items_body] data_item_storage = [] for data_item_body in data_items_body: source = data_item_body['source'][''] category = data_item_body['category'][''] timemarker = str_2_time(data_item_body['timemarker']['']) data = data_item_body['data'][''] data_item_storage.append(StatDataItem(source, category, timemarker, data)) return StatDataPacket(user_id, data_item_storage)
def test_none_data(self): source = StatDataPacket('83cf01c6-2284-11e2-9494-08002703af71', [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), None)]) self._set_logger_when_exception('83cf01c6-2284-11e2-9494-08002703af71', source.items[0]) self._test_common_body_with_exception(source, IntegrityError)
def test_none_user_id(self): source = StatDataPacket(None, [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD')]) self._set_logger_when_exception(None, source.items[0]) self._test_common_body_with_exception(source, DataError)
def test_save_single_item_data(self): source = StatDataPacket(uuid.UUID('83cf01c6-2284-11e2-9494-08002703af71'), [StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD')]) expected = [('83cf01c6-2284-11e2-9494-08002703af71', 'source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD')] self._set_logger_when_normal('83cf01c6-2284-11e2-9494-08002703af71', source.items) self._test_common_body([source], expected)
def test_str(self): source = StatDataItem('source1', 'cat1', str_2_time('2012-12-21 23:59:59'), 'IDDQD') expected = 'StatDataItem(source="source1", category="cat1", timemarker="2012-12-21 23:59:59", data="IDDQD")' self.assertEqual(expected, str(source))