Skip to content

Commit

Permalink
tests(cli): fix wear tests
Browse files Browse the repository at this point in the history
  • Loading branch information
TheKevJames committed Mar 20, 2019
1 parent 16192b8 commit d615587
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions tests/api/wear_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@

import coverage
import mock
import pytest
import sh

from coveralls import Coveralls
import coveralls
from coveralls.api import log


Expand All @@ -27,7 +28,7 @@ def setUp(self):
def test_wet_run(self, mock_requests):
mock_requests.post.return_value.json.return_value = EXPECTED

result = Coveralls(repo_token='xxx').wear(dry_run=False)
result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)
assert result == EXPECTED

def test_merge(self, _mock_requests):
Expand All @@ -36,7 +37,7 @@ def test_merge(self, _mock_requests):
b'{"source_files": [{"name": "foobar", "coverage": []}]}')
coverage_file.seek(0)

api = Coveralls(repo_token='xxx')
api = coveralls.Coveralls(repo_token='xxx')
api.merge(coverage_file.name)
result = api.create_report()

Expand All @@ -48,7 +49,7 @@ def test_merge_empty_data(self, _mock_requests):
coverage_file.write(b'{}')
coverage_file.seek(0)

api = Coveralls(repo_token='xxx')
api = coveralls.Coveralls(repo_token='xxx')
api.merge(coverage_file.name)
result = api.create_report()

Expand All @@ -61,7 +62,7 @@ def test_merge_invalid_data(self, mock_logger, _mock_requests):
coverage_file.write(b'{"random": "stuff"}')
coverage_file.seek(0)

api = Coveralls(repo_token='xxx')
api = coveralls.Coveralls(repo_token='xxx')
api.merge(coverage_file.name)
result = api.create_report()

Expand All @@ -75,46 +76,44 @@ def test_merge_invalid_data(self, mock_logger, _mock_requests):
def test_dry_run(self, mock_requests):
mock_requests.post.return_value.json.return_value = EXPECTED

result = Coveralls(repo_token='xxx').wear(dry_run=True)
result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=True)
assert result == {}

@mock.patch.object(log, 'debug')
def test_repo_token_in_not_compromised_verbose(self, mock_logger,
mock_requests):
mock_requests.post.return_value.json.return_value = EXPECTED

Coveralls(repo_token='xxx').wear(dry_run=True)
coveralls.Coveralls(repo_token='xxx').wear(dry_run=True)
assert 'xxx' not in mock_logger.call_args[0][0]

def test_coveralls_unavailable(self, mock_requests):
mock_requests.post.return_value.json.side_effect = ValueError
mock_requests.post.return_value.status_code = 500
mock_requests.post.return_value.text = '<html>Http 1./1 500</html>'

result = Coveralls(repo_token='xxx').wear()
assert result == {'message': ('Failure to submit data. Response [500]:'
' <html>Http 1./1 500</html>')}
with pytest.raises(coveralls.exception.CoverallsException):
coveralls.Coveralls(repo_token='xxx').wear()

@mock.patch('coveralls.reporter.CoverallReporter.report')
def test_no_coverage(self, report_files, mock_requests):
mock_requests.post.return_value.json.return_value = EXPECTED
report_files.side_effect = coverage.CoverageException(
'No data to report')

result = Coveralls(repo_token='xxx').wear()
assert result == {
'message': 'Failure to gather coverage: No data to report'}
with pytest.raises(coverage.CoverageException):
coveralls.Coveralls(repo_token='xxx').wear()

@mock.patch.dict(
os.environ,
{'COVERALLS_HOST': 'https://coveralls.my-enterprise.info'}, clear=True)
def test_coveralls_host_env_var_overrides_api_url(self, mock_requests):
Coveralls(repo_token='xxx').wear(dry_run=False)
coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)
mock_requests.post.assert_called_once_with(
'https://coveralls.my-enterprise.info/api/v1/jobs', files=mock.ANY)

@mock.patch.dict(os.environ, {}, clear=True)
def test_api_call_uses_default_host_if_no_env_var_set(self, mock_requests):
Coveralls(repo_token='xxx').wear(dry_run=False)
coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)
mock_requests.post.assert_called_once_with(
'https://coveralls.io/api/v1/jobs', files=mock.ANY)

0 comments on commit d615587

Please sign in to comment.