def testStoringAndReadingEntries(self): jour = journaler.Journaler() writer = journaler.SqliteWriter(self, encoding='zip') yield writer.initiate() yield jour.configure_with(writer) yield jour.insert_entry(**self._generate_entry()) histories = yield writer.get_histories() self.assertIsInstance(histories, list) self.assertIsInstance(histories[0], journaler.History) entries = yield writer.get_entries(histories[0]) self.assertIsInstance(entries, list) self.assertEqual(1, len(entries)) unpacked = entries[0] self.assertEqual('some id', unpacked['agent_id']) self.assertEqual('some.canonical.name', unpacked['function_id']) self.assertEqual(('some_id', 1, 0, ), banana.unserialize(unpacked['journal_id'])) self.assertEqual(None, banana.unserialize(unpacked['result'])) self.assertEqual(list(), banana.unserialize(unpacked['side_effects'])) yield jour.insert_entry(**self._generate_entry(function_id='other')) entries = yield writer.get_entries(histories[0]) self.assertEqual(2, len(entries)) first = entries[0] second = entries[1] self.assertEqual('some.canonical.name', first['function_id']) self.assertEqual('other', second['function_id'])
def testGettingJournalerEntries(self): yield self._populate_data() # test getting histories histories = yield self.reader.get_histories() self.assertEqual(3, len(histories)) self.assertEqual('other_agent', histories[0].agent_id) self.assertEqual('some id', histories[1].agent_id) self.assertEqual(1, histories[0].instance_id) self.assertEqual(1, histories[1].instance_id) self.assertEqual(self.hostname, histories[0].hostname) self.assertEqual(self.hostname, histories[1].hostname) self.assertEqual('cool_agent', histories[2].agent_id) self.assertEqual(1, histories[2].instance_id) self.assertEqual(self.hostname2, histories[2].hostname) # get entris for history entries = yield self.reader.get_entries(histories[0]) self.assertEqual(2, len(entries)) self.assertEqual('some args', entries[0]['args']) # same with start_date entries = yield self.reader.get_entries(histories[0], start_date=self.now-10) self.assertEqual(1, len(entries)) self.assertEqual(tuple(), banana.unserialize(entries[0]['args'])) # same with limit on number entries = yield self.reader.get_entries(histories[0], limit=1) self.assertEqual(1, len(entries)) self.assertEqual('some args', entries[0]['args']) # getting bare entries entries = yield self.reader.get_bare_journal_entries() self.assertEqual(6, len(entries)) self.assertEqual('other_agent', entries[0]['agent_id']) self.assertEqual('other_agent', entries[1]['agent_id']) # deleting entries yield self.reader.delete_top_journal_entries(2) entries = yield self.reader.get_bare_journal_entries() self.assertEqual(4, len(entries)) self.assertEqual('some id', entries[0]['agent_id']) self.assertEqual('some id', entries[1]['agent_id'])