| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import pytest
- from twhatter.output import Database
- from twhatter.output.sqlalchemy import Tweet
- @pytest.fixture
- def db_url():
- return "sqlite://"
- @pytest.fixture(scope="function")
- def output(db_url):
- return Database(db_url)
- @pytest.mark.parametrize("fixtures_file", [
- 'tests/fixtures/tweets/text_only_10.yaml',
- 'tests/fixtures/tweets/retweet_10.yaml',
- 'tests/fixtures/tweets/link_10.yaml',
- 'tests/fixtures/tweets/reaction_9.yaml',
- ])
- def test_output_tweets(capsys, tweets_factory, output, fixtures_file):
- tweets = tweets_factory(fixtures_file)
- output.start()
- output.output_tweets(tweets)
- output.stop()
- session = output.session_maker()
- for t in tweets:
- assert session.query(Tweet).filter(Tweet.id == t.id).one()
- @pytest.mark.parametrize("fixtures_file", [
- 'tests/fixtures/tweets/text_only_10.yaml',
- 'tests/fixtures/tweets/retweet_10.yaml',
- 'tests/fixtures/tweets/link_10.yaml',
- 'tests/fixtures/tweets/reaction_9.yaml',
- ])
- def test_output_tweets_twice(capsys, tweets_factory, output, fixtures_file):
- tweets = tweets_factory(fixtures_file)
- output.start()
- output.output_tweets(tweets)
- output.stop()
- output.start()
- output.output_tweets(tweets)
- output.stop()
- session = output.session_maker()
- for t in tweets:
- assert session.query(Tweet).filter(Tweet.id == t.id).one()
|