private ChallengeResult HandleChallenegeResponseContent(string responseContent, SupportServiceResourceKey resourceKey, SupportServiceResourceKey challengeKey, string id, string redirect) { var challengeValidationResult = new ChallengeValidationResult(); try { challengeValidationResult = JsonConvert.DeserializeObject <ChallengeValidationResult>(responseContent); } catch (Exception) { _log.Debug($"Not a Valid Json Challenge Result received for account Id: {id}"); } if (!challengeValidationResult.IsValidResponse) { return(new ChallengeResult { Page = _formMapper.UpdateForm(resourceKey, challengeKey, id, redirect, responseContent) }); } return(new ChallengeResult { RedirectUrl = redirect }); }
public async Task ItShouldReceiveJustARedirectOnSuccess() { var challengeResult = new ChallengeValidationResult { IsValidResponse = true }; MockSiteConnector .Setup(x => x.Upload <string>(It.IsAny <Uri>(), It.IsAny <IDictionary <string, string> >())) .Returns(Task.FromResult(JsonConvert.SerializeObject(challengeResult))); var result = await Unit.SubmitChallenge(_id, _submittedFormData); Assert.IsNotNull(result); Assert.IsTrue(result.HasRedirect); Assert.AreEqual(_redirectUrl, result.RedirectUrl); Assert.IsNull(result.Page); }