Exemple #1
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>'

        with pytest.raises(coveralls.exception.CoverallsException):
            coveralls.Coveralls(repo_token='xxx').wear()
Exemple #2
0
    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')

        with pytest.raises(coverage.CoverageException):
            coveralls.Coveralls(repo_token='xxx').wear()
Exemple #3
0
    def test_merge_empty_data(self, _mock_requests):
        coverage_file = tempfile.NamedTemporaryFile()
        coverage_file.write(b'{}')
        coverage_file.seek(0)

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

        source_files = json.loads(result)['source_files']
        assert source_files == []
Exemple #4
0
    def test_merge(self, _mock_requests):
        coverage_file = tempfile.NamedTemporaryFile()
        coverage_file.write(
            b'{"source_files": [{"name": "foobar", "coverage": []}]}')
        coverage_file.seek(0)

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

        source_files = json.loads(result)['source_files']
        assert source_files == [{'name': 'foobar', 'coverage': []}]
Exemple #5
0
    def test_merge_invalid_data(self, mock_logger, _mock_requests):
        coverage_file = tempfile.NamedTemporaryFile()
        coverage_file.write(b'{"random": "stuff"}')
        coverage_file.seek(0)

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

        source_files = json.loads(result)['source_files']
        assert source_files == []

        mock_logger.assert_called_once_with('No data to be merged; does the '
                                            'json file contain "source_files" '
                                            'data?')
Exemple #6
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--build', help='build ID')
    parser.add_argument('--pr', type=int, help='pull request ID on github')
    parser.add_argument('--branch', help='branch name')
    args = parser.parse_args()

    if 'COVERALLS_REPO_TOKEN' not in os.environ:
        print('COVERALLS_REPO_TOKEN environment variable is not set')
        return

    if args.build:
        build = args.build
    elif 'COVERALLS_BUILD' in os.environ:
        build = os.getenv('COVERALLS_BUILD')
    else:
        build = None

    if args.pr:
        pr = args.pr
    elif 'COVERALLS_PR' in os.environ:
        pr = os.getenv('COVERALLS_PR')
    else:
        pr = None

    if args.branch:
        branch = args.branch
    elif 'COVERALLS_BRANCH' in os.environ:
        branch = os.getenv('COVERALLS_BRANCH')
    else:
        branch = None

    kwargs = {}
    if build is not None:
        kwargs['service_number'] = str(build)
    if pr is not None:
        kwargs['service_pull_request'] = str(pr)
    if branch is not None:
        # git.branch cannot be updates with kwargs
        os.environ['CIRCLE_BRANCH'] = branch

    c = coveralls.Coveralls(False, **kwargs)
    res = c.wear()
    print(res['message'])
    print(res['url'])
Exemple #7
0
    def test_repo_token_in_not_compromised_verbose(self, mock_logger,
                                                   mock_requests):
        mock_requests.post.return_value.json.return_value = EXPECTED

        coveralls.Coveralls(repo_token='xxx').wear(dry_run=True)
        assert 'xxx' not in mock_logger.call_args[0][0]
Exemple #8
0
    def test_dry_run(self, mock_requests):
        mock_requests.post.return_value.json.return_value = EXPECTED

        result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=True)
        assert result == {}
Exemple #9
0
 def test_api_call_uses_default_host_if_no_env_var_set(self, mock_requests):
     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)
Exemple #10
0
 def test_coveralls_host_env_var_overrides_api_url(self, mock_requests):
     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)
Exemple #11
0
    def collect(self):
        coverall = coveralls.Coveralls()
        self.merge(coverall.create_data())

        for f in self.files:
            self.merge(self.parse(f))