Exemple #1
0
    def test_tenor_broken_gif_url(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests, gif_response)

        input_source = 'https://tenor.com/view/the-matrix-gif'

        with self.assertRaises(Exception) as cm:
            process_input_source(input_source, api_key)

        self.assertEqual(cm.exception.args[0], 'Bad GIF URL.')
        self.assertEqual(mock_exists.call_count, 0)
        self.assertEqual(mock_requests.get.call_count, 0)
Exemple #2
0
    def test_tenor_gif_id_empty_json(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests, {})

        input_source = '11313704'

        with self.assertRaises(Exception) as cm:
            process_input_source(input_source, api_key)

        self.assertEqual(cm.exception.args[0], 'Could not find GIF.')
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)
Exemple #3
0
    def test_tenor_gif_id_error_occurred(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests, {'error': 'some error'})

        input_source = '11313704'

        with self.assertRaises(Exception) as cm:
            process_input_source(input_source, api_key)

        self.assertEqual(cm.exception.args[0], 'An error occurred: some error')
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)
Exemple #4
0
    def test_tenor_search_empty_results(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests, empty_gif_response)

        input_source = 'happy birthday'

        with self.assertRaises(Exception) as cm:
            process_input_source(input_source, api_key)

        self.assertEqual(cm.exception.args[0], 'Could not find GIF.')
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)
Exemple #5
0
    def test_tenor_gif_id_json_decode_error(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests,
                               lambda *args: json.loads('<'),
                               side_effect=True)

        input_source = '11313704'

        with self.assertRaises(Exception) as cm:
            process_input_source(input_source, api_key)

        self.assertEqual(cm.exception.args[0], 'A server error occurred.')
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)
Exemple #6
0
    def test_tenor_gif_id_exception_when_getting_json(self, mock_requests,
                                                      mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests,
                               Exception('some error'),
                               side_effect=True)

        input_source = '11313704'

        with self.assertRaises(Exception) as cm:
            process_input_source(input_source, api_key)

        self.assertEqual(cm.exception.args[0], 'some error')
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)
Exemple #7
0
    def test_https_url(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        input_source = 'https://example.com/foo.gif'

        processed_input_source = process_input_source(input_source, api_key)

        self.assertEqual(processed_input_source, input_source)
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 0)
Exemple #8
0
    def test_file(self, mock_requests, mock_exists):
        mock_exists.return_value = True

        input_source = 'foo.gif'

        processed_input_source = process_input_source(input_source, api_key)

        self.assertEqual(processed_input_source, input_source)
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 0)
Exemple #9
0
    def test_tenor_gif_url(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests, gif_response)

        input_source = 'https://tenor.com/view/the-matrix-gif-5437241'

        processed_input_source = process_input_source(input_source, api_key)

        mpr_url = gif_response['results'][0]['media'][0]['mp4']['url']
        self.assertEqual(processed_input_source, mpr_url)
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)
Exemple #10
0
    def test_tenor_gif_id(self, mock_requests, mock_exists):
        mock_exists.return_value = False

        self.set_mock_response(mock_requests, gif_response)

        input_source = '11313704'

        processed_input_source = process_input_source(input_source, api_key)

        mpr_url = gif_response['results'][0]['media'][0]['mp4']['url']
        self.assertEqual(processed_input_source, mpr_url)
        self.assertEqual(mock_exists.call_count, 1)
        self.assertEqual(mock_requests.get.call_count, 1)