@@ -152,7 +152,6 @@ public void CanCreateNewHDInsightCluster_Linux()
152
152
clusterout . Name == ClusterName &&
153
153
clusterout . OperatingSystemType == OSType . Linux ) ) ,
154
154
Times . Once ) ;
155
-
156
155
}
157
156
158
157
[ Fact ]
@@ -206,8 +205,12 @@ public void CanCreateNewHDInsightCluster_Secure_Linux()
206
205
Times . Once ) ;
207
206
}
208
207
209
- private void CreateNewHDInsightCluster ( bool addSecurityProfileInresponse = false , bool setEdgeNodeVmSize = false )
208
+ private void CreateNewHDInsightCluster (
209
+ bool addSecurityProfileInresponse = false ,
210
+ bool setEdgeNodeVmSize = false ,
211
+ int workerNodeDataDisks = 0 )
210
212
{
213
+ // Assign cmdlet parameters
211
214
cmdlet . ClusterName = ClusterName ;
212
215
cmdlet . ResourceGroupName = ResourceGroupName ;
213
216
cmdlet . ClusterSizeInNodes = ClusterSize ;
@@ -218,9 +221,13 @@ private void CreateNewHDInsightCluster(bool addSecurityProfileInresponse = false
218
221
cmdlet . ClusterType = ClusterType ;
219
222
cmdlet . SshCredential = _sshCred ;
220
223
cmdlet . OSType = OSType . Linux ;
224
+ cmdlet . DisksPerWorkerNode = workerNodeDataDisks ;
221
225
if ( setEdgeNodeVmSize )
226
+ {
222
227
cmdlet . EdgeNodeSize = "edgeNodeVmSizeSetTest" ;
228
+ }
223
229
230
+ // Construct cluster Object
224
231
var cluster = new Cluster
225
232
{
226
233
Id = "id" ,
@@ -238,10 +245,29 @@ private void CreateNewHDInsightCluster(bool addSecurityProfileInresponse = false
238
245
{
239
246
CoresUsed = 24
240
247
} ,
241
- OperatingSystemType = OSType . Linux
248
+ OperatingSystemType = OSType . Linux ,
249
+ ComputeProfile = new ComputeProfile ( )
250
+ {
251
+ Roles = new List < Role > ( )
252
+ }
242
253
}
243
254
} ;
244
255
256
+ if ( workerNodeDataDisks > 0 )
257
+ {
258
+ cluster . Properties . ComputeProfile . Roles . Add ( new Role ( )
259
+ {
260
+ Name = "workernode" ,
261
+ DataDisksGroups = new List < DataDisksGroupProperties > ( )
262
+ {
263
+ new DataDisksGroupProperties ( )
264
+ {
265
+ DisksPerNode = workerNodeDataDisks
266
+ }
267
+ }
268
+ } ) ;
269
+ }
270
+
245
271
if ( addSecurityProfileInresponse )
246
272
{
247
273
cluster . Properties . SecurityProfile = new SecurityProfile ( )
@@ -286,6 +312,7 @@ private void CreateNewHDInsightCluster(bool addSecurityProfileInresponse = false
286
312
287
313
var getresponse = new ClusterGetResponse { Cluster = cluster } ;
288
314
315
+ // Setup Mocks and verify successfull GET response
289
316
hdinsightManagementMock . Setup (
290
317
c => c . CreateNewCluster ( ResourceGroupName , ClusterName , It . Is < ClusterCreateParameters > (
291
318
parameters =>
@@ -300,10 +327,12 @@ private void CreateNewHDInsightCluster(bool addSecurityProfileInresponse = false
300
327
parameters . OSType == OSType . Linux &&
301
328
parameters . SshUserName == _sshCred . UserName &&
302
329
parameters . SshPassword == _sshCred . Password . ConvertToString ( ) &&
303
- ( ( ! setEdgeNodeVmSize && parameters . EdgeNodeSize == null ) || ( setEdgeNodeVmSize && parameters . EdgeNodeSize == "edgeNodeVmSizeSetTest" ) ) ) ) )
330
+ ( ( ! setEdgeNodeVmSize && parameters . EdgeNodeSize == null ) || ( setEdgeNodeVmSize && parameters . EdgeNodeSize == "edgeNodeVmSizeSetTest" ) ) &&
331
+ ( workerNodeDataDisks == 0 ) || ( workerNodeDataDisks > 0 && parameters . WorkerNodeDataDisksGroups . First ( ) . DisksPerNode == workerNodeDataDisks ) ) ) )
304
332
. Returns ( getresponse )
305
333
. Verifiable ( ) ;
306
334
335
+ // Execute Cmdlet and verify output
307
336
cmdlet . ExecuteCmdlet ( ) ;
308
337
309
338
commandRuntimeMock . VerifyAll ( ) ;
@@ -315,7 +344,8 @@ private void CreateNewHDInsightCluster(bool addSecurityProfileInresponse = false
315
344
clusterout . CoresUsed == 24 &&
316
345
clusterout . Location == Location &&
317
346
clusterout . Name == ClusterName &&
318
- clusterout . OperatingSystemType == OSType . Linux ) ) ,
347
+ clusterout . OperatingSystemType == OSType . Linux &&
348
+ ( workerNodeDataDisks == 0 ) || ( clusterout . WorkerNodeDataDisksGroups . First ( ) . DisksPerNode == workerNodeDataDisks ) ) ) ,
319
349
Times . Once ) ;
320
350
}
321
351
@@ -441,137 +471,12 @@ public void CanCreateNewHDInsightCluster_LinuxComponentVersion()
441
471
442
472
[ Fact ]
443
473
[ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
444
- public void CanCreateNewHDInsightCluster_DataDisksGroups ( )
474
+ public void CanCreateNewHDInsightCluster_Kafka_DataDisks_Linux ( )
445
475
{
446
- var kafkaClusterType = "Kafka" ;
447
- var hdiVersion = "3.6" ;
448
- var coresUsed = 24 ;
449
- var expectedClusterState = "Running" ;
450
- var dataDisksGroup = new DataDisksGroupProperties ( )
451
- {
452
- DisksPerNode = 8
453
- } ;
454
- var workerNodeDataDisksGroups = new List < DataDisksGroupProperties > ( )
455
- {
456
- dataDisksGroup
457
- } ;
458
-
459
- cmdlet . ClusterName = ClusterName ;
460
- cmdlet . ResourceGroupName = ResourceGroupName ;
461
- cmdlet . ClusterSizeInNodes = ClusterSize ;
462
- cmdlet . Location = Location ;
463
- cmdlet . HttpCredential = _httpCred ;
464
- cmdlet . DefaultStorageAccountName = StorageName ;
465
- cmdlet . DefaultStorageAccountKey = StorageKey ;
466
- cmdlet . ClusterType = kafkaClusterType ;
467
- cmdlet . SshCredential = _sshCred ;
468
- cmdlet . OSType = OSType . Linux ;
469
- cmdlet . WorkerNodeDataDisksGroups = workerNodeDataDisksGroups ;
476
+ ClusterType = "Kafka" ;
477
+ HdiVersion = "3.6" ;
470
478
471
- var cluster = new Cluster
472
- {
473
- Id = "id" ,
474
- Name = ClusterName ,
475
- Location = Location ,
476
- Properties = new ClusterGetProperties
477
- {
478
- ClusterVersion = hdiVersion ,
479
- ClusterState = expectedClusterState ,
480
- ClusterDefinition = new ClusterDefinition
481
- {
482
- ClusterType = kafkaClusterType
483
- } ,
484
- QuotaInfo = new QuotaInfo
485
- {
486
- CoresUsed = coresUsed
487
- } ,
488
- OperatingSystemType = OSType . Linux ,
489
- ComputeProfile = new ComputeProfile ( )
490
- {
491
- Roles = new List < Role > ( )
492
- }
493
- }
494
- } ;
495
-
496
- cluster . Properties . ComputeProfile . Roles . Add ( new Role ( )
497
- {
498
- Name = "workernode" ,
499
- DataDisksGroups = workerNodeDataDisksGroups
500
- } ) ;
501
-
502
- var coreConfigs = new Dictionary < string , string >
503
- {
504
- { "fs.defaultFS" , "wasb://giyertestcsmv2@" + StorageName } ,
505
- {
506
- "fs.azure.account.key." + StorageName ,
507
- StorageKey
508
- }
509
- } ;
510
- var gatewayConfigs = new Dictionary < string , string >
511
- {
512
- { "restAuthCredential.isEnabled" , "true" } ,
513
- { "restAuthCredential.username" , _httpCred . UserName } ,
514
- { "restAuthCredential.password" , _httpCred . Password . ConvertToString ( ) }
515
- } ;
516
-
517
- var configurations = new Dictionary < string , Dictionary < string , string > >
518
- {
519
- { "core-site" , coreConfigs } ,
520
- { "gateway" , gatewayConfigs }
521
- } ;
522
- var serializedConfig = JsonConvert . SerializeObject ( configurations ) ;
523
- cluster . Properties . ClusterDefinition . Configurations = serializedConfig ;
524
-
525
- var getresponse = new ClusterGetResponse { Cluster = cluster } ;
526
-
527
- hdinsightManagementMock . Setup ( c => c . CreateNewCluster ( ResourceGroupName , ClusterName , It . Is < ClusterCreateParameters > (
528
- parameters =>
529
- parameters . ClusterSizeInNodes == ClusterSize &&
530
- parameters . DefaultStorageInfo as AzureStorageInfo != null &&
531
- ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountName == StorageName &&
532
- ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountKey == StorageKey &&
533
- parameters . Location == Location &&
534
- parameters . UserName == _httpCred . UserName &&
535
- parameters . Password == _httpCred . Password . ConvertToString ( ) &&
536
- parameters . ClusterType == kafkaClusterType &&
537
- parameters . OSType == OSType . Linux &&
538
- parameters . SshUserName == _sshCred . UserName &&
539
- parameters . SshPassword == _sshCred . Password . ConvertToString ( ) &&
540
- parameters . WorkerNodeDataDisksGroups . First ( ) . DisksPerNode == dataDisksGroup . DisksPerNode ) ) )
541
- . Returns ( getresponse )
542
- . Verifiable ( ) ;
543
- hdinsightManagementMock . Setup (
544
- c => c . CreateNewCluster ( ResourceGroupName , ClusterName , It . Is < ClusterCreateParameters > (
545
- parameters =>
546
- parameters . ClusterSizeInNodes == ClusterSize &&
547
- parameters . DefaultStorageInfo as AzureStorageInfo != null &&
548
- ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountName == StorageName &&
549
- ( ( AzureStorageInfo ) parameters . DefaultStorageInfo ) . StorageAccountKey == StorageKey &&
550
- parameters . Location == Location &&
551
- parameters . UserName == _httpCred . UserName &&
552
- parameters . Password == _httpCred . Password . ConvertToString ( ) &&
553
- parameters . ClusterType == ClusterType &&
554
- parameters . OSType == OSType . Linux &&
555
- parameters . SshUserName == _sshCred . UserName &&
556
- parameters . SshPassword == _sshCred . Password . ConvertToString ( ) ) ) )
557
- . Returns ( getresponse )
558
- . Verifiable ( ) ;
559
-
560
- cmdlet . ExecuteCmdlet ( ) ;
561
-
562
- commandRuntimeMock . VerifyAll ( ) ;
563
-
564
-
565
- commandRuntimeMock . Verify ( f => f . WriteObject ( It . Is < AzureHDInsightCluster > (
566
- clusterout =>
567
- clusterout . ClusterState == expectedClusterState &&
568
- clusterout . ClusterType == kafkaClusterType &&
569
- clusterout . ClusterVersion == hdiVersion &&
570
- clusterout . CoresUsed == coresUsed &&
571
- clusterout . Location == Location &&
572
- clusterout . Name == ClusterName &&
573
- clusterout . OperatingSystemType == OSType . Linux ) ) ,
574
- Times . Once ) ;
479
+ CreateNewHDInsightCluster ( workerNodeDataDisks : 8 ) ;
575
480
}
576
481
577
482
[ Fact ]
0 commit comments