public ExternalLogin( HttpClient client, IHtmlDocument externalLogin, DefaultUIContext context) : base(client, externalLogin, context) { _emailForm = HtmlAssert.HasForm(Document); }
public TwoFactorAuthentication(HttpClient client, IHtmlDocument twoFactor, DefaultUIContext context) : base(client, twoFactor, context) { if (!Context.TwoFactorEnabled) { _enableAuthenticatorLink = HtmlAssert.HasLink("#enable-authenticator", twoFactor); } }
public Index(HttpClient client, IHtmlDocument manage, HtmlPageContext context) : base(client, manage, context) { _profileLink = HtmlAssert.HasLink("#profile", manage); _changePasswordLink = HtmlAssert.HasLink("#change-password", manage); _twoFactorLink = HtmlAssert.HasLink("#two-factor", manage); _personalDataLink = HtmlAssert.HasLink("#personal-data", manage); }
public TwoFactorAuthentication(HttpClient client, IHtmlDocument twoFactor, HtmlPageContext context, bool twoFactorEnabled) : base(client, twoFactor, context) { _twoFactorEnabled = twoFactorEnabled; if (!_twoFactorEnabled) { _enableAuthenticatorLink = HtmlAssert.HasLink("#enable-authenticator", twoFactor); } }
public EnableAuthenticator( HttpClient client, IHtmlDocument enableAuthenticator, DefaultUIContext context) : base(client, enableAuthenticator, context) { Assert.True(Context.UserAuthenticated); _codeElement = HtmlAssert.HasElement("kbd", enableAuthenticator); _sendCodeForm = HtmlAssert.HasForm("#send-code", enableAuthenticator); }
public ResetAuthenticator( HttpClient client, IHtmlDocument resetAuthenticator, DefaultUIContext context) : base(client, resetAuthenticator, context) { Assert.True(Context.UserAuthenticated); _resetAuthenticatorForm = HtmlAssert.HasForm("#reset-authenticator-form", resetAuthenticator); _resetAuthenticatorButton = HtmlAssert.HasElement("#reset-authenticator-button", resetAuthenticator); }
public Register(HttpClient client, IHtmlDocument register, DefaultUIContext context) : base(client, register, context) { _registerForm = HtmlAssert.HasForm("#registerForm", register); if (context.ContosoLoginEnabled) { _externalLoginForm = HtmlAssert.HasForm("#external-account", register); _contosoButton = HtmlAssert.HasElement("button[value=Contoso]", register); } }
internal static async Task <ResetPasswordConfirmation> ResetPasswordAsync(HttpClient client, IdentityEmail resetPasswordEmail, string email, string newPassword) { var emailBody = HtmlAssert.IsHtmlFragment(resetPasswordEmail.Body); var linkElement = HtmlAssert.HasElement("a", emailBody); var link = Assert.IsAssignableFrom <IHtmlAnchorElement>(linkElement); var resetPassword = await ResetPassword.CreateAsync(link, client, new DefaultUIContext().WithExistingUser()); return(await resetPassword.SendNewPasswordAsync(email, newPassword)); }
public ExternalLogin( HttpClient client, IHtmlDocument externalLogin, DefaultUIContext context) : base(client, externalLogin, context) { _emailForm = HtmlAssert.HasForm(Document); Title = HtmlAssert.HasElement("#external-login-title", Document); Description = HtmlAssert.HasElement("#external-login-description", Document); }
internal static async Task <ConfirmEmail> ConfirmEmailAsync(IdentityEmail email, HttpClient client) { var emailBody = HtmlAssert.IsHtmlFragment(email.Body); var linkElement = HtmlAssert.HasElement("a", emailBody); var link = Assert.IsAssignableFrom <IHtmlAnchorElement>(linkElement); return(await ConfirmEmail.Create(link, client, new DefaultUIContext() .WithAuthenticatedUser() .WithExistingUser() .WithConfirmedEmail())); }
public void StyleAttributeSanitizationInOneHtmlElement() { // Arrange const string TestName = "StyleAttributeSanitizationInOneHtmlElement"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void YouTubeVideoSanitizationWithOtherNotAllowedAttributes() { // Arrange const string TestName = "YouTubeVideoSanitizationWithOtherNotAllowedAttributes"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void ScriptElementSanitizationWithOneScriptTag() { // Arrange const string TestName = "ScriptElementSanitizationWithOneScriptTag"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void JavaScriptRelatedAttribute() { // Arrange const string TestName = "JavaScriptRelatedAttributeSanitization"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void ImageSanitizationWithStyleVisibilityHidden() { // Arrange const string TestName = "ImageSanitizationWithStyleVisibilityHidden"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void ImageSanitizationWithoutImageSizesAndWithAbsoluteUrl() { // Arrange const string TestName = "ImageSanitizationWithoutImageSizesAndWithAbsoluteUrl"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void YouTubeVideoSanitizationWithStyleDisplayNone() { // Arrange const string TestName = "YouTubeVideoSanitizationWithStyleDisplayNone"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void HrefJavaScriptSanitizationWithJavaScriptValue() { // Arrange const string TestName = "HrefJavaScriptSanitizationWithJavaScriptValue"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void TargetAttributeSanitizationWithBlankValue() { // Arrange const string TestName = "TargetAttributeSanitizationWithBlankValue"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void AudioSanitizationWithControls() { // Arrange const string TestName = "AudioSanitizationWithControls"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public ExternalLogins(HttpClient client, IHtmlDocument externalLoginDocument, DefaultUIContext context) : base(client, externalLoginDocument, context) { if (context.SocialLoginProvider != null && context.PasswordLoginEnabled) { RemoveExternalLogin = HtmlAssert.HasForm("#remove-login-Contoso", Document); } if (context.SocialLoginProvider != null) { ExternalLoginDisplayName = HtmlAssert.HasElement("#login-provider-Contoso", Document); } }
public ExternalLogin( HttpClient client, IHtmlDocument externalLogin, DefaultUIContext context) : base(client, externalLogin, context) { _emailForm = HtmlAssert.HasForm(Document); var title = externalLogin.GetElementsByTagName("h4").FirstOrDefault(e => e.TextContent.StartsWith("Associate your")); Assert.Equal("Associate your Contoso auth account.", title?.TextContent); var info = externalLogin.QuerySelectorAll <IHtmlParagraphElement>(".text-info").FirstOrDefault(e => e.TextContent.Trim().StartsWith("You've successfully authenticated")); Assert.StartsWith("You've successfully authenticated with Contoso auth.", info?.TextContent.Trim()); }
public Email(HttpClient client, IHtmlDocument manage, DefaultUIContext context) : base(client, manage, context) { Assert.True(Context.UserAuthenticated); _changeEmailForm = HtmlAssert.HasForm("#email-form", manage); _emailInput = HtmlAssert.HasElement("#Email", manage); _newEmailInput = HtmlAssert.HasElement("#Input_NewEmail", manage); _changeEmailButton = HtmlAssert.HasElement("#change-email-button", manage); if (!Context.EmailConfirmed) { _confirmEmailButton = HtmlAssert.HasElement("button#email-verification", manage); } }
public Login( HttpClient client, IHtmlDocument login, DefaultUIContext context) : base(client, login, context) { _loginForm = HtmlAssert.HasForm("#account", login); _forgotPasswordLink = HtmlAssert.HasLink("#forgot-password", login); if (Context.ContosoLoginEnabled) { _externalLoginForm = HtmlAssert.HasForm("#external-account", login); _contosoButton = HtmlAssert.HasElement("button[value=Contoso]", login); } }
public void IFrameSanitizationWithSourceHostNotEqualToContainerHost() { // Arrange const string TestName = "IFrameSanitizationWithSourceHostNotEqualToContainerHost"; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(new RunConfiguration { RelativeUrlsHost = "http://different-domain.com" }, TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public void ImageSanitizationWithoutImageSizesAndShouldNotDownloadImages() { // Arrange const string TestName = "ImageSanitizationWithoutImageSizesAndShouldNotDownloadImages"; var configuration = new RunConfiguration { ShouldDownloadImages = false }; // Act var actualResult = HtmlTestFileToAmpConverter.Convert(configuration, TestName); // Assert HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult); AmpAssert.IsValidAmp(TestName); }
public RegisterConfirmation( HttpClient client, IHtmlDocument register, DefaultUIContext context) : base(client, register, context) { if (Context.HasRealEmailSender) { Assert.Empty(Document.QuerySelectorAll("#confirm-link")); } else { _confirmLink = HtmlAssert.HasLink("#confirm-link", Document); } }
public Index(HttpClient client, IHtmlDocument manage, DefaultUIContext context) : base(client, manage, context) { Assert.True(Context.UserAuthenticated); _profileLink = HtmlAssert.HasLink("#profile", manage); _changePasswordLink = HtmlAssert.HasLink("#change-password", manage); _twoFactorLink = HtmlAssert.HasLink("#two-factor", manage); _personalDataLink = HtmlAssert.HasLink("#personal-data", manage); _updateProfileForm = HtmlAssert.HasForm("#profile-form", manage); if (!Context.EmailConfirmed) { _confirmEmailButton = HtmlAssert.HasElement("button#email-verification", manage); } }
public Index( HttpClient client, IHtmlDocument index, DefaultUIContext context) : base(client, index, context) { if (!Context.UserAuthenticated) { _registerLink = HtmlAssert.HasLink("#register", Document); _loginLink = HtmlAssert.HasLink("#login", Document); } else { _manageLink = HtmlAssert.HasLink("#manage", Document); } }
public Index(HttpClient client, IHtmlDocument manage, DefaultUIContext context) : base(client, manage, context) { Assert.True(Context.UserAuthenticated); _profileLink = HtmlAssert.HasLink("#profile", manage); _emailLink = HtmlAssert.HasLink("#email", manage); _changePasswordLink = HtmlAssert.HasLink("#change-password", manage); _twoFactorLink = HtmlAssert.HasLink("#two-factor", manage); if (Context.ContosoLoginEnabled) { _externalLoginLink = HtmlAssert.HasLink("#external-login", manage); } _personalDataLink = HtmlAssert.HasLink("#personal-data", manage); _updateProfileForm = HtmlAssert.HasForm("#profile-form", manage); _userNameInput = HtmlAssert.HasElement("#Username", manage); _updateProfileButton = HtmlAssert.HasElement("#update-profile-button", manage); }