public void Save_NullSession_NullDictionary_DoesNotThrow() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act testProvider.SaveTempData(GetControllerContext(), null); }
public void Save_NullSession_NullDictionary_DoesNotThrow() { // Arrange var testProvider = new SessionStateTempDataProvider(); // Act & Assert (does not throw) testProvider.SaveTempData(GetHttpContext(session: null, sessionEnabled: false), null); }
public void SessionProviderSaveThrowsOnDisabledSessionState() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act & Assert ExceptionHelper.ExpectInvalidOperationException( delegate { testProvider.SaveTempData(GetControllerContext(), new Dictionary<string, object>()); }, "The SessionStateTempDataProvider requires SessionState to be enabled."); }
public void Save_ThrowsException_WhenSessionIsNotEnabled() { // Arrange var testProvider = new SessionStateTempDataProvider(); var values = new Dictionary<string, object>(); values.Add("key1", "value1"); // Act & Assert Assert.Throws<InvalidOperationException>(() => { testProvider.SaveTempData(GetHttpContext(sessionEnabled: false), values); }); }
public void Save_NullSession_NonEmptyDictionary_Throws() { // Arrange var testProvider = new SessionStateTempDataProvider(); // Act & Assert Assert.Throws<InvalidOperationException>(() => { testProvider.SaveTempData( GetHttpContext(session: null, sessionEnabled: false), new Dictionary<string, object> { { "foo", "bar" } } ); }); }
public void Save_NonNullSession_TempDataIsDirty_AssignsTempDataDictionaryIntoSession() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary <string, object> tempData = new Dictionary <string, object> { { "foo", "bar" } }; Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>(); Mock <HttpSessionStateBase> mockSessionStateBase = new Mock <HttpSessionStateBase>(); mockControllerContext.Setup(c => c.HttpContext.Session).Returns(mockSessionStateBase.Object); mockSessionStateBase.SetupSet(ssb => ssb[SessionStateTempDataProvider.TempDataSessionStateKey] = tempData); // Act testProvider.SaveTempData(mockControllerContext.Object, tempData); // Assert mockSessionStateBase.VerifyAll(); }
public void Save_NullSession_NonEmptyDictionary_Throws() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act & Assert Assert.Throws <InvalidOperationException>( delegate { testProvider.SaveTempData( GetControllerContext(), new Dictionary <string, object> { { "foo", "bar" } } ); }, "The SessionStateTempDataProvider class requires session state to be enabled." ); }
public void Save_NonNullSession_TempDataIsNotDirty_KeyDoesNotExistInSession_SessionRemainsUntouched() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary <string, object> tempData = new Dictionary <string, object>(); Mock <ControllerContext> mockControllerContext = new Mock <ControllerContext>( MockBehavior.Strict ); mockControllerContext .Setup( o => o.HttpContext.Session[SessionStateTempDataProvider.TempDataSessionStateKey] ) .Returns(null); // Act testProvider.SaveTempData(mockControllerContext.Object, tempData); // Assert mockControllerContext.Verify(); }
public void SaveAndLoad_EmptyDictionary_RoundTripsAsNull() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "EmptyDictionary", new Dictionary<string, int>() } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var emptyDictionary = (IDictionary<string, int>)TempData["EmptyDictionary"]; Assert.Null(emptyDictionary); }
public void SaveAndLoad_ListCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "List`string", new List<string> { "one", "two" } } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var list = (IList<string>)TempData["List`string"]; Assert.Equal(2, list.Count); Assert.Equal("one", list[0]); Assert.Equal("two", list[1]); }
public void SaveAndLoad_DictionaryCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var inputDictionary = new Dictionary<string, string> { { "Hello", "World" }, }; var input = new Dictionary<string, object> { { "Dictionary", inputDictionary } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var dictionary = Assert.IsType<Dictionary<string, string>>(TempData["Dictionary"]); Assert.Equal("World", dictionary["Hello"]); }
public void SaveAndLoad_LongCanBeSavedAndLoaded(long expected) { // Arrange var key = "LongValue"; var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { key, expected } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); var result = TempData[key]; // Assert var actual = Assert.IsType<long>(result); Assert.Equal(expected, actual); }
public void Save_NonNullSession_TempDataIsDirty_AssignsTempDataDictionaryIntoSession() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary<string, object> tempData = new Dictionary<string, object> { { "foo", "bar" } }; Mock<ControllerContext> mockControllerContext = new Mock<ControllerContext>(); Mock<HttpSessionStateBase> mockSessionStateBase = new Mock<HttpSessionStateBase>(); mockControllerContext.Expect(c => c.HttpContext.Session).Returns(mockSessionStateBase.Object); mockSessionStateBase.ExpectSetItem(SessionStateTempDataProvider.TempDataSessionStateKey, tempData); // Act testProvider.SaveTempData(mockControllerContext.Object, tempData); // Assert mockSessionStateBase.VerifyAll(); }
public void SaveAndLoad_GuidCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var inputGuid = Guid.NewGuid(); var input = new Dictionary<string, object> { { "Guid", inputGuid } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var guidVal = Assert.IsType<Guid>(TempData["Guid"]); Assert.Equal(inputGuid, guidVal); }
public void SaveAndLoad_EnumCanBeSavedAndLoaded() { // Arrange var key = "EnumValue"; var testProvider = new SessionStateTempDataProvider(); var expected = DayOfWeek.Friday; var input = new Dictionary<string, object> { { key, expected } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); var result = TempData[key]; // Assert var actual = (DayOfWeek)result; Assert.Equal(expected, actual); }
public void SaveAndLoad_BoolCanBeStoredAndLoaded(bool value) { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "bool", value } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var boolVal = Assert.IsType<bool>(TempData["bool"]); Assert.Equal(value, boolVal); }
public void SaveAndLoad_DateTimeCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var inputDatetime = new DateTime(2010, 12, 12, 1, 2, 3, DateTimeKind.Local); var input = new Dictionary<string, object> { { "DateTime", inputDatetime } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var datetime = Assert.IsType<DateTime>(TempData["DateTime"]); Assert.Equal(inputDatetime, datetime); }
public void SaveAndLoad_StringCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "string", "value" } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var stringVal = Assert.IsType<string>(TempData["string"]); Assert.Equal("value", stringVal); }
public void SaveAndLoad_IntCanBeStoredAndLoaded(int expected) { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "int", expected } }; var context = GetHttpContext(); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var intVal = Assert.IsType<int>(TempData["int"]); Assert.Equal(expected, intVal); }
public void SaveAndLoad_IntCanBeStoredAndLoaded() { // Arrange var testProvider = new SessionStateTempDataProvider(); var input = new Dictionary<string, object> { { "int", 10 } }; var context = GetHttpContext(new TestSession(), true); // Act testProvider.SaveTempData(context, input); var TempData = testProvider.LoadTempData(context); // Assert var intVal = Convert.ToInt32(TempData["int"]); Assert.Equal(10, intVal); }
public void Save_NonNullSession_TempDataIsNotDirty_KeyDoesNotExistInSession_SessionRemainsUntouched() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary<string, object> tempData = new Dictionary<string, object>(); Mock<ControllerContext> mockControllerContext = new Mock<ControllerContext>(MockBehavior.Strict); mockControllerContext.Expect(o => o.HttpContext.Session[SessionStateTempDataProvider.TempDataSessionStateKey]).Returns(null); // Act testProvider.SaveTempData(mockControllerContext.Object, tempData); // Assert mockControllerContext.Verify(); }
public void Save_NonNullSession_TempDataIsNotDirty_KeyExistsInSession_KeyRemovedFromSession() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); Dictionary<string, object> tempData = new Dictionary<string, object>(); Mock<ControllerContext> mockControllerContext = new Mock<ControllerContext>(MockBehavior.Strict); mockControllerContext.Expect(o => o.HttpContext.Session[SessionStateTempDataProvider.TempDataSessionStateKey]).Returns(new object()); mockControllerContext.Expect(o => o.HttpContext.Session.Remove(SessionStateTempDataProvider.TempDataSessionStateKey)).Verifiable(); // Act testProvider.SaveTempData(mockControllerContext.Object, tempData); // Assert mockControllerContext.Verify(); }
public void Save_NullSession_NonEmptyDictionary_Throws() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act & Assert ExceptionHelper.ExpectInvalidOperationException( delegate { testProvider.SaveTempData(GetControllerContext(), new Dictionary<string, object> { { "foo", "bar" } }); }, "The SessionStateTempDataProvider class requires session state to be enabled."); }
public void Save_NullSession_EmptyDictionary_DoesNotThrow() { // Arrange SessionStateTempDataProvider testProvider = new SessionStateTempDataProvider(); // Act testProvider.SaveTempData(GetControllerContext(), new Dictionary<string, object>()); }