@@ -681,3 +681,42 @@ def test_removal_of_duped_purls(self):
681681
682682 assert adv .filter (created_by = "vulnerabilities.importers.npm.NpmImporter" ).count () == 0
683683 assert adv .filter (created_by = "npm_importer" ).count () == 1
684+
685+
686+ class TestUpdateNginxAdvisoryCreatedByField (TestMigrations ):
687+ app_name = "vulnerabilities"
688+ migrate_from = "0064_update_npm_pypa_advisory_created_by"
689+ migrate_to = "0065_update_nginx_advisory_created_by"
690+
691+ advisory_data1 = AdvisoryData (
692+ aliases = ["CVE-2020-13371337" ],
693+ summary = "vulnerability description here" ,
694+ affected_packages = [
695+ AffectedPackage (
696+ package = PackageURL (type = "nginx" , name = "nginx" ),
697+ affected_version_range = VersionRange .from_string ("vers:nginx/>=1.0.0|<=2.0.0" ),
698+ )
699+ ],
700+ references = [Reference (url = "https://example.com/with/more/info/CVE-2020-13371337" )],
701+ date_published = timezone .now (),
702+ url = "https://test.com" ,
703+ )
704+
705+ def setUpBeforeMigration (self , apps ):
706+ Advisory = apps .get_model ("vulnerabilities" , "Advisory" )
707+ adv1 = Advisory .objects .create (
708+ aliases = self .advisory_data1 .aliases ,
709+ summary = self .advisory_data1 .summary ,
710+ affected_packages = [pkg .to_dict () for pkg in self .advisory_data1 .affected_packages ],
711+ references = [ref .to_dict () for ref in self .advisory_data1 .references ],
712+ url = self .advisory_data1 .url ,
713+ created_by = "vulnerabilities.importers.nginx.NginxImporter" ,
714+ date_collected = timezone .now (),
715+ )
716+
717+ def test_removal_of_duped_purls (self ):
718+ Advisory = apps .get_model ("vulnerabilities" , "Advisory" )
719+ adv = Advisory .objects .all ()
720+
721+ assert adv .filter (created_by = "vulnerabilities.importers.nginx.NginxImporter" ).count () == 0
722+ assert adv .filter (created_by = "nginx_importer" ).count () == 1
0 commit comments