test_giphy.py 1023 B

123456789101112131415161718192021222324252627282930
  1. from . import giphy
  2. try:
  3. from unittest.mock import patch
  4. except ImportError:
  5. from mock import patch
  6. import os
  7. import pytest
  8. PLUGIN_DIR = os.path.dirname(__file__)
  9. TEST_DATA_DIR = os.path.join(PLUGIN_DIR, 'test_data')
  10. @pytest.mark.parametrize('input,expected', [
  11. (dict(gif_id='abc123'),
  12. ('<a href="http://giphy.com/gifs/veronica-mars-aMSJFS6oFX0fC">'
  13. '<img src="http://media2.giphy.com/media/'
  14. 'aMSJFS6oFX0fC/giphy.gif" alt="source: http://www.tumblr.com"></a>')),
  15. (dict(gif_id='abc123', alt='ive had some free time'),
  16. ('<a href="http://giphy.com/gifs/veronica-mars-aMSJFS6oFX0fC">'
  17. '<img src="http://media2.giphy.com/media/'
  18. 'aMSJFS6oFX0fC/giphy.gif" alt="ive had some free time"></a>'))
  19. ])
  20. @patch('liquid_tags.giphy.urlopen')
  21. def test_create_html(mock_urlopen, input, expected):
  22. with open(TEST_DATA_DIR + '/giphy.json', 'rb') as f:
  23. mock_urlopen.return_value.read.return_value = f.read()
  24. assert giphy.create_html('test_api_key', input) == expected