def _test_save_item_common_body(self, data_portion_list, expected): for data_portion in data_portion_list: self._logger.info('save_item({source:s}, {data_item!s}) enter'.format(source=data_portion.source_id, data_item=data_portion.data)) self._logger.info('_save_item_impl({source:s}, {data_item!s}) enter'.format(source=data_portion.source_id, data_item=data_portion.data)) self._logger.info('_save_item_impl({source:s}, {data_item!s}) exit'.format(source=data_portion.source_id, data_item=data_portion.data)) self._logger.info('save_item({source:s}, {data_item!s}) exit'.format(source=data_portion.source_id, data_item=data_portion.data)) self._mox.ReplayAll() storage = SqliteStorage(self._db_manager.connection_string, self._logger) for data_portion in data_portion_list: storage.save_item(data_portion.source_id, data_portion.data) actual = self._db_manager.execute_query(self._query) self._check_data(expected, actual) self._mox.VerifyAll()
def _test_save_items_common_body(self, data_portion_list): for data_portion in data_portion_list: self._logger.info("save_item({source:s}, {data_item!s}) enter".format(source=data_portion.source_id, data_item=data_portion.data)) self._connection.cursor().AndReturn(self._cursor) self._logger.info("_save_item_impl({source:s}, {data_item!s}) enter".format(source=data_portion.source_id, data_item=data_portion.data)) self._cursor.execute(self._query_str, (data_portion.source_id, data_portion.data.category, data_portion.data.data)) self._logger.info("_save_item_impl({source:s}, {data_item!s}) exit".format(source=data_portion.source_id, data_item=data_portion.data)) self._connection.commit() self._logger.info("save_item({source:s}, {data_item!s}) exit".format(source=data_portion.source_id, data_item=data_portion.data)) self._connection.close() self._mox.ReplayAll() storage = SqliteStorage(lambda: self._connection, self._logger) for data_portion in data_portion_list: storage.save_item(data_portion.source_id, data_portion.data) self._mox.VerifyAll()
def test_save_item_with_exception(self): data_portion = DataPortion('source1', DataItem('category1', 'some data')) self._logger.info("save_item({source:s}, {data_item!s}) enter".format(source=data_portion.source_id, data_item=data_portion.data)) self._connection.cursor().AndReturn(self._cursor) self._logger.info("_save_item_impl({source:s}, {data_item!s}) enter".format(source=data_portion.source_id, data_item=data_portion.data)) self._cursor.execute(self._query_str, (data_portion.source_id, data_portion.data.category, data_portion.data.data)).AndRaise(CustomTestException()) self._logger.exception("exception in _save_item_impl({source:s}, {data_item!s})".format(source=data_portion.source_id, data_item=data_portion.data)) self._connection.close() self._logger.exception("exception in save_item({source:s}, {data_item!s})".format(source=data_portion.source_id, data_item=data_portion.data)) self._mox.ReplayAll() storage = SqliteStorage(lambda: self._connection, self._logger) self.assertRaises(CustomTestException, lambda: storage.save_item(data_portion.source_id, data_portion.data)) self._mox.VerifyAll()