test_cli.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3. """Tests for `twhatter` package."""
  4. import pytest
  5. from twhatter import cli
  6. def test_command_line_interface(cli_runner):
  7. """Test the CLI."""
  8. result = cli_runner.invoke(cli.main)
  9. assert result.exit_code == 0
  10. help_result = cli_runner.invoke(cli.main, ['--help'])
  11. assert help_result.exit_code == 0
  12. assert 'Show this message and exit.' in help_result.output
  13. class TestMain:
  14. @pytest.mark.send_request
  15. def test_timeline_no_limit(self, cli_runner, user):
  16. result = cli_runner.invoke(cli.main, ['timeline', user])
  17. assert result.exit_code == 0
  18. lines = result.output.split('\n')[:-1]
  19. assert 100 > len(lines) > 0
  20. for l in lines:
  21. assert "Tweet" in l
  22. @pytest.mark.send_request
  23. def test_timeline_limit(self, cli_runner, user, tweet_limit):
  24. result = cli_runner.invoke(cli.main, ['timeline', user, '--limit', tweet_limit])
  25. assert result.exit_code == 0
  26. lines = result.output.split('\n')[:-1]
  27. assert len(lines) == tweet_limit
  28. class TestDb:
  29. @pytest.mark.send_request
  30. def test_timeline_no_limit(self, cli_runner, user):
  31. result = cli_runner.invoke(cli.main, ['db', 'timeline', user])
  32. assert result.exit_code == 0