Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1393,12 +1393,19 @@
"where": "@and(not(equals(item(), null)), not(equals(item(), '')))"
}
},
"Compose_Google_Protected_Update_Body": {
"Compose_Google_Update_Parent_After_Removal": {
"runAfter": {
"Filter_Google_Nonempty_Update_Values": [ "Succeeded" ]
},
"type": "Compose",
"inputs": "@if(empty(body('Filter_Google_Nonempty_Update_Values')), if(contains(items('ForEach_Google_User_Target')['source'], '.'), if(contains(variables('googleUpdateUserBody'), first(split(items('ForEach_Google_User_Target')['source'], '.'))), setProperty(variables('googleUpdateUserBody'), first(split(items('ForEach_Google_User_Target')['source'], '.')), removeProperty(coalesce(variables('googleUpdateUserBody')?[first(split(items('ForEach_Google_User_Target')['source'], '.'))], json('{}')), last(split(items('ForEach_Google_User_Target')['source'], '.')))), variables('googleUpdateUserBody')), removeProperty(variables('googleUpdateUserBody'), items('ForEach_Google_User_Target')['source'])), if(contains(outputs('Compose_Dynamic_ArrayProperties'), items('ForEach_Google_User_Target')['source']), setProperty(variables('googleUpdateUserBody'), items('ForEach_Google_User_Target')['source'], body('Filter_Google_Nonempty_Update_Values')), variables('googleUpdateUserBody')))"
"inputs": "@if(contains(items('ForEach_Google_User_Target')['source'], '.'), removeProperty(coalesce(variables('googleUpdateUserBody')?[first(split(items('ForEach_Google_User_Target')['source'], '.'))], json('{}')), last(split(items('ForEach_Google_User_Target')['source'], '.'))), json('{}'))"
},
"Compose_Google_Protected_Update_Body": {
"runAfter": {
"Compose_Google_Update_Parent_After_Removal": [ "Succeeded" ]
},
"type": "Compose",
"inputs": "@if(empty(body('Filter_Google_Nonempty_Update_Values')), if(contains(items('ForEach_Google_User_Target')['source'], '.'), if(contains(variables('googleUpdateUserBody'), first(split(items('ForEach_Google_User_Target')['source'], '.'))), if(and(contains(coalesce(variables('googleUpdateUserBody')?[first(split(items('ForEach_Google_User_Target')['source'], '.'))], json('{}')), last(split(items('ForEach_Google_User_Target')['source'], '.'))), empty(outputs('Compose_Google_Update_Parent_After_Removal'))), removeProperty(variables('googleUpdateUserBody'), first(split(items('ForEach_Google_User_Target')['source'], '.'))), setProperty(variables('googleUpdateUserBody'), first(split(items('ForEach_Google_User_Target')['source'], '.')), outputs('Compose_Google_Update_Parent_After_Removal'))), variables('googleUpdateUserBody')), removeProperty(variables('googleUpdateUserBody'), items('ForEach_Google_User_Target')['source'])), if(contains(outputs('Compose_Dynamic_ArrayProperties'), items('ForEach_Google_User_Target')['source']), setProperty(variables('googleUpdateUserBody'), items('ForEach_Google_User_Target')['source'], body('Filter_Google_Nonempty_Update_Values')), variables('googleUpdateUserBody')))"
},
"Set_Google_Protected_Update_Body": {
"runAfter": {
Expand Down Expand Up @@ -1454,6 +1461,7 @@
"sourceToTargetLookup": "@variables('sourceToTargetLookup')",
"googleRequiredUserTargets": "@variables('googleRequiredUserTargets')",
"googleSkippedUpdateSources": "@variables('googleSkippedUpdateSources')",
"googleUpdateBodyEmptiedByFiltering": "@and(contains(toLower(coalesce(first(body('Filter_BaseAddress_Connectivity_Parameter'))?['value'], '')), 'googleapis.com'), not(empty(outputs('Compose_Final_Dynamic_Update_User_Body'))), equals(variables('googleUpdateUserBody'), json('{}')), not(empty(variables('googleSkippedUpdateSources'))))",
"mappedUserTargetAttributes": "@body('Select_Target_Attribute_Names')",
"mappedGroupTargetAttributes": "@body('Select_Target_Group_Attribute_Names')",
"targetDirectoryUserAttributes": "@outputs('Compose_Target_User_Attributes')",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,22 @@
"uri": "@body('Get_SCIMTests_Output')?['properties']?['outputsLink']?['uri']"
}
},
"Compose_Pagination_Model_Results": {
"runAfter": {
"Get_SCIMTests_Output_Content": [
"Succeeded",
"Failed",
"Skipped",
"TimedOut"
]
},
"type": "Compose",
"inputs": {
"userPaginationResult": "@if(and(contains(toLower(coalesce(body('Call_Initialization_Workflow')?['baseAddress'], '')), 'googleapis.com'), or(equals(parameters('EnabledTests'), 'All'), equals(parameters('EnabledTests'), 'SCIMTests'), equals(parameters('EnabledTests'), 'SCIM_User_Pagination_Test')), equals(body('Get_SCIMTests_Output_Content')?['SCIMUserPaginationTestOutputs']?['overallResult'], 'SKIPPED')), 'PASSED', coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUserPaginationTestOutputs']?['overallResult'], 'FAILED'))",
"groupPaginationResult": "@if(and(contains(toLower(coalesce(body('Call_Initialization_Workflow')?['baseAddress'], '')), 'googleapis.com'), or(equals(parameters('EnabledTests'), 'All'), equals(parameters('EnabledTests'), 'SCIMTests'), equals(parameters('EnabledTests'), 'SCIM_Group_Pagination_Test')), equals(body('Get_SCIMTests_Output_Content')?['SCIMGroupPaginationTestOutputs']?['overallResult'], 'SKIPPED')), 'PASSED', coalesce(body('Get_SCIMTests_Output_Content')?['SCIMGroupPaginationTestOutputs']?['overallResult'], 'FAILED'))",
"googleSkipExceptionReason": "@if(contains(toLower(coalesce(body('Call_Initialization_Workflow')?['baseAddress'], '')), 'googleapis.com'), 'Google pagination exception: enabled pagination tests explicitly reported as SKIPPED are accepted as PASSED only in aggregate results. Individual results remain SKIPPED; failed or missing results are not exempted.', null)"
}
},
"Evaluate_Test_Results": {
"runAfter": {
"Compose_Initialization_RunLink": [
Expand All @@ -430,11 +446,8 @@
"Skipped",
"TimedOut"
],
"Get_SCIMTests_Output_Content": [
"Succeeded",
"Failed",
"Skipped",
"TimedOut"
"Compose_Pagination_Model_Results": [
"Succeeded"
]
},
"type": "Compose",
Expand Down Expand Up @@ -505,11 +518,12 @@
"GroupTests_Workflow": "@outputs('Compose_GroupTests_RunLink')",
"SCIMTests_Workflow": "@outputs('Compose_SCIMTests_RunLink')"
},
"overallLogicAppResult": "@if(or(not(equals(coalesce(body('Get_UserTests_Output_Content')?['CreateUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_UserTests_Output_Content')?['UpdateUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_UserTests_Output_Content')?['DisableUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isManagerAttributeSupported'],false),not(equals(coalesce(body('Get_UserTests_Output_Content')?['ManagerTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_UserTests_Output_Content')?['RestoreUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMNullUpdateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['CreateGroupTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['UpdateGroupTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['AddMemberTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['RemoveMemberTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SchemaDiscoverabilityTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUserCreateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMGroupCreateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUserUpdateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMGroupUpdateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUserPaginationTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_UserTests_Output_Content')?['PODUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['PODGroupTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),equals(actions('Call_Initialization_Workflow')?['status'],'Failed'),equals(coalesce(body('Poll_UserTests_Status')?['properties']?['status'],''),'Failed'),equals(coalesce(body('Poll_GroupTests_Status')?['properties']?['status'],''),'Failed'),or(not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['authenticationModelResult'],'FAILED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isManagerAttributeSupported'],false),contains(string(coalesce(body('Call_Initialization_Workflow')?['targetDirectoryUserAttributes'],json('[]'))),'manager'),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUpdateManagerTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))))),'Failed',if(equals(coalesce(body('Poll_SCIMTests_Status')?['properties']?['status'],''),'Failed'),'Failed','Succeeded'))",
"optionalSuccessTestsResult": "@if(or(not(equals(coalesce(body('Get_UserTests_Output_Content')?['DeleteUserTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED')), and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'], false), not(equals(coalesce(body('Get_GroupTests_Output_Content')?['DeleteGroupTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED'))), and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'], false), not(equals(coalesce(body('Get_GroupTests_Output_Content')?['RestoreGroupTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED'))), and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'], false), not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMGroupPaginationTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED')))), 'WARNING', 'PASSED')",
"overallLogicAppResult": "@if(or(not(equals(coalesce(body('Get_UserTests_Output_Content')?['CreateUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_UserTests_Output_Content')?['UpdateUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_UserTests_Output_Content')?['DisableUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isManagerAttributeSupported'],false),not(equals(coalesce(body('Get_UserTests_Output_Content')?['ManagerTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_UserTests_Output_Content')?['RestoreUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMNullUpdateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['CreateGroupTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['UpdateGroupTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['AddMemberTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['RemoveMemberTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SchemaDiscoverabilityTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUserCreateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMGroupCreateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUserUpdateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMGroupUpdateTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),not(equals(coalesce(outputs('Compose_Pagination_Model_Results')?['userPaginationResult'],'FAILED'),'PASSED')),not(equals(coalesce(body('Get_UserTests_Output_Content')?['PODUserTestOutputs']?['overallResult'],'SKIPPED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'],false),not(equals(coalesce(body('Get_GroupTests_Output_Content')?['PODGroupTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))),equals(actions('Call_Initialization_Workflow')?['status'],'Failed'),equals(coalesce(body('Poll_UserTests_Status')?['properties']?['status'],''),'Failed'),equals(coalesce(body('Poll_GroupTests_Status')?['properties']?['status'],''),'Failed'),or(not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['authenticationModelResult'],'FAILED'),'PASSED')),and(coalesce(body('Call_Initialization_Workflow')?['isManagerAttributeSupported'],false),contains(string(coalesce(body('Call_Initialization_Workflow')?['targetDirectoryUserAttributes'],json('[]'))),'manager'),not(equals(coalesce(body('Get_SCIMTests_Output_Content')?['SCIMUpdateManagerTestOutputs']?['overallResult'],'SKIPPED'),'PASSED'))))),'Failed',if(equals(coalesce(body('Poll_SCIMTests_Status')?['properties']?['status'],''),'Failed'),'Failed','Succeeded'))",
"optionalSuccessTestsResult": "@if(or(not(equals(coalesce(body('Get_UserTests_Output_Content')?['DeleteUserTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED')), and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'], false), not(equals(coalesce(body('Get_GroupTests_Output_Content')?['DeleteGroupTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED'))), and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'], false), not(equals(coalesce(body('Get_GroupTests_Output_Content')?['RestoreGroupTestOutputs']?['overallResult'], 'SKIPPED'), 'PASSED'))), and(coalesce(body('Call_Initialization_Workflow')?['isGroupSupported'], false), not(equals(coalesce(outputs('Compose_Pagination_Model_Results')?['groupPaginationResult'], 'FAILED'), 'PASSED')))), 'WARNING', 'PASSED')",
"authenticationModelResult": "@coalesce(body('Get_SCIMTests_Output_Content')?['authenticationModelResult'], 'FAILED')",
"authenticationModelBypassed": "@coalesce(body('Get_SCIMTests_Output_Content')?['authenticationModelBypassed'], false)",
"authenticationModelBypassReason": "@body('Get_SCIMTests_Output_Content')?['authenticationModelBypassReason']",
"paginationModelResults": "@outputs('Compose_Pagination_Model_Results')",
"validationCompletedAtUtc": "@utcNow()"
}
},
Expand Down Expand Up @@ -757,6 +771,7 @@
"authenticationModelResult": "@outputs('Evaluate_Test_Results')?['authenticationModelResult']",
"authenticationModelBypassed": "@outputs('Evaluate_Test_Results')?['authenticationModelBypassed']",
"authenticationModelBypassReason": "@outputs('Evaluate_Test_Results')?['authenticationModelBypassReason']",
"paginationModelResults": "@outputs('Evaluate_Test_Results')?['paginationModelResults']",
"overallResult": "@outputs('Evaluate_Test_Results')?['overallLogicAppResult']",
"selectedAuthenticationMethod": "@parameters('selectedAuthenticationMethod')",
"LogicAppVersion": "@parameters('LogicAppVersion')",
Expand Down
Loading
Loading