Ejemplo n.º 1
0
    def test_fetch_for_language_one_return_value(self, mock_json):

        mock_json.return_value = {'results': [RESPONSE_ELEM_1]}

        self.task = FetchGplayReviews()
        result = FetchGplayReviews().fetch_for_language('xyz')

        self.assertCountEqual([RESPONSE_ELEM_1], result)
Ejemplo n.º 2
0
    def test_convert_to_right_output_format(self):

        reviews = pd.DataFrame([RESPONSE_ELEM_1])

        actual = FetchGplayReviews().convert_to_right_output_format(reviews)

        expected = pd.DataFrame([RESPONSE_ELEM_1_RENAMED_COLS])
        pd.testing.assert_frame_equal(expected, actual)
Ejemplo n.º 3
0
    def test_load_language_codes(self):

        language_codes = FetchGplayReviews().load_language_codes()

        self.assertTrue(all(
            isinstance(code, str) and len(code) <= 5
            for code in language_codes)
        )
        self.assertGreater(len(language_codes), 50)
Ejemplo n.º 4
0
    def test_app_id(self, input_mock):

        input_target = MockTarget('museum_facts', format=UTF8)
        input_mock.return_value = input_target
        with input_target.open('w') as fp:
            json.dump({'ids': {'gplay': {'appId': 'some ID'}}}, fp)
        self.task._app_id = None

        app_id = FetchGplayReviews().app_id

        self.assertEqual(app_id, 'some ID')
Ejemplo n.º 5
0
    def test_run(self, input_mock, output_mock, mock_fetch, mock_lang):

        input_target = MockTarget('museum_facts', format=UTF8)
        input_mock.return_value = input_target
        with input_target.open('w') as fp:
            json.dump(
                {'ids': {'gplay': {
                    'appId': 'com.barberini.museum.barberinidigital'
                }}},
                fp
            )
        output_target = MockTarget('gplay.gplay_reviews', format=UTF8)
        output_mock.return_value = output_target

        FetchGplayReviews().run()

        expected = pd.DataFrame([RESPONSE_ELEM_1_RENAMED_COLS])
        with output_target.open('r') as output_file:
            actual = pd.read_csv(output_file)

        pd.testing.assert_frame_equal(expected, actual)
Ejemplo n.º 6
0
 def setUp(self):
     super().setUp()
     self.task = FetchGplayReviews()
     self.task._app_id = 'com.barberini.museum.barberinidigital'
Ejemplo n.º 7
0
    def test_fetch_all_no_duplicates(self, mock_lang, mock_fetch):

        result = FetchGplayReviews().fetch_all()

        pd.testing.assert_frame_equal(
            result, pd.DataFrame([RESPONSE_ELEM_1, RESPONSE_ELEM_2]))