Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,36 @@ void AddToPublicEnvironment(InstanceDiscoveryMetadataEntry entry)
PreferredCache = "login.windows-ppe.net"
};

InstanceDiscoveryMetadataEntry bleuCloudEntry = new InstanceDiscoveryMetadataEntry()
{
Aliases = new[] { "login.sovcloud-identity.fr" },
PreferredNetwork = "login.sovcloud-identity.fr",
PreferredCache = "login.sovcloud-identity.fr"
};

InstanceDiscoveryMetadataEntry delosCloudEntry = new InstanceDiscoveryMetadataEntry()
{
Aliases = new[] { "login.sovcloud-identity.de" },
PreferredNetwork = "login.sovcloud-identity.de",
PreferredCache = "login.sovcloud-identity.de"
};

InstanceDiscoveryMetadataEntry govSGCloudEntry = new InstanceDiscoveryMetadataEntry()
{
Aliases = new[] { "login.sovcloud-identity.sg" },
PreferredNetwork = "login.sovcloud-identity.sg",
PreferredCache = "login.sovcloud-identity.sg"
};

AddToKnownCache(publicCloudEntry);
AddToKnownCache(cloudEntryChina);
AddToKnownCache(cloudEntryGermany);
AddToKnownCache(usGovCloudEntry);
AddToKnownCache(usCloudEntry);
AddToKnownCache(ppeCloudEntry);
AddToKnownCache(bleuCloudEntry);
AddToKnownCache(delosCloudEntry);
AddToKnownCache(govSGCloudEntry);
AddToPublicEnvironment(publicCloudEntry);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,14 @@ public void KnownMetadataProvider_IsKnown()

Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("login.microsoftonline.de"));
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("LOGIN.microsoftonline.de"));

// New sovereign clouds
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("login.sovcloud-identity.fr"));
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("LOGIN.sovcloud-identity.fr"));
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("login.sovcloud-identity.de"));
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("LOGIN.sovcloud-identity.de"));
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("login.sovcloud-identity.sg"));
Assert.IsTrue(KnownMetadataProvider.IsKnownEnvironment("LOGIN.sovcloud-identity.sg"));
}

[TestMethod]
Expand All @@ -136,6 +144,30 @@ public void KnownMetadataProvider_publicEnvironment()
Assert.IsTrue(KnownMetadataProvider.IsPublicEnvironment("login.microsoft.com"));
Assert.IsTrue(KnownMetadataProvider.IsPublicEnvironment("login.microsoftonline.com"));
Assert.IsTrue(KnownMetadataProvider.IsPublicEnvironment("Login.microsoftonline.com"));

// New sovereign clouds should NOT be public environments
Assert.IsFalse(KnownMetadataProvider.IsPublicEnvironment("login.sovcloud-identity.fr"));
Assert.IsFalse(KnownMetadataProvider.IsPublicEnvironment("login.sovcloud-identity.de"));
Assert.IsFalse(KnownMetadataProvider.IsPublicEnvironment("login.sovcloud-identity.sg"));
}

[DataTestMethod]
[DataRow("login.sovcloud-identity.fr")]
[DataRow("login.sovcloud-identity.de")]
[DataRow("login.sovcloud-identity.sg")]
public void KnownMetadataProvider_NewSovereignClouds(string host)
{
// Arrange
KnownMetadataProvider knownMetadataProvider = new KnownMetadataProvider();

// Act
InstanceDiscoveryMetadataEntry result = knownMetadataProvider.GetMetadata(host, null, _logger);

// Assert
Assert.IsNotNull(result);
Assert.AreEqual(host, result.PreferredNetwork);
Assert.AreEqual(host, result.PreferredCache);
CollectionAssert.Contains(result.Aliases, host);
}
}
}
Loading