Skip to content

Commit ad622e9

Browse files
arsundadingmeng-xueVeryEarly
authored
[DataFactory] Add 2 New commands to ADF V2 (#13114)
Force merge it because of saving time. CI passed * Add 2 New commands * Fix static analysis * Update Changelog.md * Update Changelog.md Co-authored-by: Dingmeng Xue <[email protected]> Co-authored-by: Yabo Hu <[email protected]>
1 parent b18273e commit ad622e9

File tree

13 files changed

+1929
-2
lines changed

13 files changed

+1929
-2
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"properties": {
3+
"activities": [
4+
{
5+
"name": "Wait1",
6+
"type": "Wait",
7+
"dependsOn": [],
8+
"userProperties": [],
9+
"typeProperties": {
10+
"waitTimeInSeconds": 10
11+
}
12+
}
13+
]
14+
}
15+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"properties": {
3+
"type": "TumblingWindowTrigger",
4+
"typeProperties": {
5+
"frequency": "Minute",
6+
"interval": 15,
7+
"startTime": "2019-09-10T13:00:00Z",
8+
"endtime": "2019-09-14T13:00:00Z",
9+
"maxConcurrency": 2
10+
},
11+
"pipeline": {
12+
"pipelineReference": {
13+
"referenceName": "samplePipeline",
14+
"type": "PipelineReference"
15+
}
16+
}
17+
}
18+
}

src/DataFactory/DataFactoryV2.Test/ScenarioTests/TriggerTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ public void TestStartTriggerThrowsWithoutPipeline()
4242
RunPowerShellTest(_logger, "Test-StartTriggerThrowsWithoutPipeline");
4343
}
4444

45+
[Fact]
46+
[Trait(Category.AcceptanceType, Category.CheckIn)]
47+
public void TestInvokeAndStopTriggerRun()
48+
{
49+
RunPowerShellTest(_logger, "Test-TriggerInvokeAndStop");
50+
}
51+
4552
[Fact]
4653
[Trait(Category.AcceptanceType, Category.CheckIn)]
4754
public void TestTriggerRun()

src/DataFactory/DataFactoryV2.Test/ScenarioTests/TriggerTests.ps1

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,73 @@ function Test-BlobEventTriggerSubscriptionsByResourceId
338338
}
339339
}
340340

341+
<#
342+
.SYNOPSIS
343+
Creates a TumblingWindow trigger and then does a Get to compare the results.
344+
Starts and checks that there is at least one Trigger Run
345+
Reruns the trigger run
346+
Stops trigger
347+
Deletes the created trigger at the end.
348+
#>
349+
function Test-TriggerInvokeAndStop
350+
{
351+
$dfname = Get-DataFactoryName
352+
$rgname = Get-ResourceGroupName
353+
$rglocation = Get-ProviderLocation ResourceManagement
354+
$dflocation = Get-ProviderLocation DataFactoryManagement
355+
356+
New-AzResourceGroup -Name $rgname -Location $rglocation -Force
357+
358+
try
359+
{
360+
Get-Command -Name '*AzDataFactoryV2Tr*' | Write-Debug
361+
Set-AzDataFactoryV2 -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force
362+
363+
$pipelineName = "samplePipeline"
364+
Set-AzDataFactoryV2Pipeline -ResourceGroupName $rgname -Name $pipelineName -DataFactoryName $dfname -File .\Resources\pipelineWait.json -Force
365+
366+
$triggername = "foo"
367+
$expected = Set-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername -File .\Resources\tumblingTriggerWithPipeline.json -Force
368+
$actual = Get-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername
369+
370+
Verify-Trigger $expected $actual $rgname $dfname $triggername
371+
372+
$startDate = [DateTime]::Parse("09/10/2020")
373+
Start-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername -Force
374+
$started = Get-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername
375+
376+
Assert-AreEqual 'Started' $started.RuntimeState
377+
378+
if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) {
379+
Start-Sleep -s 150
380+
}
381+
382+
$endDate = $startDate.AddYears(1)
383+
$triggerRuns = Get-AzDataFactoryV2TriggerRun -ResourceGroupName $rgname -DataFactoryName $dfname -TriggerName $triggername -TriggerRunStartedAfter $startDate -TriggerRunStartedBefore $endDate
384+
385+
if($triggerRuns.Count -lt 1)
386+
{
387+
throw "Expected atleast 1 trigger run"
388+
}
389+
390+
$triggerRunId = $triggerRuns[0].TriggerRunId
391+
Invoke-AzDataFactoryV2TriggerRun -ResourceGroupName $rgname -DataFactoryName $dfname -TriggerName $triggername -TriggerRunId $triggerRunId
392+
393+
Assert-ThrowsContains { Stop-AzDataFactoryV2TriggerRun -ResourceGroupName $rgname -DataFactoryName $dfname -TriggerName $triggername -TriggerRunId $triggerRunId } "not in WaitingOnDependency state"
394+
395+
Stop-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername -Force
396+
$stopped = Get-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername
397+
398+
Assert-AreEqual 'Stopped' $stopped.RuntimeState
399+
400+
Remove-AzDataFactoryV2Trigger -ResourceGroupName $rgname -DataFactoryName $dfname -Name $triggername -Force
401+
}
402+
finally
403+
{
404+
CleanUp $rgname $dfname
405+
}
406+
}
407+
341408
<#
342409
.SYNOPSIS
343410
Creates a trigger and then does a Get with resource id to compare the results.

0 commit comments

Comments
 (0)