@@ -471,12 +471,137 @@ public void CanCreateNewHDInsightCluster_LinuxComponentVersion()
471
471
472
472
[ Fact ]
473
473
[ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
474
- public void CanCreateNewHDInsightCluster_Kafka_DataDisks_Linux ( )
474
+ public void CanCreateNewHDInsightCluster_DataDisksGroups ( )
475
475
{
476
- ClusterType = "Kafka" ;
477
- HdiVersion = "3.6" ;
476
+ var kafkaClusterType = "Kafka" ;
477
+ var hdiVersion = "3.6" ;
478
+ var coresUsed = 24 ;
479
+ var expectedClusterState = "Running" ;
480
+ var dataDisksGroup = new DataDisksGroupProperties ( )
481
+ {
482
+ DisksPerNode = 8
483
+ } ;
484
+ var workerNodeDataDisksGroups = new List < DataDisksGroupProperties > ( )
485
+ {
486
+ dataDisksGroup
487
+ } ;
488
+
489
+ cmdlet . ClusterName = ClusterName ;
490
+ cmdlet . ResourceGroupName = ResourceGroupName ;
491
+ cmdlet . ClusterSizeInNodes = ClusterSize ;
492
+ cmdlet . Location = Location ;
493
+ cmdlet . HttpCredential = _httpCred ;
494
+ cmdlet . DefaultStorageAccountName = StorageName ;
495
+ cmdlet . DefaultStorageAccountKey = StorageKey ;
496
+ cmdlet . ClusterType = kafkaClusterType ;
497
+ cmdlet . SshCredential = _sshCred ;
498
+ cmdlet . OSType = OSType . Linux ;
499
+ cmdlet . WorkerNodeDataDisksGroups = workerNodeDataDisksGroups ;
500
+
501
+ var cluster = new Cluster
502
+ {
503
+ Id = "id" ,
504
+ Name = ClusterName ,
505
+ Location = Location ,
506
+ Properties = new ClusterGetProperties
507
+ {
508
+ ClusterVersion = hdiVersion ,
509
+ ClusterState = expectedClusterState ,
510
+ ClusterDefinition = new ClusterDefinition
511
+ {
512
+ ClusterType = kafkaClusterType
513
+ } ,
514
+ QuotaInfo = new QuotaInfo
515
+ {
516
+ CoresUsed = coresUsed
517
+ } ,
518
+ OperatingSystemType = OSType . Linux ,
519
+ ComputeProfile = new ComputeProfile ( )
520
+ {
521
+ Roles = new List < Role > ( )
522
+ }
523
+ }
524
+ } ;
525
+
526
+ cluster . Properties . ComputeProfile . Roles . Add ( new Role ( )
527
+ {
528
+ Name = "workernode" ,
529
+ DataDisksGroups = workerNodeDataDisksGroups
530
+ } ) ;
531
+
532
+ var coreConfigs = new Dictionary < string , string >
533
+ {
534
+ { "fs.defaultFS" , "wasb://giyertestcsmv2@" + StorageName } ,
535
+ {
536
+ "fs.azure.account.key." + StorageName ,
537
+ StorageKey
538
+ }
539
+ } ;
540
+ var gatewayConfigs = new Dictionary < string , string >
541
+ {
542
+ { "restAuthCredential.isEnabled" , "true" } ,
543
+ { "restAuthCredential.username" , _httpCred . UserName } ,
544
+ { "restAuthCredential.password" , _httpCred . Password . ConvertToString ( ) }
545
+ } ;
478
546
479
- CreateNewHDInsightCluster ( workerNodeDataDisks : 8 ) ;
547
+ var configurations = new Dictionary < string , Dictionary < string , string > >
548
+ {
549
+ { "core-site" , coreConfigs } ,
550
+ { "gateway" , gatewayConfigs }
551
+ } ;
552
+ var serializedConfig = JsonConvert . SerializeObject ( configurations ) ;
553
+ cluster . Properties . ClusterDefinition . Configurations = serializedConfig ;
554
+
555
+ var getresponse = new ClusterGetResponse { Cluster = cluster } ;
556
+
557
+ hdinsightManagementMock . Setup ( c => c . CreateNewCluster ( ResourceGroupName , ClusterName , It . Is < ClusterCreateParameters > (
558
+ parameters =>
559
+ parameters . ClusterSizeInNodes == ClusterSize &&
560
+ parameters . DefaultStorageInfo as AzureStorageInfo != null &&
561
+ ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountName == StorageName &&
562
+ ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountKey == StorageKey &&
563
+ parameters . Location == Location &&
564
+ parameters . UserName == _httpCred . UserName &&
565
+ parameters . Password == _httpCred . Password . ConvertToString ( ) &&
566
+ parameters . ClusterType == kafkaClusterType &&
567
+ parameters . OSType == OSType . Linux &&
568
+ parameters . SshUserName == _sshCred . UserName &&
569
+ parameters . SshPassword == _sshCred . Password . ConvertToString ( ) &&
570
+ parameters . WorkerNodeDataDisksGroups . First ( ) . DisksPerNode == dataDisksGroup . DisksPerNode ) ) )
571
+ . Returns ( getresponse )
572
+ . Verifiable ( ) ;
573
+ hdinsightManagementMock . Setup (
574
+ c => c . CreateNewCluster ( ResourceGroupName , ClusterName , It . Is < ClusterCreateParameters > (
575
+ parameters =>
576
+ parameters . ClusterSizeInNodes == ClusterSize &&
577
+ parameters . DefaultStorageInfo as AzureStorageInfo != null &&
578
+ ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountName == StorageName &&
579
+ ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountKey == StorageKey &&
580
+ parameters . Location == Location &&
581
+ parameters . UserName == _httpCred . UserName &&
582
+ parameters . Password == _httpCred . Password . ConvertToString ( ) &&
583
+ parameters . ClusterType == ClusterType &&
584
+ parameters . OSType == OSType . Linux &&
585
+ parameters . SshUserName == _sshCred . UserName &&
586
+ parameters . SshPassword == _sshCred . Password . ConvertToString ( ) ) ) )
587
+ . Returns ( getresponse )
588
+ . Verifiable ( ) ;
589
+
590
+ cmdlet . ExecuteCmdlet ( ) ;
591
+
592
+ commandRuntimeMock . VerifyAll ( ) ;
593
+
594
+
595
+ commandRuntimeMock . Verify ( f => f . WriteObject ( It . Is < AzureHDInsightCluster > (
596
+ clusterout =>
597
+ clusterout . ClusterState == expectedClusterState &&
598
+ clusterout . ClusterType == kafkaClusterType &&
599
+ clusterout . ClusterVersion == hdiVersion &&
600
+ clusterout . CoresUsed == coresUsed &&
601
+ clusterout . Location == Location &&
602
+ clusterout . Name == ClusterName &&
603
+ clusterout . OperatingSystemType == OSType . Linux ) ) ,
604
+ Times . Once ) ;
480
605
}
481
606
482
607
[ Fact ]
0 commit comments