From 31435a1ad28627a6fd370066fca1073bfdba2bd6 Mon Sep 17 00:00:00 2001 From: MoChilia Date: Mon, 27 Nov 2023 11:24:42 +0800 Subject: [PATCH] update tests --- .github/workflows/azure-login-negative.yml | 33 +++++++++++++++++++++- .github/workflows/azure-login-positive.yml | 30 +++++++++++++++++--- __tests__/LoginConfig.test.ts | 6 ++-- 3 files changed, 60 insertions(+), 9 deletions(-) diff --git a/.github/workflows/azure-login-negative.yml b/.github/workflows/azure-login-negative.yml index dead8273d..21bed1f0e 100644 --- a/.github/workflows/azure-login-negative.yml +++ b/.github/workflows/azure-login-negative.yml @@ -352,7 +352,7 @@ jobs: run: | az logout - # SP1 is ignored and SP2 will be used for login, but it will failed since SP2 has no access to the given subscription + # SP1 is ignored and SP2 will be used for login, but it will fail since SP2 has no access to the given subscription - name: Login with both creds and individual parameters id: login_12 continue-on-error: true @@ -387,6 +387,37 @@ jobs: with: script: | core.setFailed('Last action should fail but not. Please check it.') + + - name: Login with individual parameters, no subscription-id, no allow-no-subscriptions + id: login_14 + continue-on-error: true + uses: ./ + with: + client-id: ${{ secrets.OIDC_SP2_CLIENT_ID }} + tenant-id: ${{ secrets.OIDC_SP2_TENANT_ID }} + enable-AzPSSession: true + + - name: Check Last step failed + if: steps.login_14.outcome == 'success' + uses: actions/github-script@v3 + with: + script: | + core.setFailed('Last action should fail but not. Please check it.') + + - name: Login with creds, no subscription-id, no allow-no-subscriptions + id: login_15 + continue-on-error: true + uses: ./ + with: + creds: '{"clientId":"${{ secrets.OIDC_SP2_CLIENT_ID }}","clientSecret":"${{ secrets.SP2_CLIENT_SECRET }}","tenantId":"${{ secrets.OIDC_SP2_TENANT_ID }}"}' + enable-AzPSSession: true + + - name: Check Last step failed + if: steps.login_15.outcome == 'success' + uses: actions/github-script@v3 + with: + script: | + core.setFailed('Last action should fail but not. Please check it.') VMTest: strategy: diff --git a/.github/workflows/azure-login-positive.yml b/.github/workflows/azure-login-positive.yml index 973d01720..7bc5d3822 100644 --- a/.github/workflows/azure-login-positive.yml +++ b/.github/workflows/azure-login-positive.yml @@ -61,10 +61,9 @@ jobs: - name: Login with individual parameters uses: ./ with: - client-id: ${{ secrets.OIDC_SP2_CLIENT_ID }} - tenant-id: ${{ secrets.OIDC_SP2_TENANT_ID }} - # subscription-id: ${{ secrets.OIDC_SP2_SUBSCRIPTION_ID }} - allow-no-subscriptions: true + client-id: ${{ secrets.SP1_CLIENT_ID }} + tenant-id: ${{ secrets.SP1_TENANT_ID }} + subscription-id: ${{ secrets.SP1_SUBSCRIPTION_ID }} enable-AzPSSession: true - name: Run Azure Cli again @@ -176,6 +175,29 @@ jobs: throw "Not all checks passed!" } + - name: Login with individual parameters, allow no subscription + uses: ./ + with: + client-id: ${{ secrets.OIDC_SP2_CLIENT_ID }} + tenant-id: ${{ secrets.OIDC_SP2_TENANT_ID}} + subscription-id: ${{ secrets.OIDC_SP2_TENANT_ID }} + allow-no-subscriptions: true + enable-AzPSSession: true + + - name: Run Azure Cli again + run: | + az account show --output none + + - name: Run Azure PowerShell again + uses: azure/powershell@v1.2.0 + with: + azPSVersion: "latest" + inlineScript: | + $checkResult = (Get-AzContext).Environment.Name -eq 'AzureCloud' + if(-not $checkResult){ + throw "Not all checks passed!" + } + - name: Login with individual parameters, no subscription, allow no subscription uses: ./ with: diff --git a/__tests__/LoginConfig.test.ts b/__tests__/LoginConfig.test.ts index 49a6c1492..0f75f42d3 100644 --- a/__tests__/LoginConfig.test.ts +++ b/__tests__/LoginConfig.test.ts @@ -74,9 +74,8 @@ describe("LoginConfig Test", () => { await testCreds(creds1); }); - - - test('initialize with creds, lack of subscriptionId, but allowNoSubscriptionsLogin=true', async () => { + + test('initialize with creds, lack of subscriptionId, but allowNoSubscriptionsLogin=true', async () => { let creds1 = { 'clientId': 'client-id', 'clientSecret': 'client-secret', @@ -100,7 +99,6 @@ describe("LoginConfig Test", () => { expect(loginConfig.subscriptionId).toBe(""); }); - test('initialize with creds', async () => { let creds = { 'clientId': 'client-id',