@@ -780,8 +780,172 @@ function Test-GremlinInAccountRestoreOperationsCmdlets
780780 }
781781 Finally
782782 {
783- Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $GraphName
784- Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
783+ Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $GraphName
784+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
785+ }
786+ }
787+
788+ <#
789+ . SYNOPSIS
790+ 1. Create database.
791+ 2. Create container.
792+ 3. Get database.
793+ 4. Get container.
794+ 5. Delete container.
795+ 6. Restore non-existent container and expect failure.
796+ 7. Restore container (from #5).
797+ 8. Delete database.
798+ 9. Restore container and expect failure (due to the database being offline).
799+ 10. Restore database.
800+ 11. Restore container.
801+ 12. Restore container again and expect failure (as the collection is already online).
802+ 13. Delete database.
803+ 14. Restore non-existent database and expect failure.
804+ 15. Restore database.
805+ 16. Restore database again and expect failure (as the database already exists).
806+ 17. Restore collection.
807+ #>
808+ function Test-GremlinInAccountCoreFunctionalityNoTimestampBasedRestoreCmdletsV2
809+ {
810+ $AccountName = " iar-gremlingraph-ntbr"
811+ $rgName = " CosmosDBResourceGroup50"
812+ $DatabaseName = " dbName"
813+ $ContainerName = " collection1"
814+ $location = " West US"
815+ $PartitionKeyPathValue = " /foo"
816+ $PartitionKeyKindValue = " Hash"
817+ $apiKind = " Gremlin"
818+ $consistencyLevel = " Session"
819+ $locations = @ ()
820+ $locations += New-AzCosmosDBLocationObject - LocationName " West US" - FailoverPriority 0 - IsZoneRedundant 0
821+
822+ Try {
823+
824+ $resourceGroup = New-AzResourceGroup - ResourceGroupName $rgName - Location $location
825+ New-AzCosmosDBAccount - ResourceGroupName $rgName - LocationObject $locations - Name $AccountName - ApiKind $apiKind - DefaultConsistencyLevel $consistencyLevel - BackupPolicyType Continuous
826+
827+ # 1. Create a new database
828+ $NewDatabase = New-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
829+ Assert-AreEqual $NewDatabase.Name $DatabaseName
830+
831+ # 2. Create a new container
832+ $NewContainer = New-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName - PartitionKeyPath $PartitionKeyPathValue - PartitionKeyKind $PartitionKeyKindValue
833+ Assert-AreEqual $NewContainer.Name $ContainerName
834+
835+ # 3. Get a database
836+ $Database = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
837+ Assert-AreEqual $NewDatabase.Id $Database.Id
838+ Assert-AreEqual $NewDatabase.Name $Database.Name
839+ Assert-NotNull ($Database )
840+
841+ # 4. Get a container
842+ $Container = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
843+ Assert-AreEqual $NewContainer.Id $Container.Id
844+ Assert-AreEqual $NewContainer.Name $Container.Name
845+ Assert-NotNull ($Container )
846+
847+ Start-TestSleep - s 50
848+
849+ # 5. Remove container
850+ Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
851+
852+ Start-TestSleep - s 50
853+
854+ # 6. Restore non-existent container - expect failure
855+ $InvalidContainerName = " Invalid-Container459"
856+ $RestoreInvalidContainerResult = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $InvalidContainerName
857+ Assert-Null $RestoreInvalidContainerResult
858+
859+ # 7. Restore deleted container in #5
860+ Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
861+
862+ Start-TestSleep - s 50
863+
864+ # list containers
865+ $ListContainers = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
866+ Assert-NotNull ($ListContainers )
867+
868+ # 8. Delete database
869+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
870+
871+ Start-TestSleep - s 100
872+
873+ # list databases
874+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
875+ Assert-Null ($ListDatabases )
876+
877+ # 9. Restore container - expect failure (database is offline)
878+ $RestoreContainerWhenDatabaseOfflineResult = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
879+ Assert-Null $RestoreContainerWhenDatabaseOfflineResult
880+
881+ # 10. Restore deleted database
882+ Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
883+
884+ Start-TestSleep - s 50
885+
886+ # list databases
887+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
888+ Assert-NotNull ($ListDatabases )
889+
890+ Start-TestSleep - s 50
891+
892+ # 11. Restore collection
893+ $RestoredCollection = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
894+
895+ Start-TestSleep - s 50
896+
897+ # list containers
898+ $ListContainers = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
899+ Assert-NotNull ($ListContainers )
900+
901+ # 12. Restore container again - expect failure (collection already online)
902+ $SecondInAccountContainerRestore = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
903+ Assert-Null $SecondInAccountContainerRestore
904+
905+ # 13. Delete database
906+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
907+
908+ Start-TestSleep - s 100
909+
910+ # list databases
911+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
912+ Assert-Null ($ListDatabases )
913+
914+ # 14. Restore non-existent database - expect failure
915+ $InvalidDatabaseName = " InvalidDatabaseName"
916+ $RestoreInvalidDatabase = Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $InvalidDatabaseName
917+ Assert-Null $RestoreInvalidDatabase
918+
919+
920+ # 15. Restore database
921+ Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
922+
923+ Start-TestSleep - s 50
924+
925+ # list databases
926+ $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
927+ Assert-NotNull ($ListDatabases )
928+
929+ # 16. Restore database again - expect failure (database already exists)
930+ $SecondInAccountDatabaseRestore = Restore-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
931+ Assert-Null $SecondInAccountDatabaseRestore
932+
933+ # 17. Restore collection
934+ $RestoredCollection = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
935+ Start-TestSleep - s 50
936+ Assert-NotNull $RestoredCollection
937+
938+ # list containers
939+ $ListContainers = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
940+ Assert-NotNull $ListContainers
941+ }
942+ Catch {
943+ Write-Output " Error: $_ "
944+ throw $_
945+ }
946+ Finally {
947+ Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $ContainerName
948+ Remove-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName - Name $DatabaseName
785949 }
786950}
787951
@@ -855,7 +1019,7 @@ function Test-GremlinInAccountRestoreOperationsNoTimestampCmdlets
8551019 $IsGraphRemoved = Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $graphName - PassThru
8561020 Assert-AreEqual $IsGraphRemoved true
8571021
858- Start-TestSleep - s 50
1022+ Start-TestSleep - s 100
8591023
8601024 $Restoredgraph = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $graphName
8611025
@@ -883,12 +1047,11 @@ function Test-GremlinInAccountRestoreOperationsNoTimestampCmdlets
8831047 Catch {
8841048 Assert-AreEqual $_.Exception.Message.Contains (" No graph with name" ) true
8851049 }
886-
8871050 Start-TestSleep - s 50
8881051
8891052 # List graphs
8901053 $Listgraphs = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
891- Assert-Null ($Listgraphs )
1054+ Assert-NotNull ($Listgraphs )
8921055
8931056 # List databases
8941057 $ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
0 commit comments