public void Constructor_Default_InitializesProperties() { var configuration = new CertificatesConfiguration(); Assert.False(configuration.IsUIEnabledByDefault); Assert.Empty(configuration.AlwaysEnabledForDomains); Assert.Empty(configuration.AlwaysEnabledForEmailAddresses); }
public void IsUIEnabledForUser_WhenNotEnabled_ReturnsFalse() { var configuration = new CertificatesConfiguration( isUIEnabledByDefault: false, alwaysEnabledForDomains: Enumerable.Empty <string>(), alwaysEnabledForEmailAddresses: Enumerable.Empty <string>()); Assert.False(configuration.IsUIEnabledForUser(_user)); }
public void IsUIEnabledForUser_WhenUIIsEnabledForEmailAddress_ReturnsTrue(string emailAddress) { var configuration = new CertificatesConfiguration( isUIEnabledByDefault: false, alwaysEnabledForDomains: Enumerable.Empty <string>(), alwaysEnabledForEmailAddresses: new[] { emailAddress }); Assert.True(configuration.IsUIEnabledForUser(_user)); }
public void Constructor_NonDefault_InitializesProperties() { var domains = new[] { "a" }; var emailAddresses = new[] { "b" }; var configuration = new CertificatesConfiguration( isUIEnabledByDefault: true, alwaysEnabledForDomains: domains, alwaysEnabledForEmailAddresses: emailAddresses); Assert.True(configuration.IsUIEnabledByDefault); Assert.Equal(domains, configuration.AlwaysEnabledForDomains); Assert.Equal(emailAddresses, configuration.AlwaysEnabledForEmailAddresses); }
public async Task RefreshRefreshesObject() { // Arrange var emails = new[] { "*****@*****.**" }; var domains = new[] { "example.com" }; var exceptions = new[] { "*****@*****.**" }; var shouldTransforms = new[] { "*****@*****.**" }; var orgTenantPairs = new[] { new OrganizationTenantPair("example.com", "tenantId") }; var loginDiscontinuationConfiguration = new LoginDiscontinuationConfiguration(emails, domains, exceptions, shouldTransforms, orgTenantPairs); var loginJson = JsonConvert.SerializeObject(loginDiscontinuationConfiguration); var isUIEnabledByDefault = true; var alwaysEnabledForDomains = new[] { "a" }; var alwaysEnabledForEmailAddresses = new[] { "b" }; var certificatesConfiguration = new CertificatesConfiguration( isUIEnabledByDefault, alwaysEnabledForDomains, alwaysEnabledForEmailAddresses); var certificatesJson = JsonConvert.SerializeObject(certificatesConfiguration); var contentService = GetMock <IContentService>(); contentService .Setup(x => x.GetContentItemAsync(Constants.ContentNames.LoginDiscontinuationConfiguration, It.IsAny <TimeSpan>())) .Returns(Task.FromResult <IHtmlString>(new HtmlString(loginJson))); contentService .Setup(x => x.GetContentItemAsync(Constants.ContentNames.CertificatesConfiguration, It.IsAny <TimeSpan>())) .Returns(Task.FromResult <IHtmlString>(new HtmlString(certificatesJson))); var service = GetService <ContentObjectService>(); // Act await service.Refresh(); loginDiscontinuationConfiguration = service.LoginDiscontinuationConfiguration as LoginDiscontinuationConfiguration; certificatesConfiguration = service.CertificatesConfiguration as CertificatesConfiguration; // Assert Assert.True(loginDiscontinuationConfiguration.DiscontinuedForEmailAddresses.SequenceEqual(emails)); Assert.True(loginDiscontinuationConfiguration.DiscontinuedForDomains.SequenceEqual(domains)); Assert.True(loginDiscontinuationConfiguration.ExceptionsForEmailAddresses.SequenceEqual(exceptions)); Assert.True(loginDiscontinuationConfiguration.EnabledOrganizationAadTenants.SequenceEqual(orgTenantPairs, new OrganizationTenantPairComparer())); Assert.True(certificatesConfiguration.IsUIEnabledByDefault); Assert.Equal(alwaysEnabledForDomains, certificatesConfiguration.AlwaysEnabledForDomains); Assert.Equal(alwaysEnabledForEmailAddresses, certificatesConfiguration.AlwaysEnabledForEmailAddresses); }
public async Task RefreshRefreshesObject() { // Arrange var emails = new[] { "*****@*****.**" }; var domains = new[] { "example.com" }; var exceptions = new[] { "*****@*****.**" }; var shouldTransforms = new[] { "*****@*****.**" }; var orgTenantPairs = new[] { new OrganizationTenantPair("example.com", "tenantId") }; var loginDiscontinuationConfiguration = new LoginDiscontinuationConfiguration(emails, domains, exceptions, shouldTransforms, orgTenantPairs, isPasswordDiscontinuedForAll: false); var loginJson = JsonConvert.SerializeObject(loginDiscontinuationConfiguration); var isUIEnabledByDefault = true; var alwaysEnabledForDomains = new[] { "a" }; var alwaysEnabledForEmailAddresses = new[] { "b" }; var packageIdChecklistLength = 20000; var packageIdChecklistCacheExpireTimeInHours = 12.0; var certificatesConfiguration = new CertificatesConfiguration( isUIEnabledByDefault, alwaysEnabledForDomains, alwaysEnabledForEmailAddresses); var certificatesJson = JsonConvert.SerializeObject(certificatesConfiguration); var symbolsConfiguration = new SymbolsConfiguration( isSymbolsUploadEnabledForAll: true, alwaysEnabledForDomains: alwaysEnabledForDomains, alwaysEnabledForEmailAddresses: alwaysEnabledForEmailAddresses); var symbolsJson = JsonConvert.SerializeObject(symbolsConfiguration); var typosquattingConfiguration = new TyposquattingConfiguration( packageIdChecklistLength: packageIdChecklistLength, isCheckEnabled: true, isBlockUsersEnabled: true, packageIdChecklistCacheExpireTimeInHours: packageIdChecklistCacheExpireTimeInHours); var typosquattingJson = JsonConvert.SerializeObject(typosquattingConfiguration); var contentService = GetMock <IContentService>(); contentService .Setup(x => x.GetContentItemAsync(GalleryConstants.ContentNames.LoginDiscontinuationConfiguration, It.IsAny <TimeSpan>())) .Returns(Task.FromResult <IHtmlString>(new HtmlString(loginJson))); contentService .Setup(x => x.GetContentItemAsync(GalleryConstants.ContentNames.CertificatesConfiguration, It.IsAny <TimeSpan>())) .Returns(Task.FromResult <IHtmlString>(new HtmlString(certificatesJson))); contentService .Setup(x => x.GetContentItemAsync(GalleryConstants.ContentNames.SymbolsConfiguration, It.IsAny <TimeSpan>())) .Returns(Task.FromResult <IHtmlString>(new HtmlString(symbolsJson))); contentService .Setup(x => x.GetContentItemAsync(GalleryConstants.ContentNames.TyposquattingConfiguration, It.IsAny <TimeSpan>())) .Returns(Task.FromResult <IHtmlString>(new HtmlString(typosquattingJson))); var service = GetService <ContentObjectService>(); // Act await service.Refresh(); loginDiscontinuationConfiguration = service.LoginDiscontinuationConfiguration as LoginDiscontinuationConfiguration; certificatesConfiguration = service.CertificatesConfiguration as CertificatesConfiguration; symbolsConfiguration = service.SymbolsConfiguration as SymbolsConfiguration; typosquattingConfiguration = service.TyposquattingConfiguration as TyposquattingConfiguration; // Assert Assert.True(loginDiscontinuationConfiguration.DiscontinuedForEmailAddresses.SequenceEqual(emails)); Assert.True(loginDiscontinuationConfiguration.DiscontinuedForDomains.SequenceEqual(domains)); Assert.True(loginDiscontinuationConfiguration.ExceptionsForEmailAddresses.SequenceEqual(exceptions)); Assert.True(loginDiscontinuationConfiguration.EnabledOrganizationAadTenants.SequenceEqual(orgTenantPairs, new OrganizationTenantPairComparer())); Assert.True(certificatesConfiguration.IsUIEnabledByDefault); Assert.Equal(alwaysEnabledForDomains, certificatesConfiguration.AlwaysEnabledForDomains); Assert.Equal(alwaysEnabledForEmailAddresses, certificatesConfiguration.AlwaysEnabledForEmailAddresses); Assert.True(symbolsConfiguration.IsSymbolsUploadEnabledForAll); Assert.Equal(alwaysEnabledForDomains, symbolsConfiguration.AlwaysEnabledForDomains); Assert.Equal(alwaysEnabledForEmailAddresses, symbolsConfiguration.AlwaysEnabledForEmailAddresses); Assert.Equal(packageIdChecklistLength, typosquattingConfiguration.PackageIdChecklistLength); Assert.True(typosquattingConfiguration.IsCheckEnabled); Assert.True(typosquattingConfiguration.IsBlockUsersEnabled); Assert.Equal(packageIdChecklistCacheExpireTimeInHours, typosquattingConfiguration.PackageIdChecklistCacheExpireTimeInHours); }
public void IsUIEnabledForUser_WithDefaults_ReturnsFalse() { var configuration = new CertificatesConfiguration(); Assert.False(configuration.IsUIEnabledForUser(_user)); }