Skip to content

Commit

Permalink
Updated {Create} AAD Integration Tests
Browse files Browse the repository at this point in the history
  • Loading branch information
NikCharlebois committed Jul 11, 2024
1 parent eb83d77 commit 08d56cf
Showing 1 changed file with 92 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -1,21 +1,37 @@
param
(
[Parameter()]
[System.Management.Automation.PSCredential]
$Credential
[System.String]
$ApplicationId,

[Parameter()]
[System.String]
$TenantId,

[Parameter()]
[System.String]
$CertificateThumbprint
)

Configuration Master
{
param
(
[Parameter(Mandatory = $true)]
[System.Management.Automation.PSCredential]
$Credscredential
[Parameter()]
[System.String]
$ApplicationId,

[Parameter()]
[System.String]
$TenantId,

[Parameter()]
[System.String]
$CertificateThumbprint
)

Import-DscResource -ModuleName Microsoft365DSC
$Domain = $Credscredential.Username.Split('@')[1]
$Domain = $TenantId
Node Localhost
{
AADAdministrativeUnit 'TestUnit'
Expand All @@ -36,7 +52,9 @@
}
}
)
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADApplication 'AADApp1'
{
Expand Down Expand Up @@ -74,19 +92,25 @@
}
)
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADAttributeSet 'AADAttributeSetTest'
{
Credential = $credsCredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
Description = "Attribute set with 420 attributes";
Ensure = "Present";
Id = "TestAttributeSet";
MaxAttributesPerSet = 420;
}
AADAuthenticationContextClassReference 'AADAuthenticationContextClassReference-Test'
{
Credential = $credsCredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
Description = "Context test";
DisplayName = "My Context";
Ensure = "Present";
Expand All @@ -99,13 +123,17 @@
Description = "This is an example";
DisplayName = "Example";
Ensure = "Present";
Credential = $Credscredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADConditionalAccessPolicy 'ConditionalAccessPolicy'
{
BuiltInControls = @("mfa");
ClientAppTypes = @("all");
Credential = $Credscredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
DeviceFilterMode = "exclude";
DeviceFilterRule = "device.trustType -eq `"AzureAD`" -or device.trustType -eq `"ServerAD`" -or device.trustType -eq `"Workplace`"";
DisplayName = "Example CAP";
Expand Down Expand Up @@ -147,14 +175,18 @@
)
}
};
Credential = $credsCredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
Ensure = "Present";
}
AADEntitlementManagementAccessPackage 'myAccessPackage'
{
AccessPackagesIncompatibleWith = @();
CatalogId = "General";
Credential = $Credscredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
Description = "Integration Tests";
DisplayName = "Integration Package";
Ensure = "Present";
Expand Down Expand Up @@ -197,7 +229,9 @@
IsExternallyVisible = $True
Managedidentity = $False
Ensure = 'Present'
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADEntitlementManagementAccessPackageCatalogResource 'myAccessPackageCatalogResource'
{
Expand All @@ -210,31 +244,37 @@
ResourceType = 'SharePoint Online Site'
Url = "https://$($Domain.Split('.')[0]).sharepoint.com/sites/HumanResources"
Ensure = 'Present'
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADEntitlementManagementConnectedOrganization 'MyConnectedOrganization'
{
Description = "this is the tenant partner";
DisplayName = "Test Tenant - DSC";
ExternalSponsors = @("AdeleV@$Domain");
ExternalSponsors = @("AdeleV@$TenantId");
IdentitySources = @(
MSFT_AADEntitlementManagementConnectedOrganizationIdentitySource{
ExternalTenantId = "e7a80bcf-696e-40ca-8775-a7f85fbb3ebc"
DisplayName = 'o365dsc'
odataType = '#microsoft.graph.azureActiveDirectoryTenant'
}
);
InternalSponsors = @("AdeleV@$Domain");
InternalSponsors = @("AdeleV@$TenantId");
State = "configured";
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADEntitlementManagementRoleAssignment 'AADEntitlementManagementRoleAssignment-Create'
{
AppScopeId = "/";
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
Ensure = "Present";
Principal = "John.Smith@$Domain";
Principal = "John.Smith@$TenantId";
RoleDefinition = "Catalog creator";
}
AADGroup 'MyGroups'
Expand All @@ -246,9 +286,11 @@
GroupTypes = @("Unified")
MailNickname = "M365DSC"
Visibility = "Private"
Owners = @("admin@$Domain", "AdeleV@$Domain")
Owners = @("admin@$TenantId", "AdeleV@$TenantId")
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADNamedLocationPolicy 'CompanyNetwork'
{
Expand All @@ -257,7 +299,9 @@
IsTrusted = $False
OdataType = "#microsoft.graph.ipNamedLocation"
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADRoleDefinition 'AADRoleDefinition1'
{
Expand All @@ -268,16 +312,20 @@
RolePermissions = "microsoft.directory/applicationPolicies/allProperties/read","microsoft.directory/applicationPolicies/allProperties/update","microsoft.directory/applicationPolicies/basic/update"
Version = "1.0"
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADRoleEligibilityScheduleRequest 'MyRequest'
{
Action = "AdminAssign";
Credential = $Credscredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
DirectoryScopeId = "/";
Ensure = "Present";
IsValidationOnly = $False;
Principal = "AdeleV@$Domain";
Principal = "AdeleV@$TenantId";
RoleDefinition = "Teams Communications Administrator";
ScheduleInfo = MSFT_AADRoleEligibilityScheduleRequestSchedule {
startDateTime = '2023-09-01T02:40:44Z'
Expand All @@ -295,19 +343,23 @@
AlternativeNames = "AlternativeName1","AlternativeName2"
AccountEnabled = $true
AppRoleAssignmentRequired = $false
Homepage = "https://$Domain"
LogoutUrl = "https://$Domain/logout"
ReplyURLs = "https://$Domain"
Homepage = "https://$TenantId"
LogoutUrl = "https://$TenantId/logout"
ReplyURLs = "https://$TenantId"
ServicePrincipalType = "Application"
Tags = "{WindowsAzureActiveDirectoryIntegratedApp}"
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADSocialIdentityProvider 'AADSocialIdentityProvider-Google'
{
ClientId = "Google-OAUTH";
ClientSecret = "FakeSecret";
Credential = $credsCredential;
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
DisplayName = "My Google Provider";
Ensure = "Present";
IdentityProviderType = "Google";
Expand All @@ -318,11 +370,13 @@
Definition = @("{`"TokenLifetimePolicy`":{`"Version`":1,`"AccessTokenLifetime`":`"02:00:00`"}}");
IsOrganizationDefault = $false
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
AADUser 'ConfigureJohnSMith'
{
UserPrincipalName = "John.Smith@$Domain"
UserPrincipalName = "John.Smith@$TenantId"
FirstName = "John"
LastName = "Smith"
DisplayName = "John J. Smith"
Expand All @@ -331,7 +385,9 @@
Office = "Ottawa - Queen"
UsageLocation = "US"
Ensure = "Present"
Credential = $Credscredential
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
}
}
Expand All @@ -348,7 +404,7 @@
# Compile and deploy configuration
try
{
Master -ConfigurationData $ConfigurationData -Credscredential $Credential
Master -ConfigurationData $ConfigurationData -ApplicationId $ApplicationId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint
Start-DscConfiguration Master -Wait -Force -Verbose -ErrorAction Stop
}
catch
Expand Down

0 comments on commit 08d56cf

Please sign in to comment.