class TestStatsWithMondoDB(unittest.TestCase): def setUp(self): self.db = MongoDB(col = 'stats_test') self.stats = Statistics(self.db) mock = MockDatetime() self.expected_date = mock.now() self.stats._datetime = mock def test_save_stat(self): json_doc = {'url':"url", 'datetime': "2014-01-01 14:10:00" } self.stats.register_access_now("url") result = self.db.find_one_by('url', "url") self.assertEqual(result['url'], "url") self.assertEqual(result['datetime'], str(self.expected_date)) self.db.drop('stats_test') def test_all_visits(self): self.stats.register_access_now("url") visits = self.stats.all_visits() self.assertEqual(len(visits), 1)
class TestCollection(unittest.TestCase): def setUp(self): self.db = MongoDB() self.col = self.db.collection("stats_borrame") def tearDown(self): self.db.drop("stats_borrame") def test_find_one_in_column(self): stat = {u'stats': [{u'date': u'2014-3-22', u'blogs': u'0', u'threads': u'0', u'msgs': u'0'}], u'name': u'HootBoardGame'} self.col.save(stat) self.assertIsNotNone(self.col.find_one('name', 'HootBoardGame')) def test_when_no_fin_returns_null(self): self.assertIsNone(self.col.find_one('name', 'NoExiste')) def test_update_stat(self): stat = {u'stats': [{u'date': u'2014-3-22', u'blogs': u'0', u'threads': u'0', u'msgs': u'0'}], u'name': u'HootBoardGame'} self.col.save(stat) stat['stats'].append({u'date': u'2014-3-22', u'blogs': u'0', u'threads': u'0', u'msgs': u'0'}) self.col.remove('name', 'HootBoardGame') self.col.save(stat) new_stats = self.col.find_one('name', 'HootBoardGame') self.assertEqual(len(new_stats['stats']), 2) def test_find_one_when_col_is_empty(self): result = self.col.find_one('no', 'exist') self.assertIsNone(result)
def test_when_query_and_insert_columns_are_different_insertion_and_query_uses_diferent_cols(self): db = MongoDB() db.query("labsk_test") db.insert("to_delete") db.saveThread({'id':'1'}) self.assertIsNone(db.find_one_by('id', '1')) db.query("to_delete") self.assertIsNotNone(db.find_one_by('id', '1')) db.drop("to_delete")
def test_search_thread(self): db = MongoDB() db.query("labsk_merge") tmp_col = "labsk_temp_temp" db.insert(tmp_col) process = ProcessThread() process.database = db result = process._search_thread(self.obj_thread) self.assertIsNotNone(result) db.drop(tmp_col)