Exemple #1
0
class TestDailyLog(unittest.TestCase):
    def setUp(self):
        self.logs = DailyLog('20210125')
        self.value = '{"error":"", "logs":[\
            {"created_at": "2021-01-23T13:00:30",\
            "first_name": "Иван",\
            "message": "Some message1",\
            "second_name": "Иванов",\
            "user_id": "77777"},\
            {"created_at": "2021-01-23T12:00:00",\
            "first_name": "Петр",\
            "message": "Some message2",\
            "second_name": "Петров",\
            "user_id": "555555"}]}'

    def test_class_creation(self):
        self.assertEqual(self.logs.log_date, '20210125')
        self.assertEqual(self.logs.log, [])
        self.assertEqual(self.logs.sorted_log, [])

    def test_parse_json(self):
        with patch.object(DailyLog, 'load_json', return_value=self.value):
            self.logs.parse_json()
            name_one = self.logs.log[0]['first_name']
            name_second = self.logs.log[1]['first_name']
            time_one = self.logs.log[0]['created_at']
            message_second = self.logs.log[1]['message']
            self.assertEqual(name_one, 'Иван')
            self.assertEqual(name_second, 'Петр')
            self.assertEqual(time_one, '2021-01-23T13:00:30')
            self.assertEqual(message_second, 'Some message2')

    def test_time_compare(self):
        with patch.object(DailyLog, 'load_json', return_value=self.value):
            self.logs.parse_json()
            log_one = self.logs.log[0]
            log_second = self.logs.log[1]
            result = Compare(log_one) <= Compare(log_second)
            self.assertFalse(result)

    def test_sorting(self):
        with patch.object(DailyLog, 'load_json', return_value=self.value):
            self.logs.parse_json()
            self.logs.sort_log()
            log_one = self.logs.sorted_log[0]
            log_second = self.logs.sorted_log[1]
            result = Compare(log_one) <= Compare(log_second)
            self.assertTrue(result)