@@ -527,8 +527,172 @@ function Test-GremlinInAccountRestoreOperationsCmdlets
527
527
}
528
528
Finally
529
529
{
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
532
696
}
533
697
}
534
698
@@ -602,7 +766,7 @@ function Test-GremlinInAccountRestoreOperationsNoTimestampCmdlets
602
766
$IsGraphRemoved = Remove-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $graphName - PassThru
603
767
Assert-AreEqual $IsGraphRemoved true
604
768
605
- Start-TestSleep - s 50
769
+ Start-TestSleep - s 100
606
770
607
771
$Restoredgraph = Restore-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName - Name $graphName
608
772
@@ -630,12 +794,11 @@ function Test-GremlinInAccountRestoreOperationsNoTimestampCmdlets
630
794
Catch {
631
795
Assert-AreEqual $_.Exception.Message.Contains (" No graph with name" ) true
632
796
}
633
-
634
797
Start-TestSleep - s 50
635
798
636
799
# List graphs
637
800
$Listgraphs = Get-AzCosmosDBGremlinGraph - AccountName $AccountName - ResourceGroupName $rgName - DatabaseName $DatabaseName
638
- Assert-Null ($Listgraphs )
801
+ Assert-NotNull ($Listgraphs )
639
802
640
803
# List databases
641
804
$ListDatabases = Get-AzCosmosDBGremlinDatabase - AccountName $AccountName - ResourceGroupName $rgName
0 commit comments