Skip to content

change param to tenant #2984

change param to tenant

change param to tenant #2984

# Purpose: Run smoke tests
name: Smoke Test
on:
workflow_call:
workflow_dispatch:
pull_request:
types: [opened, reopened]
branches:
- "main"
pull_request_review:
types: [submitted]
push:
paths:
- ".github/workflows/run_smoke_test.yaml"
- "utils/Invoke-SmokeTests.ps1"
branches:
- "main"
- "*smoke*"
permissions: read-all
jobs:
smoke-tests:
name: Smoke Tests
runs-on: windows-latest
env:
SCUBA_GITHUB_AUTOMATION_CREDS: ${{ secrets.SCUBA_GITHUB_AUTOMATION_CREDS }}
# This condition prevents duplicate runs.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
defaults:
run:
shell: powershell
permissions:
contents: read
steps:
- name: Checkout repo code
uses: actions/checkout@v4
- name: Execute ScubaGear and Check Outputs
run: |
$AutomationCredentials = $env:SCUBA_GITHUB_AUTOMATION_CREDS | ConvertFrom-Json
Write-Output "The type of creds"
Write-Output $AutomationCredential.GetType()
$TestTenants = $AutomationCredentials.TestTenants
Write-Output "The type of tenants"
Write-Output $TestTenants.GetType()
. utils/workflow/Invoke-SmokeTests.ps1
# Invoke-SmokeTests -AutomationCredentials $AutomationCredentials
Invoke-SmokeTests -TestTenants $TestTenants
# . Testing/Functional/SmokeTest/SmokeTestUtils.ps1
# ##### Install all the dependencies
# Install-SmokeTestExternalDependencies
# Import-Module -Name .\PowerShell\ScubaGear\ScubaGear.psd1
# Initialize-SCuBA
# # Workaround for Selenium. Loading psm1 instead of psd1
# Import-Module -Name (Get-Module -Name Selenium -ListAvailable).Path -Force
# # ScubaGear currently requires the provisioning of a certificate for using a ServicePrinicpal, rather than
# # using Workload Identity Federation, which would ordinarily be preferred for calling Microsoft APIs from
# # GitHub actions.
# $AUTOMATION_CREDS = $env:SCUBA_GITHUB_AUTOMATION_CREDS | ConvertFrom-Json
# $TestTenants = $AUTOMATION_CREDS.TestTenants
# Write-Output "Identified $($TestTenants.Count) Test Tenants"
# $TestContainers = @()
# ForEach ($TestTenantObj in $TestTenants){
# $Properties = Get-Member -InputObject $TestTenantObj -MemberType NoteProperty
# $TestTenant = $TestTenantObj | Select-Object -ExpandProperty $Properties.Name
# $OrgName = $TestTenant.DisplayName
# $DomainName = $TestTenant.DomainName
# $AppId = $TestTenant.AppId
# $PlainTextPassword = $TestTenant.CertificatePassword
# $CertPwd = ConvertTo-SecureString -String $PlainTextPassword -Force -AsPlainText
# $M365Env = $TestTenant.M365Env
# try {
# $Result = New-ServicePrincipalCertificate `
# -EncodedCertificate $TestTenant.CertificateB64 `
# -CertificatePassword $CertPwd
# $Thumbprint = $Result[-1]
# }
# catch {
# Write-Output "Failed to install certificate for $OrgName"
# }
# $TestContainers += New-PesterContainer `
# -Path "Testing/Functional/SmokeTest/SmokeTest001.Tests.ps1" `
# -Data @{ Thumbprint = $Thumbprint; Organization = $DomainName; AppId = $AppId; M365Environment = $M365Env }
# $TestContainers += New-PesterContainer `
# -Path "Testing/Functional/SmokeTest/SmokeTest002.Tests.ps1" `
# -Data @{ OrganizationDomain = $DomainName; OrganizationName = $OrgName }
# }
# Invoke-Pester -Container $TestContainers -Output Detailed
# Remove-MyCertificates