(mock_response)
| 49 | |
| 50 | @patch("vulnerabilities.improvers.valid_versions.RubyImprover.get_package_versions") |
| 51 | def test_ruby_improver(mock_response): |
| 52 | advisory_file = os.path.join(TEST_DATA, f"parse-advisory-ruby-expected.json") |
| 53 | with open(advisory_file) as exp: |
| 54 | advisories = [AdvisoryData.from_dict(adv) for adv in (json.load(exp))] |
| 55 | mock_response.return_value = ["0.2.6", "1.2.7", "1.3.6", "2.2.1", "3.0.2", "3.0.5"] |
| 56 | improvers = [RubyImprover(), DefaultImprover()] |
| 57 | result = [] |
| 58 | for improver in improvers: |
| 59 | for advisory in advisories: |
| 60 | inference = [data.to_dict() for data in improver.get_inferences(advisory)] |
| 61 | result.extend(inference) |
| 62 | expected_file = os.path.join(TEST_DATA, f"ruby-improver-expected.json") |
| 63 | util_tests.check_results_against_json(result, expected_file) |
| 64 | |
| 65 | |
| 66 | @pytest.mark.parametrize( |
nothing calls this directly
no test coverage detected