@@ -459,6 +459,45 @@ func TestSync(t *testing.T) {
459459			expectSuccess :     false ,
460460			test :              testSyncContentError ,
461461		},
462+ 		{
463+ 			name :              "8-1 - Snapshot status nil, no initial snapshot content, new content should be created" ,
464+ 			initialContents :   nocontents ,
465+ 			expectedContents :  withContentAnnotations (newContentArrayNoStatus ("snapcontent-snapuid8-1" , "snapuid8-1" , "snap8-1" , "sid8-1" , validSecretClass , "" , "pv-handle8-1" , deletionPolicy , nil , nil , false , false ), map [string ]string {utils .AnnDeletionSecretRefName : "secret" , utils .AnnDeletionSecretRefNamespace : "default" }),
466+ 			initialSnapshots :  newSnapshotArray ("snap8-1" , "snapuid8-1" , "claim8-1" , "" , validSecretClass , "" , nil , nil , nil , nil , true , false , nil ),
467+ 			expectedSnapshots : newSnapshotArray ("snap8-1" , "snapuid8-1" , "claim8-1" , "" , validSecretClass , "snapcontent-snapuid8-1" , & False , nil , nil , nil , false , false , nil ),
468+ 			initialClaims :     newClaimArray ("claim8-1" , "pvc-uid8-1" , "1Gi" , "volume8-1" , v1 .ClaimBound , & classEmpty ),
469+ 			initialVolumes :    newVolumeArray ("volume8-1" , "pv-uid8-1" , "pv-handle8-1" , "1Gi" , "pvc-uid8-1" , "claim8-1" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
470+ 			initialSecrets :    []* v1.Secret {secret ()},
471+ 			errors :            noerrors ,
472+ 			expectSuccess :     true ,
473+ 			test :              testNewSnapshotContentCreation ,
474+ 		},
475+ 		{
476+ 			name :              "8-2 - Snapshot status with nil error, no initial snapshot content, new content should be created" ,
477+ 			initialContents :   nocontents ,
478+ 			expectedContents :  withContentAnnotations (newContentArrayNoStatus ("snapcontent-snapuid8-2" , "snapuid8-2" , "snap8-2" , "sid8-2" , validSecretClass , "" , "pv-handle8-2" , deletionPolicy , nil , nil , false , false ), map [string ]string {utils .AnnDeletionSecretRefName : "secret" , utils .AnnDeletionSecretRefNamespace : "default" }),
479+ 			initialSnapshots :  newSnapshotArray ("snap8-2" , "snapuid8-2" , "claim8-2" , "" , validSecretClass , "" , nil , nil , nil , nil , false , false , nil ),
480+ 			expectedSnapshots : newSnapshotArray ("snap8-2" , "snapuid8-2" , "claim8-2" , "" , validSecretClass , "snapcontent-snapuid8-2" , & False , nil , nil , nil , false , false , nil ),
481+ 			initialClaims :     newClaimArray ("claim8-2" , "pvc-uid8-2" , "1Gi" , "volume8-2" , v1 .ClaimBound , & classEmpty ),
482+ 			initialVolumes :    newVolumeArray ("volume8-2" , "pv-uid8-2" , "pv-handle8-2" , "1Gi" , "pvc-uid8-2" , "claim8-2" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
483+ 			initialSecrets :    []* v1.Secret {secret ()},
484+ 			errors :            noerrors ,
485+ 			expectSuccess :     true ,
486+ 			test :              testNewSnapshotContentCreation ,
487+ 		},
488+ 		{
489+ 			name :              "8-3 - Snapshot status with error, no initial content, new content created with no status, snapshot updates bound content and readytoUse=False state, error will not be cleared" ,
490+ 			initialContents :   nocontents ,
491+ 			expectedContents :  withContentAnnotations (newContentArrayNoStatus ("snapcontent-snapuid8-3" , "snapuid8-3" , "snap8-3" , "sid8-3" , validSecretClass , "" , "pv-handle8-3" , deletionPolicy , nil , nil , false , false ), map [string ]string {utils .AnnDeletionSecretRefName : "secret" , utils .AnnDeletionSecretRefNamespace : "default" }),
492+ 			initialSnapshots :  newSnapshotArray ("snap8-3" , "snapuid8-3" , "claim8-3" , "" , validSecretClass , "" , nil , nil , nil , newVolumeError ("Mock content error" ), false , false , nil ),
493+ 			expectedSnapshots : newSnapshotArray ("snap8-3" , "snapuid8-3" , "claim8-3" , "" , validSecretClass , "snapcontent-snapuid8-3" , & False , nil , nil , newVolumeError ("Mock content error" ), false , false , nil ),
494+ 			initialClaims :     newClaimArray ("claim8-3" , "pvc-uid8-3" , "1Gi" , "volume8-3" , v1 .ClaimBound , & classEmpty ),
495+ 			initialVolumes :    newVolumeArray ("volume8-3" , "pv-uid8-3" , "pv-handle8-3" , "1Gi" , "pvc-uid8-3" , "claim8-3" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
496+ 			initialSecrets :    []* v1.Secret {secret ()},
497+ 			errors :            noerrors ,
498+ 			expectSuccess :     true ,
499+ 			test :              testNewSnapshotContentCreation ,
500+ 		},
462501	}
463502
464503	runSyncTests (t , tests , snapshotClasses )
0 commit comments