Skip to content

Commit 2b2c93a

Browse files
snamilikondaGrant-Archibald-MSv-raghulrajav-nabalasubr
authored
Integration (#555)
* Adding MEF Extensibility model to Test Engine (#322) * Adding MEF module support * Add module filter * Update to read from assembly location by default * BrowserContext in TestInfraFunctions for modules * Diagnostics update * Network Request module extension update * Adding ability to extend BrowsernewContextOptions * Update to Playwright 1.33 * Add Enable with Allow/Deny settings * Adding assembly checks and docs for modules * Update InstallSource * Additional call checks * Addition tests cases * Adding support for Non Power Apps tests * Unit test updates * Change to Copy task * Format updates * Refactor IUserManager to a MEF plugin * Adding support for Static Browser state * Updated to add Certificate validation for MEF plugins for #1 * Adding ITestWebProvider with canvas apps implementation * Adding Pause() and MEF docs * Docs update * Review update * Docs update * Adding Provider state * Adding ability to specify provider * Testing update * Update README.md * setting log level, loading object model, adding browser config to testsetting (#323) * setting log level, loading object model * adding the browserconfig to testsetting * test modificaiton and browserconfig * actions on push and PR * formatting * formatting changes * formatting changes * build validation * debug build * release build * permissions * test verfication * detailed test logs * windows image * release tests * resetting the tests * using powershell for report check * using new version * upload summary as artifact * separate job * separate job * separate job * low threshold image change * test plan changes * build full * no integration tests * increased threshold * User/snamilikonda/cba (#349) * cba deraft with local certificate provider * refactoring new interface * extracted mef cert module and extendable interface to users * stay signed in dialog * test modifications * whitespace * tests * modifying httpclient for testability and adding tests * pipeline modification to check percentage * pipeline src update * uuid regex for file match * simple pattern since regex not ided * runner admin only * tests * doc for cba * certificate store retrieval * adding certstore implementation and certificate subject name * thresh * thresh * Model Driven Application Provider (#359) * Initial read only version * Add docs * Docs and sample update * Adding entity record * MDA Provider updates #342 * Adding custom page support * Documentation update * WIP entitylist support * Foundations for CoE Kit test * Adding TestEngine.ConsentDialog * Adding TestEngine.ConsentDialog * Description update * removing format space and restoreing launchsettings * removing white space * Update sample application --------- Co-authored-by: Sourabh Namilikonda <snamilikonda@microsoft.com> * User/snamilikonda/parametertypo (#362) * renaming parameter typo * editing to trigger checks * embedding script and cert failed validation (#365) * embedding script and cert failed validation * Update build-test.yml to not check coverage percent till fixed * test for pipeline validation, * reverting pipeline validation changes * NuGet Update and Splitting and adding js file based on pagetype (#375) * splitting and adding js file based on pagetype * updating to upload task to v4 * adding teardowns for static mock objects so that its rest after each test and not cause subsequent test failures * Version update * Update for browser based auth * Format updates * Update var as per comments * Update to var based on comments --------- Co-authored-by: Sourabh Namilikonda <snamilikonda@microsoft.com> * Include pre-release documentation (#376) * Adding overview * Architecture update * Updating guidance documentation * setting project sign assembly true, adding publickey to test internal (#378) * NuGet Package update System.Text.Json (#379) Package update * Multi Feature Merge - Test Engine Authentication, Providers and Power Fx extensions (#380) * Adding namespace checks and support for Power FX #330 * Adding TestEngine.PlaywrightScript() #335 * Adding TestEngine.PlaywrightAction() #337 * Adding TestEngine.PlaywrightAction docs * Adding TestEngine.PlaywrightScript docs * Update TestEngine.PlaywrightScript.md * Initial portal provider * Partial PowerApps Portal provider implementation * WIP Power Apps Portal provider implementation * Adding TestEngine.GetConnections() * Test update * Adding CreateConnection * Adding TestEngine.CheckConnectionExists * TestEngine.CreateConnection update * Review edits * Add TestEngine.UpdateConnectionReferences() * Solution update * Connection list * Connection and format * Export connections * Package update * NuGet version update * NuGet Updates * Playright updates * Provider update * Review edits. * Update TestEngine namespace * Power Apps Portal update * Format updates * Add default certificate provider * Adding Variables ans Collection support * Remoding date tets * Adding TestEngine.SelectSection() * Adding tests * Format update * Adding MDA module and CoE custom page Sample * Review edit * Adding browser locale change * Adding Experimental.SelectControl() for MDA custom pages * Adding WIP Experimental.SimulateDataverse() * WIP SimuateDataverse GET list * Update for $batch and Query * Basic query use cases * Update .Net 8.0 * Update to .Net 8 * Additional Context error handling * Remove legacy player * Adding SimulateConnector Power Fx function * Updates for Debug/Trace logging * Networking monitoring update * Minior edits * Simulate update * WIP record implementation for SimulateDataverse and SimulateConnector * Sign only Release build record SimulateDataverse and SimulateConnector * Adding Mouse recording * Recorder update and Experimental functions * Review edits * Reviw edits for .Net 8 * Review edits * Adding parameter for custom page * Adding audio recording * Add audio event tracking * Asing storage auth provider * Suppotr for negative test case * Adding error checks for storage state * Adding NotificationTitle error detection * Storage state and permissions example * Update variable state * Refactor to common PowerPlatformLogin * Adding missing common files * Review changes * Adding storage state for #389 * Update samples to storagestate * Adding changes * Log updates and Test Cases * Format update and .Net 8.0 build * Build update * Pull request review edits * Review edit * Review changes * Update dotnet-format.yml * Adding docs * Post merge update (#481) * Post merge update to updated branch * Skipping failing test * Integration Debug (#490) * Visual Studio Code debug * Doc update * Update to wait and debug instructions (#494) * restricting logs, output to appdata local directory (#488) * restricting logs, output to appdata local directory * foratting * additional check for reserved names, comment * restricted linux and windows system paths * formatting * limiting read only to a few types and limiting read locaitons * updating test for cases failing on pipeline only * timeou not satisfied in pipelie * Allow null for domain * additional locations for linux, osx --------- Co-authored-by: Grant Archibald <31553604+Grant-Archibald-MS@users.noreply.github.com> * MDA Shape Controls for Custom Pages with Test Engine Support Validation (#487) * MDA Shape Controls for Custom Pages with Test Engine Support Validation * Resolving review comments * Namespace checks for IUserManager and ITestWebProvider (#486) * Adding Namespace check for providers #484 * Review edit * Adding changes also for IUserModule in #485 * Review edits * Review edits * adding auth to validateprovider, removing duplicate proj in sln * missing in merge * comment null checks --------- Co-authored-by: Sourabh Namilikonda <snamilikonda@microsoft.com> * restrict to specific list of providers and allow settings (#498) * restring settings and extensions * formatting * comment resolution * comment resolution * comment * New Sample with Connectors, Dataverse and Simulation and Localization (#499) * Adding DV and Connector example * MDA Custom Page simulation * Update on row count * Update for simulated data on suite start * Review edits * WIP changes for MDA and Simulation * Review edits * Update for MDA Provider interaction * Adding translation * Localization test update * Review edits * reomving pdb inclusion * removing pdb target copy --------- Co-authored-by: snamilikonda <snamilikonda@microsoft.com> * Storage State Windows Data Protection API (#500) * Adding DV and Connector example * MDA Custom Page simulation * Update on row count * Update for simulated data on suite start * Review edits * Moving state.json to encryption via Windows Data Protection API * Format changes * removing local and auth types (#506) * User/snamilikonda/1espt 2 (#525) * refactoring to netstandard2.0 and pipeline * setting variable * typo * updating connection * var update * version update * updating collection add * json formatting * json formatting * json formatting * no sign on debug * official template * updating existing values * additional wrapper and dependencies * sign base folder * Copy Built Files to Artifact Staging Directory * removing txt since it has pwd * symbol publish * conditional * Grant archibald ms/dataverse state 492 (#507) * Update for #492 and #504 * Review edits * explicitely using newer 4.3.1 to avoid high vulnerability * Review edits * Review edits * Adding environment based auth certificate provider * Integration merge * version updates and references --------- Co-authored-by: Sourabh Namilikonda <snamilikonda@microsoft.com> * pipeline updates for integration to main (#530) * pipeline updates for integration to main * codeql versionupdate * category addition * no autobuild * adding checks * updating to match latest changes (#533) * updating to match latest changes * updating to match latest changes * typos * adding securityevents write for codeql and publishing debug art (#540) * documentation updates (#542) * Update TestEngineModuleMEFLoader.cs (#544) * Update azure-pipelines-1ES.yml (#543) * pack debug nuget (#545) * pack debug nuget * pack debug nuget * sign debug package also * revert sign debug package also * Enhanced Record and Replay (#528) * WIP changes * Format update * [Feature]: Enable PowerApps Canvas Classic Icon Controls with Test En… (#515) * [Feature]: Enable PowerApps Canvas Classic Icon Controls with Test Engine Support-Part 1 * resolving review commments * Covered all Icon controls * User/snamilikonda/domain update (#548) * using https for domains, exporting Ienvvar * argument exception * release config param usage * Enable PowerApps MDA Display controls Control for Custom Pages with Test Engine Support (#502) * Test Plan, App for MDA Display Controls, and Fix for Asserting blank value * Remove unnecessary whitespace in ControlRecordValue.cs Remove unnecessary whitespace in ControlRecordValue.cs * Updated file enconding to UTF8 * removed space * Allowing TestEngine to Accept Blank value for validation --------- Co-authored-by: Grant Archibald <31553604+Grant-Archibald-MS@users.noreply.github.com> Co-authored-by: v-raghulraja <165115074+v-raghulraja@users.noreply.github.com> * Enable PowerApps MDA Container Controls for custom page with Test Engine Support (#524) * Feature #387 - Enable PowerApps MDA Container controls * Revert "Feature #387 - Enable PowerApps MDA Container controls" This reverts commit e19f927. * Feature #387 - Enable PowerApps MDA Container controls --------- Co-authored-by: v-raghulraja <165115074+v-raghulraja@users.noreply.github.com> * Enable PowerApps MDA Header Control for Custom Pages with Test Engine Support #388 (#505) Enable PowerApps MDA Header Control for Custom Pages Co-authored-by: v-raghulraja <165115074+v-raghulraja@users.noreply.github.com> * Update DataverseStorageStateUserManagerModule.cs machine name (#551) * Grant archibald md/mda provider update (#553) * Adding empty entity list object list * PlaywrightScript path update * Review edits * Update DataverseStorageStateUserManagerModule.cs machine name * Adding empty entity list object list * PlaywrightScript path update * Review edits * Format updates --------- Co-authored-by: snamilikonda <snamilikonda@microsoft.com> * Enable PowerApps MDA Classic Input controls for Custom Pages with Test Engine Support (#501) * Intial Commit * 2nd set of changes for classic controls * Enable PowerApps MDA Classic Input controls for Custom Pages with Test Engine Support * Resolving review comments * Checkin the Solution file * Resolving format issue * use static context with storagestate (#550) * Enabling PowerApps MDA Image and Add Picture Control for Custom Pages with Test Engine Support (#517) * Initial Changes for Image Control * Test Plan for Image and Add Picture Control * Adding ReadMe document and fix for Unit test case run * Fixing white space issue * Draft changes for click event for control * Draft changes * Changed logic to prevent control click event executing twice * Updating the test plan for Image and Add Picture control * Fixed White space issues * Fixing Unit Test case issue * Removing the image path location from test plan * User/snamilikonda/preview namespace (#557) * experimental to Preview namespace * license file from shared repo * experimental to Preview namespace * license file from shared repo * verify eachtime checkassembly is set to true, check null modules * formatting * User/snamilikonda/dotnetnamepsaceallowlis (#565) * list of dotnet namespaces allowed for microsof modules * dotnet namespace allowlist to limit access * New docs (#562) * Documentation update * Branch update * script reference update * Redierct update * Link update * Validation update * Update Preview namespace * Remove mermaid * updating workflow_dispatch trigger * setting trigger source to a env var * setting conditon for deployment * typo * branch restriction * removing repathing images * image repathing * relative paths, output dir creation * reorder test --------- Co-authored-by: snamilikonda <snamilikonda@microsoft.com> --------- Co-authored-by: Grant Archibald <31553604+Grant-Archibald-MS@users.noreply.github.com> Co-authored-by: v-raghulraja <165115074+v-raghulraja@users.noreply.github.com> Co-authored-by: v-nabalasubr <v-nabalasubr@microsoft.com>
1 parent 6e0759e commit 2b2c93a

File tree

872 files changed

+59894
-2124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

872 files changed

+59894
-2124
lines changed
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
trigger: none
2+
pr: none
3+
resources:
4+
repositories:
5+
- repository: 1ESPipelineTemplates
6+
type: git
7+
name: 1ESPipelineTemplates/1ESPipelineTemplates
8+
ref: refs/tags/release
9+
extends:
10+
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
11+
parameters:
12+
sdl:
13+
policheck:
14+
enabled: true
15+
codeSignValidation:
16+
enabled: true
17+
codeql:
18+
${{ if eq(variables['Build.SourceBranch'], variables['AllowedBranch']) }}:
19+
enabledOnNonDefaultBranches: true
20+
pool:
21+
name: Azure-Pipelines-1ESPT-ExDShared
22+
image: windows-2022
23+
os: windows
24+
stages:
25+
- stage: stage
26+
jobs:
27+
- job: Build_PowerAppsTestEngine
28+
displayName: 'Build PowerAppsTestEngine Solution'
29+
strategy:
30+
matrix:
31+
Debug:
32+
BuildConfiguration: 'Debug'
33+
Release:
34+
BuildConfiguration: 'Release'
35+
templateContext:
36+
outputs:
37+
- output: pipelineArtifact
38+
condition: succeeded()
39+
artifactName: 'PowerApps.TestEngine ($(BuildConfiguration))'
40+
targetPath: '$(Build.ArtifactStagingDirectory)'
41+
- output: nuget
42+
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'), eq(variables['UpdateVer'], 'true'))
43+
useDotNetTask: false # The default is false to use the NuGetCommand task. Set to true to use the DotNetCoreCLI task to publish packages.
44+
packagesToPush: '$(Build.ArtifactStagingDirectory)/Microsoft.PowerApps.TestEngine.*.nupkg'
45+
packageParentPath: '$(Build.ArtifactStagingDirectory)'
46+
publishVstsFeed: $(InternalFeed)
47+
nuGetFeedType: internal
48+
allowPackageConflicts: true # Optional. NuGetCommand task only.
49+
steps:
50+
- script: |
51+
echo "Hello $(myVariable)"
52+
- task: UseDotNet@2
53+
displayName: 'Use dotnet sdk 8.0'
54+
inputs:
55+
version: 8.0.x
56+
installationPath: '$(Agent.ToolsDirectory)/dotnet'
57+
- task: DotNetCoreCLI@2
58+
displayName: 'Build and test'
59+
inputs:
60+
command: 'run'
61+
projects: '$(Build.SourcesDirectory)/targets/targets.csproj'
62+
arguments: '-- ci -c $(BuildConfiguration)'
63+
- task: PublishTestResults@2
64+
inputs:
65+
testResultsFormat: 'VSTest'
66+
testResultsFiles: '**/*-*.trx'
67+
searchFolder: '$(Build.SourcesDirectory)/obj/'
68+
mergeTestResults: true
69+
failTaskOnFailedTests: true
70+
- task: EsrpCodeSigning@5
71+
displayName: 'ESRP sign'
72+
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
73+
inputs:
74+
ConnectedServiceName: $(EsrpConServName)
75+
AppRegistrationClientId: $(EsrpAppRegCliId)
76+
AppRegistrationTenantId: $(EsrpAppRegTenId)
77+
AuthAKVName: $(EsrpKVName)
78+
AuthCertName: $(EsrpAuthCertName)
79+
AuthSignCertName: $(EsrpAuthSignCertName)
80+
FolderPath: '$(Build.SourcesDirectory)/bin/$(BuildConfiguration)/PowerAppsTestEngineWrapper/'
81+
Pattern: '*.dll'
82+
signConfigType: inlineSignParams
83+
inlineOperation: |
84+
[
85+
{
86+
"KeyCode": "CP-233863-SN",
87+
"OperationCode": "StrongNameSign",
88+
"Parameters": {},
89+
"ToolName": "sign",
90+
"ToolVersion": "1.0"
91+
},
92+
{
93+
"KeyCode": "CP-233863-SN",
94+
"OperationCode": "StrongNameVerify",
95+
"ToolName": "sign",
96+
"ToolVersion": "1.0",
97+
"Parameters": {}
98+
},
99+
{
100+
"KeyCode": "CP-230012",
101+
"OperationCode": "SigntoolSign",
102+
"Parameters": {
103+
"OpusName": "Microsoft",
104+
"OpusInfo": "http://www.microsoft.com",
105+
"Append": "/as",
106+
"FileDigest": "/fd \"SHA256\"",
107+
"PageHash": "/NPH",
108+
"TimeStamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
109+
},
110+
"ToolName": "sign",
111+
"ToolVersion": "1.0"
112+
},
113+
{
114+
"KeyCode": "CP-230012",
115+
"OperationCode": "SigntoolVerify",
116+
"ToolName": "sign",
117+
"ToolVersion": "1.0",
118+
"Parameters": {}
119+
}
120+
]
121+
- task: CopyFiles@2
122+
displayName: 'Copy Built Files to Artifact Staging Directory'
123+
inputs:
124+
SourceFolder: '$(Build.SourcesDirectory)/bin'
125+
TargetFolder: '$(Build.ArtifactStagingDirectory)/buildoutput/bin'
126+
# Include all files except abc.txt
127+
Contents: |
128+
**/*
129+
!**/ThirdPartyNotices.txt
130+
- task: CopyFiles@2
131+
displayName: 'Copy Built Files to Artifact Staging Directory'
132+
inputs:
133+
SourceFolder: '$(Build.SourcesDirectory)/obj'
134+
TargetFolder: '$(Build.ArtifactStagingDirectory)/buildoutput/obj'
135+
# Include all files except abc.txt
136+
Contents: |
137+
**/*
138+
!**/ThirdPartyNotices.txt
139+
- task: CopyFiles@2
140+
displayName: 'Copy Built Files to Artifact Staging Directory'
141+
inputs:
142+
SourceFolder: '$(Build.SourcesDirectory)/pkg'
143+
TargetFolder: '$(Build.ArtifactStagingDirectory)/buildoutput/pkg'
144+
# Include all files except abc.txt
145+
Contents: |
146+
**/*
147+
!**/ThirdPartyNotices.txt
148+
- task: DotNetCoreCLI@2
149+
displayName: 'Pack'
150+
inputs:
151+
command: 'run'
152+
projects: '$(Build.SourcesDirectory)/targets/targets.csproj'
153+
arguments: '-- pack-AlphaV2 -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)'
154+
condition: succeeded()
155+
- task: EsrpCodeSigning@5
156+
displayName: 'ESRP sign nuget packages'
157+
inputs:
158+
ConnectedServiceName: $(EsrpConServName)
159+
AppRegistrationClientId: $(EsrpAppRegCliId)
160+
AppRegistrationTenantId: $(EsrpAppRegTenId)
161+
AuthAKVName: $(EsrpKVName)
162+
AuthCertName: $(EsrpAuthCertName)
163+
AuthSignCertName: $(EsrpAuthSignCertName)
164+
FolderPath: '$(Build.ArtifactStagingDirectory)'
165+
Pattern: '*.nupkg'
166+
signConfigType: inlineSignParams
167+
inlineOperation: |
168+
[
169+
{
170+
"KeyCode": "CP-401405",
171+
"OperationCode": "NuGetSign",
172+
"Parameters": {},
173+
"ToolName": "sign",
174+
"ToolVersion": "1.0"
175+
},
176+
{
177+
"KeyCode": "CP-401405",
178+
"OperationCode": "NuGetVerify",
179+
"Parameters": {},
180+
"ToolName": "sign",
181+
"ToolVersion": "1.0"
182+
}
183+
]
184+
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
185+
- task: PublishSymbols@2
186+
displayName: 'Publish symbols'
187+
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'), eq(variables['UpdateVer'], 'true'))
188+
continueOnError: true
189+
enabled: True
190+
inputs:
191+
SearchPattern: '$(Build.SourcesDirectory)/bin/$(BuildConfiguration)/**/*.pdb'
192+
SymbolServerType: TeamServices
193+
SymbolsPath: http://symweb/
194+
CompressSymbols: true
195+
IndexSources: True
196+
SymbolsArtifactName: TestEngine_Symbols_$(Build.BuildNumber)

0 commit comments

Comments
 (0)