public void CaptchaProxy__Valid_CaptchaProxyType() { const string address = "127.0.0.1:8080"; var proxyTypes = Enum.GetValues(typeof(CaptchaProxyType)).Cast <CaptchaProxyType>().ToArray(); // Using ProxyType via CaptchaProxyType foreach (var proxyType in proxyTypes) { var cp = new CaptchaProxy(proxyType, address); Assert.AreNotEqual(default(CaptchaProxy), cp); Assert.AreEqual(proxyType, cp.Type); Assert.AreEqual(address, cp.Address); Assert.IsTrue(cp.IsValid); } // Using ProxyType via string foreach (var proxyType in proxyTypes) { string proxyTypeStr = proxyType.ToString(); var cp = new CaptchaProxy(proxyTypeStr, address); Assert.AreNotEqual(default(CaptchaProxy), cp); Assert.AreEqual(proxyTypeStr, cp.Type.ToString()); Assert.AreEqual(address, cp.Address); Assert.IsTrue(cp.IsValid); } // Check ProxyType via string when it's invalid Assert.ThrowsException <ArgumentException>(() => { var cp = new CaptchaProxy("UnknownProxyType", address); }); }
public void CaptchaProxy__Default() { var cp = new CaptchaProxy(); Assert.AreEqual(default(CaptchaProxy), cp); Assert.IsNull(cp.Address); Assert.IsFalse(cp.IsValid); }
public async Task <ActionResult> GatedFormMarkup(FormCollection formCollection) { GatedContentLogger.Log.Info("[HttpPost] GatedFormMarkup Hit"); ActionResult toReturn = null; var formRelayer = new FormRelayer(formCollection, ModelState.IsValid); var captchaDataModel = new GatedFormDataModel(CaptchaGateSettings, formRelayer.GateItemIdStr); var gatedFormViewModel = captchaDataModel.GetViewModel(); if (formRelayer.DataIsValid && gatedFormViewModel.DataSourceItemProxy.IsValidForRendering) { formRelayer.TestingFormFormSubmitFail = gatedFormViewModel.DataSourceItemProxy.TestSettings.TestingForceFormSubmitFail; var CaptchaTestSettings = new CaptchaTestSettings( gatedFormViewModel.DataSourceItemProxy.TestSettings.TestingForceCaptchaFail, gatedFormViewModel.DataSourceItemProxy.TestSettings.TestingForceCaptchaSuccess ); var captchaProxy = new CaptchaProxy( formRelayer[FormsConstants.RecaptchaV3.TokenElemId], CaptchaGateSettings.CaptchaV3EnvironmentSettings, CaptchaTestSettings ); if (await captchaProxy.IsCaptchaValid()) { toReturn = await GetActionForCaptchaPass(formRelayer, gatedFormViewModel, gatedFormViewModel.FormProxy); } else { toReturn = new RedirectResult(gatedFormViewModel.DataSourceItemProxy.OnCaptchFailUrlFriendly);; } } else { if (!formRelayer.DataIsValid) { GatedContentLogger.Error("formCollection data is invalid", this); } if (!gatedFormViewModel.DataSourceItemProxy.IsValidForRendering) { GatedContentLogger.Error("DataSourceProxy is invalid", this); } } return(toReturn); }
public void CaptchaProxy__Invalid_Address() { const CaptchaProxyType type = CaptchaProxyType.HTTPS; Assert.ThrowsException <ArgumentException>(() => { var cp = new CaptchaProxy(type, null); }); Assert.ThrowsException <ArgumentException>(() => { var cp = new CaptchaProxy(type, string.Empty); }); Assert.ThrowsException <ArgumentException>(() => { var cp = new CaptchaProxy(type, "127.0.0.1"); }); Assert.ThrowsException <ArgumentException>(() => { var cp = new CaptchaProxy(type, "127.0.0.1:"); }); Assert.ThrowsException <ArgumentException>(() => { var cp = new CaptchaProxy(type, "127.0.0.1:8"); }); }
public void CaptchaProxy__Default() { var cp = new CaptchaProxy(); Assert.Equal(default, cp);