@@ -657,6 +657,41 @@ func TestHandler_DeleteModel(t *testing.T) {
657
657
require .Equal (t , codes .NotFound , status .Code (err ))
658
658
}
659
659
660
+ func TestHandler_DeleteModelAfterDeletingModelVersion (t * testing.T ) {
661
+ setup := Setup (t )
662
+
663
+ // add new model
664
+ msgCreateModel := NewMsgCreateModel (setup .Vendor )
665
+ _ , err := setup .Handler (setup .Ctx , msgCreateModel )
666
+ require .NoError (t , err )
667
+
668
+ // add two new model versions
669
+ msgCreateModelVersion1 := NewMsgCreateModelVersion (setup .Vendor , testconstants .SoftwareVersion )
670
+ _ , err = setup .Handler (setup .Ctx , msgCreateModelVersion1 )
671
+ require .NoError (t , err )
672
+
673
+ msgCreateModelVersion2 := NewMsgCreateModelVersion (setup .Vendor , testconstants .SoftwareVersion + 1 )
674
+ _ , err = setup .Handler (setup .Ctx , msgCreateModelVersion2 )
675
+ require .NoError (t , err )
676
+
677
+ complianceKeeper := setup .ComplianceKeeper
678
+ complianceKeeper .On ("GetComplianceInfo" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (false )
679
+
680
+ msgDeleteModelVersion1 := NewMsgDeleteModelVersion (setup .Vendor )
681
+ _ , err = setup .Handler (setup .Ctx , msgDeleteModelVersion1 )
682
+ require .NoError (t , err )
683
+
684
+ msgDeleteModel := NewMsgDeleteModel (setup .Vendor )
685
+ // delete existing model
686
+ _ , err = setup .Handler (setup .Ctx , msgDeleteModel )
687
+ require .NoError (t , err )
688
+
689
+ // query deleted model
690
+ _ , err = queryModel (setup , msgDeleteModel .Vid , msgDeleteModel .Pid )
691
+ require .Error (t , err )
692
+ require .Equal (t , codes .NotFound , status .Code (err ))
693
+ }
694
+
660
695
func TestHandler_DeleteModelWithAssociatedModelVersionsNotCertified (t * testing.T ) {
661
696
setup := Setup (t )
662
697
@@ -1433,6 +1468,65 @@ func TestHandler_DeleteModelVersion(t *testing.T) {
1433
1468
)
1434
1469
require .Error (t , err )
1435
1470
require .Equal (t , codes .NotFound , status .Code (err ))
1471
+
1472
+ // query model versions
1473
+ _ , err = queryAllModelVersions (
1474
+ setup ,
1475
+ msgDeleteModelVersion .Vid ,
1476
+ msgDeleteModelVersion .Pid ,
1477
+ )
1478
+ require .Error (t , err )
1479
+ require .Equal (t , codes .NotFound , status .Code (err ))
1480
+ }
1481
+
1482
+ func TestHandler_DeleteOneOfTwoModelVersions (t * testing.T ) {
1483
+ setup := Setup (t )
1484
+
1485
+ // add new model
1486
+ msgCreateModel := NewMsgCreateModel (setup .Vendor )
1487
+ _ , err := setup .Handler (setup .Ctx , msgCreateModel )
1488
+ require .NoError (t , err )
1489
+
1490
+ // add two new model versions
1491
+ msgCreateModelVersion1 := NewMsgCreateModelVersion (setup .Vendor , testconstants .SoftwareVersion )
1492
+ _ , err = setup .Handler (setup .Ctx , msgCreateModelVersion1 )
1493
+ require .NoError (t , err )
1494
+
1495
+ msgCreateModelVersion2 := NewMsgCreateModelVersion (setup .Vendor , testconstants .SoftwareVersion + 1 )
1496
+ _ , err = setup .Handler (setup .Ctx , msgCreateModelVersion2 )
1497
+ require .NoError (t , err )
1498
+
1499
+ // mock model versions not to be certified
1500
+ complianceKeeper := setup .ComplianceKeeper
1501
+ complianceKeeper .On ("GetComplianceInfo" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (false )
1502
+
1503
+ msgDeleteModelVersion := NewMsgDeleteModelVersion (setup .Vendor )
1504
+ _ , err = setup .Handler (setup .Ctx , msgDeleteModelVersion )
1505
+ require .NoError (t , err )
1506
+
1507
+ // query deleted model version
1508
+ _ , err = queryModelVersion (
1509
+ setup ,
1510
+ msgCreateModelVersion1 .Vid ,
1511
+ msgCreateModelVersion1 .Pid ,
1512
+ msgCreateModelVersion1 .SoftwareVersion ,
1513
+ )
1514
+ require .Error (t , err )
1515
+ require .Equal (t , codes .NotFound , status .Code (err ))
1516
+
1517
+ // query not deleted model version
1518
+ modelVersion , err := queryModelVersion (
1519
+ setup ,
1520
+ msgCreateModelVersion2 .Vid ,
1521
+ msgCreateModelVersion2 .Pid ,
1522
+ msgCreateModelVersion2 .SoftwareVersion ,
1523
+ )
1524
+ require .NoError (t , err )
1525
+ require .NotNil (t , modelVersion )
1526
+
1527
+ modelVersions , err := queryAllModelVersions (setup , msgCreateModel .Vid , msgCreateModel .Pid )
1528
+ require .NoError (t , err )
1529
+ require .Equal (t , []uint32 {msgCreateModelVersion2 .SoftwareVersion }, modelVersions .SoftwareVersions )
1436
1530
}
1437
1531
1438
1532
func TestHandler_DeleteModelVersionDifferentAccSameVid (t * testing.T ) {
0 commit comments