test/Triggers_template.ps1
|
$file = (Join-Path -Path $RootFolder -ChildPath "trigger") | Join-Path -ChildPath "$triggerName.json" #The function below doesn't execute mocked functions (Get-AzDataFactoryV2Trigger), so we have to call them directly #Publish-TriggerIfNotExist -Name $triggerName -FileName $file @script:CommonParam #begin Publish-TriggerIfNotExist $tr = Get-AzDataFactoryV2Trigger -TriggerName $triggerName @script:CommonParam #-ErrorAction:SilentlyContinue if ($null -eq $tr) { $f = $file.ToString() Set-AzDataFactoryV2Trigger -Name $triggerName -DefinitionFile $f @script:CommonParam #-Force } #end Publish-TriggerIfNotExist if ($CurrentState -eq 'Enabled') { Start-TargetTrigger -Name $triggerName @script:CommonParam } if ($CurrentState -eq 'Disabled') { Stop-TargetTrigger -Name $triggerName @script:CommonParam } # The block below is a trick to enforce publishing a trigger, because for some reason, # unchanged trigger won't be published and hence doesn't have to be stopped prior publish, which fails tests B04 & B06. # if ($triggerName) { # $file = Join-Path $RootFolder "trigger" "$triggerName.json" # $startTime = (Get-Date -format "yyyy-MM-ddTHH:mm:ss.000Z") # Edit-ObjectPropertyInFile $file "properties.typeProperties.recurrence.startTime" """$startTime""" # } $opt = New-AdfPublishOption $opt.TriggerStopMethod = $tsm if ($Mode -eq 'Included') { $opt.Includes.Add("*.$triggerName", "") } if ($Mode -eq 'Excluded') { $opt.Excludes.Add("*.*", "") } $opt.StopStartTriggers = $StopStartTriggers $opt.DoNotStopStartExcludedTriggers = $DoNotStopStartExcludedTriggers $opt.DeleteNotInSource = $DeleteNIS $ExpectDisableTrigger = $StopStartTriggers -and $CurrentState -eq 'Enabled' [AdfObjectName] $oname = [AdfObjectName]::new("trigger.$triggerName") $IsMatchExcluded = $oname.IsNameMatch($opt.Excludes.Keys) $ExpectDisableTrigger = $ExpectDisableTrigger -and -not ( $IsMatchExcluded -and $opt.DoNotStopStartExcludedTriggers ) if ($ShouldThrow) { { Publish-AdfV2FromJson -RootFolder "$RootFolder" ` -ResourceGroupName "$ResourceGroupName" ` -DataFactoryName "$DataFactoryName" ` -Location "$Location" -Option $opt -Stage $stage } | Should -Throw } else { { Publish-AdfV2FromJson -RootFolder "$RootFolder" ` -ResourceGroupName "$ResourceGroupName" ` -DataFactoryName "$DataFactoryName" ` -Location "$Location" -Option $opt -Stage $stage } | Should -Not -Throw } Assert-MockCalled Stop-Trigger -Times ([int]$ExpectDisableTrigger) $script:TriggersOnDiskCount = (Get-ChildItem -Path "$RootFolder\trigger" -Filter "$triggerName.json" -Recurse:$true | Measure-Object).Count $tr = Get-AzDataFactoryV2Trigger @script:CommonParam $arr = $tr | ToArray $script:TriggersInServiceCount = $arr.Count $script:TriggersInServiceCount | Should -Be $TrExistsAfter if ($TrExistsAfter -eq 1) { $arr[0].RuntimeState | Should -Be (ConvertTo-RuntimeState $StateAfter) } |