55import git_logger
66from main import run
77
8+ from unittest_parametrize import parametrize
9+ from unittest_parametrize import ParametrizedTestCase
10+ from unittest_parametrize import param
11+
812
913def 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