Skip to content

Commit 9977c01

Browse files
upgrade test
1 parent 6170315 commit 9977c01

File tree

3 files changed

+22
-55
lines changed

3 files changed

+22
-55
lines changed

list.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
moevm/github_repo_commitment_calc

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ pandas==2.2.3
55
pytz==2024.2
66
requests==2.32.3
77
pyforgejo==2.0.0
8-
isodate==0.7.2
8+
isodate==0.7.2
9+
unittest-parametrize==1.6.0

test_token_usage.py

Lines changed: 19 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
import git_logger
66
from main import run
77

8+
from unittest_parametrize import parametrize
9+
from unittest_parametrize import ParametrizedTestCase
10+
from unittest_parametrize import param
11+
812

913
def parse_args(args):
1014
parser = argparse.ArgumentParser()
@@ -24,7 +28,7 @@ def parse_args(args):
2428
return parser.parse_args(args)
2529

2630

27-
class TestTokenUsage(unittest.TestCase):
31+
class TestTokenUsage(ParametrizedTestCase):
2832
def setUp(self):
2933
test_args = parse_args(sys.argv[1:])
3034
self.tokens = [test_args.tt1, test_args.tt2]
@@ -78,60 +82,21 @@ def _get_usage(self, binded_repos, clients):
7882

7983
return limit_start, limit_finish
8084

81-
def test_commits_parser(self):
82-
self.args.commits = True
83-
for i in range(2):
84-
clients = git_logger.Clients(
85-
"github", self._change_tokens_order(self.tokens, i)
86-
)
87-
binded_repos = git_logger.get_next_binded_repo(clients, [self.repo])
88-
89-
limit_start, limit_finish = self._get_usage(binded_repos, clients)
90-
91-
self.assertTrue(self._is_only_one_token_used(limit_start, limit_finish))
92-
self.assertTrue(self._is_max_token_used(limit_start, limit_finish))
93-
94-
def test_contributors_parser(self):
95-
self.args.contributors = True
96-
for i in range(2):
97-
clients = git_logger.Clients(
98-
"github", self._change_tokens_order(self.tokens, i)
99-
)
100-
binded_repos = git_logger.get_next_binded_repo(clients, [self.repo])
101-
102-
limit_start, limit_finish = self._get_usage(binded_repos, clients)
103-
104-
self.assertTrue(self._is_only_one_token_used(limit_start, limit_finish))
105-
self.assertTrue(self._is_max_token_used(limit_start, limit_finish))
106-
107-
def test_issues_parser(self):
108-
self.args.issues = True
109-
for i in range(2):
110-
clients = git_logger.Clients(
111-
"github", self._change_tokens_order(self.tokens, i)
112-
)
113-
binded_repos = git_logger.get_next_binded_repo(clients, [self.repo])
114-
115-
limit_start, limit_finish = self._get_usage(binded_repos, clients)
116-
117-
self.assertTrue(self._is_only_one_token_used(limit_start, limit_finish))
118-
self.assertTrue(self._is_max_token_used(limit_start, limit_finish))
119-
120-
def test_invites_parser(self):
121-
self.args.invites = True
122-
for i in range(2):
123-
clients = git_logger.Clients(
124-
"github", self._change_tokens_order(self.tokens, i)
125-
)
126-
binded_repos = git_logger.get_next_binded_repo(clients, [self.repo])
127-
128-
limit_start, limit_finish = self._get_usage(binded_repos, clients)
129-
130-
self.assertTrue(self._is_only_one_token_used(limit_start, limit_finish))
131-
self.assertTrue(self._is_max_token_used(limit_start, limit_finish))
85+
@parametrize(
86+
'args',
87+
[
88+
param({'commits': True}, id='commits'),
89+
param({'contributors': True}, id='contributors'),
90+
param({'issues': True}, id='issues'),
91+
param({'invites': True}, id='invites'),
92+
param({'pull_requests': True}, id='pull_requests'),
93+
],
94+
)
95+
def test_commits_parser(self, args: dict[str, bool]):
96+
# patch args
97+
for k, v in args.items():
98+
setattr(self.args, k, v)
13299

133-
def test_pull_requests_parser(self):
134-
self.args.pull_requests = True
135100
for i in range(2):
136101
clients = git_logger.Clients(
137102
"github", self._change_tokens_order(self.tokens, i)

0 commit comments

Comments
 (0)