def test__fetch_from_upbit_should_call__fetch_from_upbit_up_to_200(self, mock_to_end_min): start = "2020-03-20T00:00:00" end = "2020-03-21T00:00:00" repo = DataRepository() repo._query = MagicMock(side_effect=[["mango"], ["apple"], ["orange"]]) repo._is_equal = MagicMock() repo._update = MagicMock() repo.verify_mode = False repo._fetch_from_upbit_up_to_200 = MagicMock(side_effect=[["kiwi"]]) mock_to_end_min.return_value = [ ("2020-03-20T00:00:00", "2020-03-21T00:10:00", 1), ("2020-03-20T00:10:00", "2020-03-21T00:20:00", 1), ("2020-03-20T00:20:00", "2020-03-21T00:30:00", 2), ] repo._recovery_upbit_data = MagicMock(side_effect=[["orange"]]) result = repo._fetch_from_upbit(start, end, "mango_market") mock_to_end_min.assert_called_once_with(start_iso=start, end_iso=end, max_count=200) self.assertEqual(repo._query.call_args_list[0][0][0], "2020-03-20T00:00:00") self.assertEqual(repo._query.call_args_list[1][0][0], "2020-03-20T00:10:00") self.assertEqual(repo._query.call_args_list[2][0][0], "2020-03-20T00:20:00") self.assertEqual(repo._query.call_args_list[0][0][1], "2020-03-21T00:10:00") self.assertEqual(repo._query.call_args_list[1][0][1], "2020-03-21T00:20:00") self.assertEqual(repo._query.call_args_list[2][0][1], "2020-03-21T00:30:00") repo._fetch_from_upbit_up_to_200.assert_called_once_with( "2020-03-21T00:30:00", 2, "mango_market" ) repo._update.assert_called_once_with(["orange"]) self.assertEqual(result, ["mango", "apple", "orange"]) repo._recovery_upbit_data.assert_called_once_with( ["kiwi"], "2020-03-20T00:20:00", 2, "mango_market" )
def test__is_equal_should_return_correct_judgement(self): dummy_data_a = [ {"market": "mango", "date_time": "2020-02-20T17:00:15", "period": 30, "recovered": 0}, {"market": "apple", "date_time": "2020-02-20T18:00:15", "period": 30, "recovered": 0}, {"market": "kiwi", "date_time": "2020-02-20T19:00:15", "period": 30, "recovered": 0}, ] dummy_data_b = [ {"market": "mango", "date_time": "2020-02-20T17:00:15", "period": 30, "recovered": 0}, {"market": "apple", "date_time": "2020-02-20T18:00:15", "period": 30, "recovered": 0}, ] dummy_data_c = [ {"market": "mango", "date_time": "2020-02-20T17:00:15"}, {"market": "apple", "date_time": "2020-02-20T18:00:15"}, ] dummy_data_d = [ {"market": "mango", "date_time": "2020-02-20T17:00:15", "period": 30}, {"market": "apple", "date_time": "2020-02-20T18:00:15", "period": 30}, {"market": "kiwi", "date_time": "2020-02-20T19:00:15", "period": 30}, ] self.assertFalse(DataRepository._is_equal(dummy_data_a, dummy_data_b)) self.assertTrue(DataRepository._is_equal(dummy_data_b, dummy_data_c)) self.assertFalse(DataRepository._is_equal(dummy_data_b, dummy_data_d))