TestEnvironment

1.5.0

Seeds a realistic identity test environment in Entra ID, Active Directory, Okta, Authentik, FreeIPA, PingOne or OneLogin - users in every lifecycle state, groups, devices and hosts, and the access policy over them - and tears it down again cleanly, proving ownership of every object before deleting it. One connect-seed-report-teardown surface for all seven, no module d
Seeds a realistic identity test environment in Entra ID, Active Directory, Okta, Authentik, FreeIPA, PingOne or OneLogin - users in every lifecycle state, groups, devices and hosts, and the access policy over them - and tears it down again cleanly, proving ownership of every object before deleting it. One connect-seed-report-teardown surface for all seven, no module dependencies, Windows PowerShell 5.1 and PowerShell 7.
Show more

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name TestEnvironment

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name TestEnvironment

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2026 Jeffrey Stuhr. All rights reserved.

Package Details

Author(s)

  • Jeffrey Stuhr

Tags

TestData TestEnvironment SeedData Identity IAM IdentityManagement Entra EntraID AzureAD MicrosoftGraph ActiveDirectory Okta Authentik FreeIPA PingOne OneLogin Kerberos LDAP ConditionalAccess PIM HBAC Sudo Automation Pester Lab Windows Linux MacOS

Functions

Connect-TestEnvironment Disconnect-TestEnvironment Get-TestEnvironmentProvider New-TestEnvironment Remove-TestEnvironment Get-TestEnvironmentReport Test-TestEnvironment Compare-TestEnvironment Repair-TestEnvironment Get-TestEnvironmentRuntime Get-TestAccessToken New-TestServiceApp Get-TestServiceApp Update-TestContainment New-EntraAdministrativeUnit New-EntraUser New-EntraGuestUser New-EntraGroup New-EntraDevice New-EntraApplication New-EntraNamedLocation New-EntraConditionalAccessPolicy New-EntraAuthenticationStrength New-EntraDirectoryRole New-EntraRoleEligibility New-EntraDirectoryExtension Set-EntraLicense New-ADTestOUStructure New-ADTestUser New-ADTestDevice New-ADTestSecurityGroups New-ADTestServiceAccount New-ADTestEdgeCase New-ADTestGroupPolicy New-ADTestDnsZone New-ADTestPasswordPolicy Get-ADTestPasswordFromVault New-OktaProfileAttribute New-OktaUser New-OktaGroup New-OktaGroupRule New-OktaApp New-OktaUserType New-OktaNetworkZone New-OktaPolicy New-OktaLinkedObject New-OktaTrustedOrigin New-OktaEventHook New-AuthentikGroup New-AuthentikUser New-AuthentikRole New-AuthentikApplication New-AuthentikOutpost New-AuthentikFlow New-AuthentikScopeMapping New-AuthentikEntitlement New-AuthentikPolicy New-AuthentikNotificationRule New-AuthentikBinding New-AuthentikToken New-AuthentikInvitation New-FreeIPAGroup New-FreeIPAUser New-FreeIPAHostgroup New-FreeIPAHost New-FreeIPANetgroup New-FreeIPAHbacRule New-FreeIPASudoRule New-FreeIPARole New-FreeIPAPasswordPolicy New-FreeIPAService New-FreeIPAIdView New-FreeIPAOtpToken New-FreeIPAAutomemberRule New-FreeIPAAutomount New-FreeIPASelinuxUserMap New-FreeIPACertMapRule New-FreeIPACaAcl New-FreeIPACertificate New-FreeIPADnsZone New-FreeIPAIdentityProvider New-PingOneProfileAttribute New-PingOnePopulation New-PingOneUser New-PingOneGroup New-PingOneResource New-PingOneApplication New-OneLoginCustomAttribute New-OneLoginRole New-OneLoginGroup New-OneLoginApp New-OneLoginMapping New-OneLoginUser New-OneLoginPolicy New-OneLoginAppRule New-OneLoginApiAuthorization New-OneLoginSmartHook New-OneLoginSelfRegistration New-OneLoginMfaFactor Get-OneLoginAppCredential

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

1.5.0 - A seventh provider: OneLogin.

OneLogin joins Entra ID, Active Directory, Okta, Authentik, FreeIPA and PingOne. It seeds one
account through the OneLogin API as an API credential: four custom user fields, 321 people in
every lifecycle state OneLogin keeps - one of them locked - with managers and the directory
identifiers a synchronised account carries, four roles, five office groups, two security policies,
five OIDC and SAML apps with two app rules, two API authorization servers with scopes, claims and
seeded clients, two user mappings, a disabled Smart Hook, a disabled self-registration profile and
MFA factors where the account offers them. It reports, verifies, repairs and tears down like every
other provider, and the shared people carry exactly the shared names.

It is built to run in an account real people sign in to. Most OneLogin objects carry nothing but
a name, so each is proved by what it holds or names: a role or group by holding seeded people and
nothing else, a policy by its seeded groups, a mapping by a seed-tag condition it always carries,
an app rule by its seeded app, a hook by a marker line in its code. Nothing seeded can reach a
real object and nothing real is drawn in: a mapping acts on seeded people only, the hook and the
sign-up page are always off, a policy is never the default, only seeded apps are API clients, no
MFA factor is switched on for the account, and every directory identifier is under the prefix or
the lab domain. None of that has a parameter.

An app's client secret is dropped by default. New-TestEnvironment -SaveAppSecret keeps the two
confidential apps' secrets through the shared credential record writer, DPAPI or the SecretStore;
Get-OneLoginAppCredential returns them as credentials, and teardown deletes each with its app and
any whose app is gone, so they do not build up.

Thirteen new exported commands. Verified live against a OneLogin trial on Windows PowerShell 5.1
and PowerShell 7: every verification check passing and a teardown that left nothing behind.

Every earlier release, and this one in full, is in the changelog:
https://github.com/fadwen/TestEnvironment/blob/main/CHANGELOG.md

FileList

Version History

Version Downloads Last updated
1.5.0 (current version) 3 9/29/2026
1.4.0 41 9/20/2026
1.3.0 9 9/14/2026
1.2.0 12 9/12/2026
1.1.0 7 9/12/2026
1.0.0 7 9/12/2026
Show more