Skip to content

Commit a62479a

Browse files
authored
refactor: remove repo info class (#27)
1 parent 22977dc commit a62479a

File tree

4 files changed

+9
-78
lines changed

4 files changed

+9
-78
lines changed

codecov/github.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -67,24 +67,6 @@ class User:
6767
login: str
6868

6969

70-
@dataclasses.dataclass
71-
class RepositoryInfo:
72-
default_branch: str
73-
visibility: str
74-
75-
def is_default_branch(self, ref: str) -> bool:
76-
return f'refs/heads/{self.default_branch}' == ref
77-
78-
def is_public(self) -> bool:
79-
return self.visibility == 'public'
80-
81-
82-
def get_repository_info(github: github_client.GitHub, repository: str) -> RepositoryInfo:
83-
response = github.repos(repository).get()
84-
85-
return RepositoryInfo(default_branch=response.default_branch, visibility=response.visibility)
86-
87-
8870
def get_my_login(github: github_client.GitHub) -> User:
8971
try:
9072
response = github.user.get()

codecov/main.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,26 +50,21 @@ def action(config: settings.Config, github_session: httpx.Client) -> int:
5050
return 1
5151

5252
log.debug(f'Operating on Pull Request {pr_number}')
53-
repo_info = github.get_repository_info(github=gh, repository=config.GITHUB_REPOSITORY)
54-
5553
return process_pr(
5654
config=config,
5755
gh=gh,
58-
repo_info=repo_info,
5956
pr_number=pr_number,
6057
)
6158

6259

6360
def process_pr( # pylint: disable=too-many-locals
6461
config: settings.Config,
6562
gh: github_client.GitHub,
66-
repo_info: github.RepositoryInfo,
6763
pr_number: int,
6864
) -> int:
6965
coverage = coverage_module.get_coverage_info(coverage_path=config.COVERAGE_PATH)
7066
if config.BRANCH_COVERAGE:
7167
coverage = diff_grouper.group_branches(coverage=coverage)
72-
base_ref = config.GITHUB_BASE_REF or repo_info.default_branch
7368
pr_diff = github.get_pr_diff(github=gh, repository=config.GITHUB_REPOSITORY, pr_number=pr_number)
7469
added_lines = coverage_module.parse_diff_output(diff=pr_diff)
7570
diff_coverage = coverage_module.get_diff_coverage_info(added_lines=added_lines, coverage=coverage)
@@ -116,7 +111,7 @@ def process_pr( # pylint: disable=too-many-locals
116111
minimum_orange=config.MINIMUM_ORANGE,
117112
repo_name=config.GITHUB_REPOSITORY,
118113
pr_number=pr_number,
119-
base_ref=base_ref,
114+
base_ref=config.GITHUB_BASE_REF,
120115
base_template=template.read_template_file('comment.md.j2'),
121116
marker=marker,
122117
subproject_id=config.SUBPROJECT_ID,

tests/test_github.py

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,6 @@
1010
from codecov import github, groups
1111

1212

13-
@pytest.mark.parametrize(
14-
'ref, expected',
15-
[
16-
('refs/heads/main', True),
17-
('refs/heads/other', False),
18-
],
19-
)
20-
def test_is_default_branch(ref, expected):
21-
info = github.RepositoryInfo(default_branch='main', visibility='public')
22-
result = info.is_default_branch(ref=ref)
23-
24-
assert result is expected
25-
26-
27-
@pytest.mark.parametrize(
28-
'visibility, expected',
29-
[
30-
('private', False),
31-
('internal', False),
32-
('public', True),
33-
],
34-
)
35-
def test_is_public(visibility, expected):
36-
info = github.RepositoryInfo(default_branch='main', visibility=visibility)
37-
result = info.is_public()
38-
39-
assert result is expected
40-
41-
42-
def test_get_repository_info(gh, session):
43-
session.register('GET', '/repos/foo/bar')(json={'default_branch': 'baz', 'visibility': 'public'})
44-
45-
info = github.get_repository_info(github=gh, repository='foo/bar')
46-
47-
assert info == github.RepositoryInfo(default_branch='baz', visibility='public')
48-
49-
5013
def test_get_pr(gh, session, base_config):
5114
config = base_config()
5215
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(

tests/test_main.py

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ def test_process_pr_skip_coverage(
2525
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
2626
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
2727

28-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
29-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
28+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
3029

3130
assert result == 0
3231
assert caplog.records[-1].message == 'Skipping coverage report generation'
@@ -51,8 +50,7 @@ def test_process_pr_skip_coverage_with_annotations(
5150
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
5251
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
5352

54-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
55-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
53+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
5654

5755
assert result == 0
5856

@@ -96,8 +94,7 @@ def test_process_branch_coverage_in_annotations(
9694
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
9795
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
9896

99-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
100-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
97+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
10198

10299
assert result == 0
103100

@@ -119,8 +116,7 @@ def test_process_pr_with_annotations_missing_marker_error(
119116
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
120117
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
121118

122-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
123-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
119+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
124120

125121
assert result == 1
126122

@@ -150,8 +146,7 @@ def test_process_pr_with_annotations_template_error(
150146
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
151147
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
152148

153-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
154-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
149+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
155150

156151
assert result == 1
157152

@@ -183,8 +178,7 @@ def test_process_pr_with_annotations_cannot_post(
183178
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
184179
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
185180

186-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
187-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
181+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
188182

189183
assert result == 1
190184
mock_post_comment.assert_called_once()
@@ -230,8 +224,7 @@ def test_process_pr_with_annotations(
230224
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
231225
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
232226

233-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
234-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
227+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
235228

236229
assert result == 0
237230
assert caplog.records[-1].message == 'Comment created on PR'
@@ -279,8 +272,7 @@ def test_process_pr_with_annotations_to_branch(
279272
session.register('GET', f'/repos/{config.GITHUB_REPOSITORY}/pulls/{config.GITHUB_PR_NUMBER}')(text=diff_data)
280273
session.register('GET', '/user')(json={'login': 'foo', 'id': 123, 'name': 'bar', 'email': 'baz'})
281274

282-
repo_info = github.RepositoryInfo(default_branch='main', visibility='public')
283-
result = main.process_pr(config, gh, repo_info, config.GITHUB_PR_NUMBER)
275+
result = main.process_pr(config, gh, config.GITHUB_PR_NUMBER)
284276

285277
assert result == 0
286278
assert caplog.records[-1].message == 'Comment created on PR'
@@ -298,7 +290,6 @@ def test_process_pr_generate_annotations(mock_open: mock.Mock, gh, base_config,
298290

299291
result = main.process_pr(
300292
config=config,
301-
repo_info=github.RepositoryInfo(default_branch='main', visibility='public'),
302293
pr_number=123,
303294
gh=gh,
304295
)

0 commit comments

Comments
 (0)