77 check_dependencies ,
88 get_configuration ,
99 get_logging_level ,
10- get_parsed_dependencies ,
10+ get_parsed_dependencies_from_file ,
1111)
1212
1313
@@ -129,16 +129,17 @@ def test_logging_level(self, passed_logging_level, config, logging_level):
129129 ),
130130 )
131131 @patch ("twyn.main.TopPyPiReference" )
132- @patch ("twyn.main.get_parsed_dependencies " )
132+ @patch ("twyn.main.get_parsed_dependencies_from_file " )
133133 def test_check_dependencies_detects_typosquats (
134- self , mock_get_parsed_dependencies , mock_top_pypi_reference , package_name
134+ self , mock_get_parsed_dependencies_from_file , mock_top_pypi_reference , package_name
135135 ):
136136 mock_top_pypi_reference .return_value .get_packages .return_value = {"mypackage" }
137- mock_get_parsed_dependencies .return_value = {package_name }
137+ mock_get_parsed_dependencies_from_file .return_value = {package_name }
138138
139139 error = check_dependencies (
140140 config_file = None ,
141141 dependency_file = None ,
142+ dependencies_cli = None ,
142143 selector_method = "first-letter" ,
143144 )
144145
@@ -154,52 +155,86 @@ def test_check_dependencies_detects_typosquats(
154155 ),
155156 )
156157 @patch ("twyn.main.TopPyPiReference" )
157- @patch ("twyn.main.get_parsed_dependencies" )
158+ def test_check_dependencies_with_input_from_cli_detects_typosquats (self , mock_top_pypi_reference , package_name ):
159+ mock_top_pypi_reference .return_value .get_packages .return_value = {"mypackage" }
160+
161+ error = check_dependencies (
162+ config_file = None ,
163+ dependency_file = None ,
164+ dependencies_cli = {package_name },
165+ selector_method = "first-letter" ,
166+ )
167+
168+ assert error is True
169+
170+ @patch ("twyn.main.TopPyPiReference" )
171+ def test_check_dependencies_with_input_from_cli_accepts_multiple_dependencies (self , mock_top_pypi_reference ):
172+ mock_top_pypi_reference .return_value .get_packages .return_value = {"requests" , "mypackage" }
173+
174+ error = check_dependencies (
175+ config_file = None ,
176+ dependency_file = None ,
177+ dependencies_cli = {"my-package" , "requests" },
178+ selector_method = "first-letter" ,
179+ )
180+
181+ assert error is True
182+
183+ @pytest .mark .parametrize (
184+ "package_name" ,
185+ (
186+ "my.package" ,
187+ "my-package" ,
188+ "my_package" ,
189+ "My.Package" ,
190+ ),
191+ )
192+ @patch ("twyn.main.TopPyPiReference" )
193+ @patch ("twyn.main.get_parsed_dependencies_from_file" )
158194 def test_check_dependencies_ignores_package_in_allowlist (
159- self , mock_get_parsed_dependencies , mock_top_pypi_reference , package_name
195+ self , mock_get_parsed_dependencies_from_file , mock_top_pypi_reference , package_name
160196 ):
161197 mock_top_pypi_reference .return_value .get_packages .return_value = {"mypackage" }
162- mock_get_parsed_dependencies .return_value = {package_name }
198+ mock_get_parsed_dependencies_from_file .return_value = {package_name }
163199
164200 m_config = Mock (
165201 allowlist = {package_name },
166202 dependency_file = None ,
203+ dependencies_cli = None ,
167204 selector_method = "first-letter" ,
168205 )
169206
170207 with patch ("twyn.main.get_configuration" , return_value = m_config ):
171208 error = check_dependencies (
172209 config_file = None ,
173210 dependency_file = None ,
211+ dependencies_cli = None ,
174212 selector_method = "first-letter" ,
175213 )
176214
177215 assert error is False
178216
179- @pytest .mark .parametrize (
180- "package_name" , ("my.package" , "my-package" , "my_package" , "My.Package" )
181- )
217+ @pytest .mark .parametrize ("package_name" , ("my.package" , "my-package" , "my_package" , "My.Package" ))
182218 @patch ("twyn.main.TopPyPiReference" )
183- @patch ("twyn.main.get_parsed_dependencies " )
219+ @patch ("twyn.main.get_parsed_dependencies_from_file " )
184220 def test_check_dependencies_does_not_error_on_same_package (
185- self , mock_get_parsed_dependencies , mock_top_pypi_reference , package_name
221+ self , mock_get_parsed_dependencies_from_file , mock_top_pypi_reference , package_name
186222 ):
187223 mock_top_pypi_reference .return_value .get_packages .return_value = {"my-package" }
188- mock_get_parsed_dependencies .return_value = {package_name }
224+ mock_get_parsed_dependencies_from_file .return_value = {package_name }
189225
190226 error = check_dependencies (
191227 config_file = None ,
192228 dependency_file = None ,
229+ dependencies_cli = None ,
193230 selector_method = "first-letter" ,
194231 )
195232
196233 assert error is False
197234
198- @patch (
199- "twyn.dependency_parser.dependency_selector.DependencySelector.get_dependency_parser"
200- )
235+ @patch ("twyn.dependency_parser.dependency_selector.DependencySelector.get_dependency_parser" )
201236 @patch ("twyn.dependency_parser.requirements_txt.RequirementsTxtParser.parse" )
202- def test_get_parsed_dependencies (self , mock_parse , mock_get_dependency_parser ):
237+ def test_get_parsed_dependencies_from_file (self , mock_parse , mock_get_dependency_parser ):
203238 mock_get_dependency_parser .return_value = RequirementsTxtParser ()
204239 mock_parse .return_value = {"boto3" }
205- assert get_parsed_dependencies () == {"boto3" }
240+ assert get_parsed_dependencies_from_file () == {"boto3" }
0 commit comments