@@ -527,8 +527,172 @@ function Test-GremlinInAccountRestoreOperationsCmdlets
527527 }
528528 Finally
529529 {
530- Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $GraphName
531- Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
530+ Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $GraphName
531+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
532+ }
533+ }
534+
535+ <#
536+ . SYNOPSIS
537+ 1. Create database.
538+ 2. Create container.
539+ 3. Get database.
540+ 4. Get container.
541+ 5. Delete container.
542+ 6. Restore non-existent container and expect failure.
543+ 7. Restore container (from #5).
544+ 8. Delete database.
545+ 9. Restore container and expect failure (due to the database being offline).
546+ 10. Restore database.
547+ 11. Restore container.
548+ 12. Restore container again and expect failure (as the collection is already online).
549+ 13. Delete database.
550+ 14. Restore non-existent database and expect failure.
551+ 15. Restore database.
552+ 16. Restore database again and expect failure (as the database already exists).
553+ 17. Restore collection.
554+ #>
555+ function Test-GremlinInAccountCoreFunctionalityNoTimestampBasedRestoreCmdletsV2
556+ {
557+ $AccountName = " iar-gremlingraph-ntbr"
558+ $rgName = " CosmosDBResourceGroup50"
559+ $DatabaseName = " dbName"
560+ $ContainerName = " collection1"
561+ $location = " West US"
562+ $PartitionKeyPathValue = " /foo"
563+ $PartitionKeyKindValue = " Hash"
564+ $apiKind = " Gremlin"
565+ $consistencyLevel = " Session"
566+ $locations = @ ()
567+ $locations += New-AzCosmosDBLocationObject - LocationName " West US" - FailoverPriority 0 - IsZoneRedundant 0
568+
569+ Try {
570+
571+ $resourceGroup = New-AzResourceGroup - ResourceGroupName $rgName - Location $location
572+ New-AzCosmosDBAccount - ResourceGroupName $rgName - LocationObject $locations - Name $AccountName - ApiKind $apiKind - DefaultConsistencyLevel $consistencyLevel - BackupPolicyType Continuous
573+
574+ # 1. Create a new database
575+ $NewDatabase = New-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
576+ Assert-AreEqual $NewDatabase.Name $DatabaseName
577+
578+ # 2. Create a new container
579+ $NewContainer = New-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName - PartitionKeyPath $PartitionKeyPathValue - PartitionKeyKind $PartitionKeyKindValue
580+ Assert-AreEqual $NewContainer.Name $ContainerName
581+
582+ # 3. Get a database
583+ $Database = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
584+ Assert-AreEqual $NewDatabase.Id $Database.Id
585+ Assert-AreEqual $NewDatabase.Name $Database.Name
586+ Assert-NotNull ($Database )
587+
588+ # 4. Get a container
589+ $Container = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
590+ Assert-AreEqual $NewContainer.Id $Container.Id
591+ Assert-AreEqual $NewContainer.Name $Container.Name
592+ Assert-NotNull ($Container )
593+
594+ Start-TestSleep - s 50
595+
596+ # 5. Remove container
597+ Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
598+
599+ Start-TestSleep - s 50
600+
601+ # 6. Restore non-existent container - expect failure
602+ $InvalidContainerName = " Invalid-Container459"
603+ $RestoreInvalidContainerResult = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $InvalidContainerName
604+ Assert-Null $RestoreInvalidContainerResult
605+
606+ # 7. Restore deleted container in #5
607+ Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
608+
609+ Start-TestSleep - s 50
610+
611+ # list containers
612+ $ListContainers = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
613+ Assert-NotNull ($ListContainers )
614+
615+ # 8. Delete database
616+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
617+
618+ Start-TestSleep - s 100
619+
620+ # list databases
621+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
622+ Assert-Null ($ListDatabases )
623+
624+ # 9. Restore container - expect failure (database is offline)
625+ $RestoreContainerWhenDatabaseOfflineResult = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
626+ Assert-Null $RestoreContainerWhenDatabaseOfflineResult
627+
628+ # 10. Restore deleted database
629+ Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
630+
631+ Start-TestSleep - s 50
632+
633+ # list databases
634+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
635+ Assert-NotNull ($ListDatabases )
636+
637+ Start-TestSleep - s 50
638+
639+ # 11. Restore collection
640+ $RestoredCollection = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
641+
642+ Start-TestSleep - s 50
643+
644+ # list containers
645+ $ListContainers = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
646+ Assert-NotNull ($ListContainers )
647+
648+ # 12. Restore container again - expect failure (collection already online)
649+ $SecondInAccountContainerRestore = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
650+ Assert-Null $SecondInAccountContainerRestore
651+
652+ # 13. Delete database
653+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
654+
655+ Start-TestSleep - s 100
656+
657+ # list databases
658+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
659+ Assert-Null ($ListDatabases )
660+
661+ # 14. Restore non-existent database - expect failure
662+ $InvalidDatabaseName = " InvalidDatabaseName"
663+ $RestoreInvalidDatabase = Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $InvalidDatabaseName
664+ Assert-Null $RestoreInvalidDatabase
665+
666+
667+ # 15. Restore database
668+ Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
669+
670+ Start-TestSleep - s 50
671+
672+ # list databases
673+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
674+ Assert-NotNull ($ListDatabases )
675+
676+ # 16. Restore database again - expect failure (database already exists)
677+ $SecondInAccountDatabaseRestore = Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
678+ Assert-Null $SecondInAccountDatabaseRestore
679+
680+ # 17. Restore collection
681+ $RestoredCollection = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
682+ Start-TestSleep - s 50
683+ Assert-NotNull $RestoredCollection
684+
685+ # list containers
686+ $ListContainers = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
687+ Assert-NotNull $ListContainers
688+ }
689+ Catch {
690+ Write-Output " Error: $_ "
691+ throw $_
692+ }
693+ Finally {
694+ Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
695+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
532696 }
533697}
534698
@@ -602,7 +766,7 @@ function Test-GremlinInAccountRestoreOperationsNoTimestampCmdlets
602766 $IsGraphRemoved = Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $graphName - PassThru
603767 Assert-AreEqual $IsGraphRemoved true
604768
605- Start-TestSleep - s 50
769+ Start-TestSleep - s 100
606770
607771 $Restoredgraph = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $graphName
608772
@@ -630,12 +794,11 @@ function Test-GremlinInAccountRestoreOperationsNoTimestampCmdlets
630794 Catch {
631795 Assert-AreEqual $_.Exception.Message.Contains (" No graph with name" ) true
632796 }
633-
634797 Start-TestSleep - s 50
635798
636799 # List graphs
637800 $Listgraphs = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
638- Assert-Null ($Listgraphs )
801+ Assert-NotNull ($Listgraphs )
639802
640803 # List databases
641804 $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
0 commit comments