public void IsValid_WhenIfSessionSpecifiedAndNoMnoSession_ItShouldReturnTrue() { // Http context Helpers.destroyMnoSession(); var httpSession = Helpers.FakeHttpSessionState(); // test Session mnoSession = new Session(httpSession); Assert.IsTrue(mnoSession.IsValid(ifSession: true)); }
public void IsValid_WhenNoRecheckRequired_ItShouldReturnTrue() { // Http context var recheck = DateTime.UtcNow.AddMinutes(1); Helpers.injectMnoSession(recheck); var httpSession = Helpers.FakeHttpSessionState(); // test Session mnoSession = new Session(httpSession); Assert.IsTrue(mnoSession.IsValid()); }
public void IsValid_WhenRecheckRequiredAndInvalid_ItShouldReturnFalse() { // Response preparation RestResponse response = new RestResponse(); var datetime = DateTime.UtcNow; JObject respObj = new JObject(new JProperty("valid", "false"), new JProperty("recheck", datetime.ToString("s"))); response.Content = respObj.ToString(); response.ResponseStatus = ResponseStatus.Completed; // Client mock var mockRestClient = new Mock<RestClient>(); mockRestClient.Setup(c => c.Execute(It.IsAny<RestRequest>())).Returns(response); // Http context var recheck = DateTime.UtcNow.AddMinutes(-1); Helpers.injectMnoSession(recheck); var httpSession = Helpers.FakeHttpSessionState(); // test Session mnoSession = new Session(httpSession); Assert.IsFalse(mnoSession.IsValid(mockRestClient.Object)); }
public void IsValid_WhenRecheckRequiredAndValid_ItShouldReturnTrueAndSaveTheSession() { // Response preparation RestResponse response = new RestResponse(); var datetime = DateTime.UtcNow; JObject respObj = new JObject( new JProperty("valid", "true"), new JProperty("recheck", datetime.ToString("s")) ); response.Content = respObj.ToString(); response.ResponseStatus = ResponseStatus.Completed; // Client mock var mockRestClient = new Mock<RestClient>(); mockRestClient.Setup(c => c.Execute(It.IsAny<RestRequest>())).Returns(response); // Http context var recheck = DateTime.UtcNow.AddMinutes(-1); Helpers.injectMnoSession(recheck); var httpSession = Helpers.FakeHttpSessionState(); // Test mno session Session mnoSession = new Session(httpSession); Assert.IsTrue(mnoSession.IsValid(mockRestClient.Object)); // Decrypt session and test recheck var enc = System.Text.Encoding.UTF8; var json = enc.GetString(Convert.FromBase64String(httpSession["maestrano"].ToString())); var mnoObj = JObject.Parse(json); Assert.AreEqual(datetime.ToString("s"), mnoObj.Value<DateTime>("session_recheck").ToString("s")); }