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))