diff --git a/.travis.yml b/.travis.yml index a14ec93..0e6aef4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,8 @@ install: - pip install tox coveralls>=1.0a script: - - tox -e $(echo py$TRAVIS_PYTHON_VERSION | tr -d . | sed -e 's/pypypy/pypy/'),flake8 + - tox -e $(echo py$TRAVIS_PYTHON_VERSION | tr -d . ) -- -a "\"--cov-report term-missing --cov critics\"" + - tox -e flake8 after_success: - coveralls diff --git a/critics/commands.py b/critics/commands.py index 64264af..473004e 100755 --- a/critics/commands.py +++ b/critics/commands.py @@ -58,12 +58,12 @@ def cli(**settings): notify = False if settings['ios']: - logger.info('Tracking IOS apps: %s', ','.join(settings['ios'])) + logger.info('Tracking IOS apps: %s', ', '.join(settings['ios'])) itunes = tornado.ioloop.PeriodicCallback(partial(app.poll_store, 'ios'), 1000 * settings['beat'], loop) itunes.start() if settings['android']: - logger.info('Tracking Android apps: %s', ','.join(settings['android'])) + logger.info('Tracking Android apps: %s', ', '.join(settings['android'])) google_play = tornado.ioloop.PeriodicCallback(partial(app.poll_store, 'android'), 1000 * settings['beat'], loop) google_play.start() @@ -87,7 +87,6 @@ def setup_logging(settings): handler.setFormatter(logging.Formatter('[%(asctime)s] %(message)s', "%Y-%m-%d %H:%M:%S")) else: logger.setLevel(logging.INFO) - logger.debug(settings) logger.propagate = False diff --git a/tests/test_cli.py b/tests/test_cli.py index 8056c0a..d78e16b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -11,7 +11,7 @@ def test_args(tmpdir): runner = CliRunner() result = runner.invoke(cli, ['--ios', '343200656', '--android', 'com.rovio.angrybirds', - '--language', 'en', '--language', 'ru', + '--language', 'ru', '--model', model.strpath, '--run-once'], env={'CRITICS_SLACK_WEBHOOK': 'http://httpbin.org/post', @@ -25,13 +25,28 @@ def test_args(tmpdir): num_reviews_ios = len(json.loads(model.read())['ios']['value']) num_reviews_android = len(json.loads(model.read())['android']['value']) - assert num_reviews_ios in [0, 20] - assert num_reviews_android == 20 - assert result.output == ('Languages: English, Russian\n' + assert num_reviews_ios in [0, 10] + assert num_reviews_android == 10 + assert result.output == ('Languages: Russian\n' 'Tracking IOS apps: 343200656\n' 'Tracking Android apps: com.rovio.angrybirds\n' 'Transport: slack channels: IOS -> ios Android -> android\n' - 'ios: 343200656: en: Fetched %s reviews, %s new\n' % (num_reviews_ios, num_reviews_ios) + 'ios: 343200656: ru: Fetched %s reviews, %s new\n' % (num_reviews_ios, num_reviews_ios) + - 'android: com.rovio.angrybirds: en: Fetched 10 reviews, 10 new\n' 'android: com.rovio.angrybirds: ru: Fetched 10 reviews, 10 new\n') + + +def test_mutiple_languages(tmpdir): + model = tmpdir.join("reviews.json") + runner = CliRunner() + result = runner.invoke(cli, ['--android', 'com.rovio.angrybirds', + '--android', 'com.rovio.angrybirdsstarwarsii.ads', + '--language', 'ru', '--language', 'en', + '--model', model.strpath, + '--run-once', '--no-notify']) + assert result.exit_code == 0 + assert result.output == ('Languages: Russian, English\n' + 'Tracking Android apps: com.rovio.angrybirds, com.rovio.angrybirdsstarwarsii.ads\n' + 'android: com.rovio.angrybirds: ru: Fetched 10 reviews, 10 new\n' + 'android: com.rovio.angrybirds: en: Fetched 10 reviews, 10 new\n' + 'android: com.rovio.angrybirdsstarwarsii.ads: ru: Fetched 10 reviews, 10 new\n' + 'android: com.rovio.angrybirdsstarwarsii.ads: en: Fetched 10 reviews, 10 new\n') diff --git a/tox.ini b/tox.ini index eff7ed3..71b0eeb 100644 --- a/tox.ini +++ b/tox.ini @@ -1,16 +1,19 @@ [tox] -envlist = py27, py33, py34, flake8 +envlist = py27, py33, py34, flake8, coverage [testenv] setenv = PYTHONPATH = {toxinidir}:{toxinidir}/critics -commands = python setup.py test +commands = python setup.py test {posargs} deps = pytest + pytest-cov responses [testenv:flake8] -deps = flake8 +deps = + flake8 + flake8-print commands = flake8 . --ignore=F403 --max-line-length=120