15
15
using Microsoft . Azure . Commands . Automation . Cmdlet ;
16
16
using Microsoft . Azure . Commands . Automation . Common ;
17
17
using Microsoft . Azure . Commands . Automation . Model ;
18
- using Microsoft . VisualStudio . TestTools . UnitTesting ;
19
18
using Microsoft . WindowsAzure . Commands . Common . Test . Mocks ;
19
+ using Microsoft . WindowsAzure . Commands . ScenarioTest ;
20
20
using Microsoft . WindowsAzure . Commands . Test . Utilities . Common ;
21
21
using Microsoft . WindowsAzure . Commands . Utilities . Common ;
22
22
using Moq ;
23
23
using System ;
24
24
using System . Linq ;
25
+ using Xunit ;
26
+ using Assert = Microsoft . VisualStudio . TestTools . UnitTesting . Assert ;
27
+
25
28
namespace Microsoft . Azure . Commands . ResourceManager . Automation . Test . UnitTests
26
29
{
27
- [ TestClass ]
28
30
public class NewAzureAutomationScheduleTest : RMTestBase
29
31
{
30
32
private Mock < IAutomationClient > mockAutomationClient ;
@@ -33,8 +35,7 @@ public class NewAzureAutomationScheduleTest : RMTestBase
33
35
34
36
private NewAzureAutomationSchedule cmdlet ;
35
37
36
- [ TestInitialize ]
37
- public void SetupTest ( )
38
+ public NewAzureAutomationScheduleTest ( )
38
39
{
39
40
this . mockAutomationClient = new Mock < IAutomationClient > ( ) ;
40
41
this . mockCommandRuntime = new MockCommandRuntime ( ) ;
@@ -45,7 +46,8 @@ public void SetupTest()
45
46
} ;
46
47
}
47
48
48
- [ TestMethod ]
49
+ [ Fact ]
50
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
49
51
public void NewAzureAutomationScheduleByOneTimeSuccessfull ( )
50
52
{
51
53
// Setup
@@ -68,7 +70,8 @@ public void NewAzureAutomationScheduleByOneTimeSuccessfull()
68
70
. Verify ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) , Times . Once ( ) ) ;
69
71
}
70
72
71
- [ TestMethod ]
73
+ [ Fact ]
74
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
72
75
public void NewAzureAutomationScheduleByDailySuccessfull ( )
73
76
{
74
77
// Setup
@@ -92,7 +95,8 @@ public void NewAzureAutomationScheduleByDailySuccessfull()
92
95
. Verify ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) , Times . Once ( ) ) ;
93
96
}
94
97
95
- [ TestMethod ]
98
+ [ Fact ]
99
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
96
100
public void NewAzureAutomationScheduleByHourlySuccessfull ( )
97
101
{
98
102
// Setup
@@ -116,7 +120,8 @@ public void NewAzureAutomationScheduleByHourlySuccessfull()
116
120
. Verify ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) , Times . Once ( ) ) ;
117
121
}
118
122
119
- [ TestMethod ]
123
+ [ Fact ]
124
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
120
125
public void NewAzureAutomationScheduleByDailyWithDefaultExpiryTimeDayIntervalSuccessfull ( )
121
126
{
122
127
// Setup
@@ -166,7 +171,8 @@ public void NewAzureAutomationScheduleByDailyWithDefaultExpiryTimeDayIntervalSuc
166
171
schedule . Frequency ) ;
167
172
}
168
173
169
- [ TestMethod ]
174
+ [ Fact ]
175
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
170
176
public void NewAzureAutomationScheduleByHourlyWithDefaultExpiryTimeDayIntervalSuccessfull ( )
171
177
{
172
178
// Setup
@@ -216,7 +222,8 @@ public void NewAzureAutomationScheduleByHourlyWithDefaultExpiryTimeDayIntervalSu
216
222
schedule . Frequency ) ;
217
223
}
218
224
219
- [ TestMethod ]
225
+ [ Fact ]
226
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
220
227
public void NewAzureAutomationScheduleByDailyWithExpiryTimeSuccessfull ( )
221
228
{
222
229
// Setup
@@ -268,7 +275,8 @@ public void NewAzureAutomationScheduleByDailyWithExpiryTimeSuccessfull()
268
275
schedule . Frequency ) ;
269
276
}
270
277
271
- [ TestMethod ]
278
+ [ Fact ]
279
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
272
280
public void NewAzureAutomationScheduleByHourlyWithExpiryTimeSuccessfull ( )
273
281
{
274
282
// Setup
@@ -320,5 +328,128 @@ public void NewAzureAutomationScheduleByHourlyWithExpiryTimeSuccessfull()
320
328
"Hour Frequency is unexpectedly {0}" ,
321
329
schedule . Frequency ) ;
322
330
}
331
+
332
+ [ Fact ]
333
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
334
+ public void WeeklyWithTimeZoneSetsTheTimeZoneProperty ( )
335
+ {
336
+ // Setup
337
+ string resourceGroupName = "resourceGroup" ;
338
+ string accountName = "automation" ;
339
+ string scheduleName = "schedule" ;
340
+ byte weekInterval = 2 ;
341
+ var startTime = DateTimeOffset . Now ;
342
+ var expiryTime = startTime . AddDays ( 10 ) ;
343
+ var timeZone = "America/Los_Angeles" ;
344
+
345
+ this . mockAutomationClient
346
+ . Setup ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) )
347
+ . Returns ( ( string a , string b , Schedule s ) => s ) ;
348
+
349
+ this . cmdlet . ResourceGroupName = resourceGroupName ;
350
+ this . cmdlet . AutomationAccountName = accountName ;
351
+ this . cmdlet . Name = scheduleName ;
352
+ this . cmdlet . StartTime = startTime ;
353
+ this . cmdlet . ExpiryTime = expiryTime ;
354
+ this . cmdlet . WeekInterval = weekInterval ;
355
+ this . cmdlet . TimeZone = timeZone ;
356
+ this . cmdlet . SetParameterSet ( AutomationCmdletParameterSets . ByWeekly ) ;
357
+ this . cmdlet . ExecuteCmdlet ( ) ;
358
+
359
+ // Assert
360
+ this . mockAutomationClient
361
+ . Verify ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) , Times . Once ( ) ) ;
362
+
363
+ Assert . AreEqual ( 1 , ( ( MockCommandRuntime ) this . cmdlet . CommandRuntime ) . OutputPipeline . Count ) ;
364
+ var schedule = ( Schedule ) ( ( MockCommandRuntime ) this . cmdlet . CommandRuntime )
365
+ . OutputPipeline
366
+ . FirstOrDefault ( ) ;
367
+ Assert . IsNotNull ( schedule ) ;
368
+
369
+ // Test for correct time zone value
370
+ Assert . AreEqual ( timeZone , schedule . TimeZone ) ;
371
+ }
372
+
373
+ [ Fact ]
374
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
375
+ public void MonthlyDaysOfMonthWithTimeZoneSetsTheTimeZoneProperty ( )
376
+ {
377
+ // Setup
378
+ string resourceGroupName = "resourceGroup" ;
379
+ string accountName = "automation" ;
380
+ string scheduleName = "schedule" ;
381
+ byte monthInterval = 1 ;
382
+ var startTime = DateTimeOffset . Now ;
383
+ var expiryTime = startTime . AddDays ( 10 ) ;
384
+ var timeZone = "America/Los_Angeles" ;
385
+
386
+ this . mockAutomationClient
387
+ . Setup ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) )
388
+ . Returns ( ( string a , string b , Schedule s ) => s ) ;
389
+
390
+ this . cmdlet . ResourceGroupName = resourceGroupName ;
391
+ this . cmdlet . AutomationAccountName = accountName ;
392
+ this . cmdlet . Name = scheduleName ;
393
+ this . cmdlet . StartTime = startTime ;
394
+ this . cmdlet . ExpiryTime = expiryTime ;
395
+ this . cmdlet . MonthInterval = monthInterval ;
396
+ this . cmdlet . TimeZone = timeZone ;
397
+ this . cmdlet . SetParameterSet ( AutomationCmdletParameterSets . ByMonthlyDaysOfMonth ) ;
398
+ this . cmdlet . ExecuteCmdlet ( ) ;
399
+
400
+ // Assert
401
+ this . mockAutomationClient
402
+ . Verify ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) , Times . Once ( ) ) ;
403
+
404
+ Assert . AreEqual ( 1 , ( ( MockCommandRuntime ) this . cmdlet . CommandRuntime ) . OutputPipeline . Count ) ;
405
+ var schedule = ( Schedule ) ( ( MockCommandRuntime ) this . cmdlet . CommandRuntime )
406
+ . OutputPipeline
407
+ . FirstOrDefault ( ) ;
408
+ Assert . IsNotNull ( schedule ) ;
409
+
410
+ // Test for correct time zone value
411
+ Assert . AreEqual ( timeZone , schedule . TimeZone ) ;
412
+ }
413
+
414
+ [ Fact ]
415
+ [ Trait ( Category . AcceptanceType , Category . CheckIn ) ]
416
+ public void MonthlyDayOfWeekWithTimeZoneSetsTheTimeZoneProperty ( )
417
+ {
418
+ // Setup
419
+ string resourceGroupName = "resourceGroup" ;
420
+ string accountName = "automation" ;
421
+ string scheduleName = "schedule" ;
422
+ byte monthInterval = 1 ;
423
+ var startTime = DateTimeOffset . Now ;
424
+ var expiryTime = startTime . AddDays ( 10 ) ;
425
+ var timeZone = "America/Los_Angeles" ;
426
+
427
+ this . mockAutomationClient
428
+ . Setup ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) )
429
+ . Returns ( ( string a , string b , Schedule s ) => s ) ;
430
+
431
+ this . cmdlet . ResourceGroupName = resourceGroupName ;
432
+ this . cmdlet . AutomationAccountName = accountName ;
433
+ this . cmdlet . Name = scheduleName ;
434
+ this . cmdlet . StartTime = startTime ;
435
+ this . cmdlet . ExpiryTime = expiryTime ;
436
+ this . cmdlet . MonthInterval = monthInterval ;
437
+ this . cmdlet . TimeZone = timeZone ;
438
+ this . cmdlet . SetParameterSet ( AutomationCmdletParameterSets . ByMonthlyDayOfWeek ) ;
439
+ this . cmdlet . ExecuteCmdlet ( ) ;
440
+
441
+ // Assert
442
+ this . mockAutomationClient
443
+ . Verify ( f => f . CreateSchedule ( resourceGroupName , accountName , It . IsAny < Schedule > ( ) ) , Times . Once ( ) ) ;
444
+
445
+ Assert . AreEqual ( 1 , ( ( MockCommandRuntime ) this . cmdlet . CommandRuntime ) . OutputPipeline . Count ) ;
446
+ var schedule = ( Schedule ) ( ( MockCommandRuntime ) this . cmdlet . CommandRuntime )
447
+ . OutputPipeline
448
+ . FirstOrDefault ( ) ;
449
+ Assert . IsNotNull ( schedule ) ;
450
+
451
+ // Test for correct time zone value
452
+ Assert . AreEqual ( timeZone , schedule . TimeZone ) ;
453
+ }
323
454
}
324
455
}
0 commit comments