@@ -780,6 +780,19 @@ def test_productcomponent_model_is_custom_component(self):
780780 pc1 .save ()
781781 self .assertFalse (pc1 .is_custom_component )
782782
783+ def test_productpackage_model_update_license_unknown (self ):
784+ package1 = make_package (self .dataspace , declared_license_expression = "mit" )
785+ pp1 = make_product_package (self .product1 , package = package1 )
786+
787+ pp1 .update_license_unknown ()
788+ pp1 .refresh_from_db ()
789+ self .assertEqual ("" , pp1 .license_expression )
790+
791+ pp1 .update (license_expression = "unknown" )
792+ pp1 .update_license_unknown ()
793+ pp1 .refresh_from_db ()
794+ self .assertEqual ("mit" , pp1 .license_expression )
795+
783796 def test_product_relationship_queryset_vulnerable (self ):
784797 pp1 = make_product_package (self .product1 )
785798 product_package_qs = ProductPackage .objects .vulnerable ()
@@ -833,6 +846,39 @@ def test_product_relationship_queryset_update_weighted_risk_score(self):
833846 pp1 .refresh_from_db ()
834847 self .assertIsNone (pp1 .weighted_risk_score )
835848
849+ def test_productpackage_queryset_license_unknown (self ):
850+ package1 = make_package (self .dataspace , declared_license_expression = "unknown" )
851+ package2 = make_package (self .dataspace , declared_license_expression = "mit" )
852+ pp1 = make_product_package (self .product1 , package = package1 )
853+ pp2 = make_product_package (self .product1 , package = package2 )
854+
855+ qs = ProductPackage .objects .license_unknown ()
856+ self .assertQuerySetEqual ([], qs )
857+
858+ pp1 .update (license_expression = "unknown" )
859+ pp2 .update (license_expression = "mit" )
860+ qs = ProductPackage .objects .license_unknown ()
861+ self .assertQuerySetEqual (qs , [pp1 ])
862+
863+ def test_productpackage_queryset_update_license_unknown (self ):
864+ package1 = make_package (self .dataspace , declared_license_expression = "mit" )
865+ package2 = make_package (self .dataspace , declared_license_expression = "mit" )
866+ pp1 = make_product_package (self .product1 , package = package1 )
867+ pp2 = make_product_package (self .product1 , package = package2 )
868+
869+ ProductPackage .objects .update_license_unknown ()
870+ pp1 .refresh_from_db ()
871+ pp2 .refresh_from_db ()
872+ self .assertEqual ("" , pp1 .license_expression )
873+ self .assertEqual ("" , pp2 .license_expression )
874+
875+ pp1 .update (license_expression = "unknown" )
876+ ProductPackage .objects .update_license_unknown ()
877+ pp1 .refresh_from_db ()
878+ pp2 .refresh_from_db ()
879+ self .assertEqual ("mit" , pp1 .license_expression )
880+ self .assertEqual ("" , pp2 .license_expression )
881+
836882 def test_productrelation_model_compute_weighted_risk_score (self ):
837883 purpose1 = make_product_item_purpose (self .dataspace )
838884
0 commit comments