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)
Exemple #2
0
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)
Exemple #3
0
    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")
Exemple #4
0
    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)