Skip to content

Commit

Permalink
Feature/152 Introduce WcfSoapWithOpenIdConnect next to existing WcfSo…
Browse files Browse the repository at this point in the history
…apWithWsTrust (#164)

The one that bumps to v8.0 and introducing Modern Authentication to ISHRemote using OWCF. Still some polishing on timeouts and refresh to go...

* #152 Moved InfoShareWcfConnectionParameter deeper in Connection folder...compiles

* #152 Help of New-IshSession was still using -WsTrustIssuerUrl in examples

* #152 Merged #115 branch in, compiles except for 3 errors on enum/IshFolder conversion but could be because of old OpenAPI spec json

* #152 Renamed generic OpenApi to OpenApiISH30 to allow room for OpenApiAM10, restored all funky conversions from Enumerations,IShFields,IShFolder and IShFolders... it compiles... next Refresh spec json, rename Protocols and get folder to work

* #152 Renamed protocol enumerations.

* #152 Bumped OpenApiISH30.json to 20221229 edition which changed function definitions compared to 6 months ago... it compiles... next IshConnectionConfiguration

* #152 New-IshSession got parameter -Protocol which defaults to Autodetect... it compiles... next CreateOpenApiWithOpenIdConnectConnection

* #152 OpenApiISH30 NSwag version bump... it compiles... next CreateOpenApiWithOpenIdConnectConnection

* #152 Extended IshConnectionConfiguration (probably move under \Connection\)... it compiles... next CreateOpenApiWithOpenIdConnectConnection perhaps align InfoShareWcfSoapConnection to IshConnectionConfiguration usage

* #152 Moved IshConnectionConfiguration... it compiles... next CreateOpenApiWithOpenIdConnectConnection perhaps align InfoShareWcfSoapConnection to IshConnectionConfiguration usage

* #152 GetNewBearerToken fails... it compiles... Extend with Client/Secret cmdlet parameters so they are not empty anymore perhaps align InfoShareWcfSoapConnection to IshConnectionConfiguration usage

* #152 Importantant cleanup, perhaps more v8.0 then v7.1 in InfoShareWcfSoapConnection to align with IshConnectionConfiguration removing Internal/SDL realm, Lazy<> usage and ExplicitIssuer. Restored F5 debugging... it compiles... Extend with Client/Secret cmdlet parameters so they are not empty anymore

* #152 New-IshSession and Test-IshSession received -ClientId and -ClientSecret parameters... it compiles... Next is either interactive mode or deep dive into folder cmdlets based on OpenApi

* #152 Existing pester tests are all working... Next is either interactive mode or deep dive into folder cmdlets based on OpenApi

* #152 If -ClientId/-ClientSecret are passed CredentialFlow works. System Browser crashes... Next is still interactive mode then deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient fails on PS51/NET48 but works on PS73/NET70. Enabled PS7 debugging using PS7 MSI-based installer... Hardcoded to client to Tridion_Docs_Content_Importer... System Browser returns by Query and no longer by Post requestbody, change that... When fixed on NET6, how to fix on NET48 regarding assembly references... Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient fails on PS51/NET48 but works on PS73/NET70... Hardcoded to client to Tridion_Docs_Content_Importer... NET48 issue has to do with either System.Text.Json or HTTPS/SSL, but seperate test app works?!... Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Did force loading over AssemblyResolve in NET48 for System.Text.Json and System.Runtime.CompilerServices.Unsafe!...Next extend and document InfoShareOpenApiConnectionParameters (redirectUri, Open up hardcoded client to Tridion_Docs_Content_Importer , clean up code, check debug/verbose logging...Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... AssemblyResolve for NET48 only over class AppDomainAssemblyResolveHelper, all 4 debugs work!!... Next extend and document InfoShareOpenApiConnectionParameters (redirectUri, Open up hardcoded client to Tridion_Docs_Content_Importer , clean up code, check debug/verbose logging...Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... ValidateTokens plus some extended InfoShareOpenApiConnectionParameters (redirectUri, Open up hardcoded client to Tridion_Docs_Content_Importer , clean up code, check debug/verbose logging...Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... RedirectUri, clean up code, logging statements reviewed...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... RedirectUri, clean up code, logging statements reviewed inc keep listener alive...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Access Management has bootstrapped ISHRemote clientId...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #4 Improve /_TestEnvironment/TestPrerequisite.Tests.ps1 to handle multiple draft-to-released status transitions availability (ME...APP08)

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Refactoring to introduce WcfSoapWithOpenIdConnect a lot of changes needing review...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Refactoring to introduce WcfSoapWithOpenIdConnect a lot of changes needing review...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect  over OidcClient works on PS51/NET48 and PS73/NET70!!... Refactoring Connections space regarding naming and comments...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Refactoring Connections space regarding naming and comments...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Refactoring Connections space regarding naming and comments continued...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... New-IshSession with tests is working! Next Test-IshSession with Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Test-IshSession with Pester tests is done... Get ready to release like PR, release notes, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Running test, reduce superfluous session creation, release notes for v8.0... Get ready to release like PR, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 got NuGet-Platform update, matching Assembly Redirects and working tests... Next PesterContext-checks plus release notes for v8.0... Get ready to release like PR, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 PesterContext-checks fixed by moving Ifs in It blocks plus release notes for v8.0... Get ready to release like PR, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 001 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 002 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 003 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 004 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 005 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 006 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 007 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 008 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 009 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 010 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 011 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 012 automated build....Later deep dive into folder cmdlets based on OpenApi

---------

Co-authored-by: ddemeyer <[email protected]>
  • Loading branch information
ddemeyer and ddemeyer authored Sep 21, 2023
1 parent 3e3e1a0 commit ad895ef
Show file tree
Hide file tree
Showing 98 changed files with 20,904 additions and 840 deletions.
37 changes: 32 additions & 5 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ jobs:
runs-on: windows-latest

steps:
- name: PowerShell Update - 7.2.13/lts has issues, updating to latest stable (like 7.3.6 or higher)
uses: bjompen/[email protected]
with:
ReleaseVersion: 'Stable'

- uses: actions/checkout@v3

# - name: Setup .NET 3.1.x
# uses: actions/setup-dotnet@v1
# with:
# dotnet-version: 3.1.x

- name: Setup .NET 6.0.x
uses: actions/setup-dotnet@v3
with:
Expand Down Expand Up @@ -66,12 +66,15 @@ jobs:
ISH_BASE_URL: ${{ secrets.ISH_BASE_URL }}
ISH_USER_NAME: ${{ secrets.ISH_USER_NAME }}
ISH_PASSWORD: ${{ secrets.ISH_PASSWORD }}
ISH_CLIENT_ID: ${{ secrets.ISH_CLIENT_ID }}
ISH_CLIENT_SECRET: ${{ secrets.ISH_CLIENT_SECRET }}
run: |
$filePath = 'Source/ISHRemote/Trisoft.ISHRemote/ISHRemote.PesterSetup.Debug.ps1'
Add-Content -Path $filePath -Value '# File[$filePath] is generated through continuous-integration.yml section PowerShell 7.x'
Add-Content -Path $filePath -Value '$baseUrl = $env:ISH_BASE_URL'
Add-Content -Path $filePath -Value 'if ($baseUrl -like "*.sdlproducts.com*")'
Add-Content -Path $filePath -Value '{'
Add-Content -Path $filePath -Value ' $ishEventTypeToPurge = ''TESTBACKGROUNDTASK''' # before 14SP4 use ''PUSHTRANSLATIONS'''
Add-Content -Path $filePath -Value ' $ishLngLabel = ''en-us'''
Add-Content -Path $filePath -Value ' $ishLngTarget1 = ''VLANGUAGEESES'''
Add-Content -Path $filePath -Value ' $ishLngTarget1Label = ''es-es'''
Expand All @@ -86,6 +89,8 @@ jobs:
ISH_BASE_URL: ${{ secrets.ISH_BASE_URL }}
ISH_USER_NAME: ${{ secrets.ISH_USER_NAME }}
ISH_PASSWORD: ${{ secrets.ISH_PASSWORD }}
ISH_CLIENT_ID: ${{ secrets.ISH_CLIENT_ID }}
ISH_CLIENT_SECRET: ${{ secrets.ISH_CLIENT_SECRET }}
run: Invoke-Pester -Path Source/ISHRemote/Trisoft.ISHRemote/Cmdlets/_TestEnvironment/TestPrerequisite.Tests.ps1 -Output Detailed -Passthru | Export-CliXml -Path Cmdlets.Pester.Tests.xml
- name: Upload test results
uses: actions/upload-artifact@v3
Expand All @@ -99,6 +104,8 @@ jobs:
ISH_BASE_URL: ${{ secrets.ISH_BASE_URL }}
ISH_USER_NAME: ${{ secrets.ISH_USER_NAME }}
ISH_PASSWORD: ${{ secrets.ISH_PASSWORD }}
ISH_CLIENT_ID: ${{ secrets.ISH_CLIENT_ID }}
ISH_CLIENT_SECRET: ${{ secrets.ISH_CLIENT_SECRET }}
run: Invoke-Pester -Path Source/ISHRemote/Trisoft.ISHRemote/Cmdlets/ -Output Detailed -Passthru | Export-CliXml -Path Cmdlets.Pester.Tests.xml
- name: Upload test results
uses: actions/upload-artifact@v3
Expand All @@ -113,12 +120,15 @@ jobs:
ISH_BASE_URL: ${{ secrets.ISH_BASE_URL }}
ISH_USER_NAME: ${{ secrets.ISH_USER_NAME }}
ISH_PASSWORD: ${{ secrets.ISH_PASSWORD }}
ISH_CLIENT_ID: ${{ secrets.ISH_CLIENT_ID }}
ISH_CLIENT_SECRET: ${{ secrets.ISH_CLIENT_SECRET }}
run: |
$filePath = 'Source/ISHRemote/Trisoft.ISHRemote/ISHRemote.PesterSetup.Debug.ps1'
Add-Content -Path $filePath -Value '# File[$filePath] is generated through continuous-integration.yml section Windows PowerShell 5.1'
Add-Content -Path $filePath -Value '$baseUrl = $env:ISH_BASE_URL'
Add-Content -Path $filePath -Value 'if ($baseUrl -like "*.sdlproducts.com*")'
Add-Content -Path $filePath -Value '{'
Add-Content -Path $filePath -Value ' $ishEventTypeToPurge = ''TESTBACKGROUNDTASK''' # before 14SP4 use ''PUSHTRANSLATIONS'''
Add-Content -Path $filePath -Value ' $ishLngLabel = ''en-us'''
Add-Content -Path $filePath -Value ' $ishLngTarget1 = ''VLANGUAGEESES'''
Add-Content -Path $filePath -Value ' $ishLngTarget1Label = ''es-es'''
Expand All @@ -127,12 +137,29 @@ jobs:
Add-Content -Path $filePath -Value ' $ishLngCombination = ''en-us'''
Add-Content -Path $filePath -Value '}'
- name: Pester Test Prerequisites using Windows PowerShell 5.1
shell: powershell
env:
ISH_BASE_URL: ${{ secrets.ISH_BASE_URL }}
ISH_USER_NAME: ${{ secrets.ISH_USER_NAME }}
ISH_PASSWORD: ${{ secrets.ISH_PASSWORD }}
ISH_CLIENT_ID: ${{ secrets.ISH_CLIENT_ID }}
ISH_CLIENT_SECRET: ${{ secrets.ISH_CLIENT_SECRET }}
run: Invoke-Pester -Path Source/ISHRemote/Trisoft.ISHRemote/Cmdlets/_TestEnvironment/TestPrerequisite.Tests.ps1 -Output Detailed -Passthru | Export-CliXml -Path Cmdlets.Pester.Tests.xml
- name: Upload test results
uses: actions/upload-artifact@v3
with:
name: ISHRemote-MainCI-PesterPrerequisiteOnWindowsPowerShell
path: Cmdlets.Pester.Tests.xml

- name: Pester Test Cmdlets using Windows PowerShell 5.1
shell: powershell
env:
ISH_BASE_URL: ${{ secrets.ISH_BASE_URL }}
ISH_USER_NAME: ${{ secrets.ISH_USER_NAME }}
ISH_PASSWORD: ${{ secrets.ISH_PASSWORD }}
ISH_CLIENT_ID: ${{ secrets.ISH_CLIENT_ID }}
ISH_CLIENT_SECRET: ${{ secrets.ISH_CLIENT_SECRET }}
run: Invoke-Pester -Path Source/ISHRemote/Trisoft.ISHRemote/Cmdlets/ -Output Detailed -Passthru | Export-CliXml -Path Cmdlets.Pester.Tests.xml
- name: Upload test results
uses: actions/upload-artifact@v3
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ AssemblyInfo.cs

# My debug files
ISHRemote.PesterSetup.Debug.ps1
launchSettings.json
ISHRemote.SignAndPublish.Debug.ps1
InfoShare.snk

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 0 additions & 43 deletions Doc/ReleaseNotes-ISHRemote-7.1.md

This file was deleted.

Loading

0 comments on commit ad895ef

Please sign in to comment.