public void BinderReturnsDeserializedValue() { // Arrange Mock <MvcSerializer> mockSerializer = new Mock <MvcSerializer>(); mockSerializer.Setup(o => o.Deserialize("some-value", SerializationMode.EncryptedAndSigned)).Returns(42); DeserializeAttribute attr = new DeserializeAttribute(SerializationMode.EncryptedAndSigned) { Serializer = mockSerializer.Object }; IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext { ModelName = "someKey", ValueProvider = new SimpleValueProvider { { "someKey", "some-value" } } }; // Act object retVal = binder.BindModel(null, mbContext); // Assert Assert.Equal(42, retVal); }
public void BinderThrowsIfDataCorrupt() { // Arrange Mock <MvcSerializer> mockSerializer = new Mock <MvcSerializer>(); mockSerializer.Setup(o => o.Deserialize(It.IsAny <string>(), It.IsAny <SerializationMode>())).Throws(new SerializationException()); DeserializeAttribute attr = new DeserializeAttribute() { Serializer = mockSerializer.Object }; IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext() { ModelName = "someKey", ValueProvider = new SimpleValueProvider() { { "someKey", "This data is corrupted." } } }; // Act & assert Exception exception = ExceptionHelper.ExpectException <SerializationException>( delegate { binder.BindModel(null, mbContext); }); }
public void GetBinder_ReturnsInstanceOfDeserializeAttribute() { var binder = new DeserializeAttribute("ids", RequestStore.All); var modelBinder = binder.GetBinder(); Assert.IsNotNull(modelBinder); Assert.AreEqual(modelBinder, binder); }
public void CanDeserializeFromAll() { var attr = new DeserializeAttribute("ids", RequestStore.All); var ids = (int[])attr.BindModel(_controllerContext, CreateContext(typeof(int[]))); Assert.IsNotNull(ids); Assert.AreEqual(6, ids.Length); }
public void Duplicates_Create_CSV_In_QString_Form_Cookies_SvrVars_TempData_RouteData_Order() { var attr = new DeserializeAttribute("dupe", RequestStore.All); var dupe = (string[])attr.BindModel(_controllerContext, CreateContext(typeof(string[]))); Assert.IsNotNull(dupe); Assert.AreEqual("1,2,3,4,5,6", dupe[0]); }
public void BinderThrowsIfBindingContextIsNull() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); IModelBinder binder = attr.GetBinder(); // Act & assert Assert.ThrowsArgumentNull( delegate { binder.BindModel(null, null); }, "bindingContext"); }
public void BinderThrowsIfBindingContextIsNull() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); IModelBinder binder = attr.GetBinder(); // Act & assert Assert.ThrowsArgumentNull( delegate { binder.BindModel(null, null); }, "bindingContext"); }
public void ModeDefaultsToSigned() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); // Act SerializationMode defaultMode = attr.Mode; // Assert Assert.Equal(SerializationMode.Signed, defaultMode); }
public void ModeDefaultsToPlaintext() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); // Act SerializationMode defaultMode = attr.Mode; // Assert Assert.AreEqual(SerializationMode.Plaintext, defaultMode); }
public void BinderReturnsNullIfValueProviderDoesNotContainKey() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext { ModelName = "someKey", ValueProvider = new SimpleValueProvider() }; // Act object retVal = binder.BindModel(null, mbContext); // Assert Assert.Null(retVal); }
public void BinderReturnsNullIfValueProviderDoesNotContainKey() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext { ModelName = "someKey", ValueProvider = new SimpleValueProvider() }; // Act object retVal = binder.BindModel(null, mbContext); // Assert Assert.Null(retVal); }
public void BinderReturnsDeserializedValue() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext() { ModelName = "someKey", ValueProvider = new SimpleValueProvider() { { "someKey", "/wECKg==" } } }; // Act object retVal = binder.BindModel(null, mbContext); // Assert Assert.AreEqual(42, retVal, "Object was not properly deserialized."); }
public void BinderThrowsIfDataCorrupt() { // Arrange Mock<MvcSerializer> mockSerializer = new Mock<MvcSerializer>(); mockSerializer.Setup(o => o.Deserialize(It.IsAny<string>(), It.IsAny<SerializationMode>())).Throws(new SerializationException()); DeserializeAttribute attr = new DeserializeAttribute { Serializer = mockSerializer.Object }; IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext { ModelName = "someKey", ValueProvider = new SimpleValueProvider { { "someKey", "This data is corrupted." } } }; // Act & assert Exception exception = Assert.Throws<SerializationException>( delegate { binder.BindModel(null, mbContext); }); }
public void BinderThrowsIfDataCorrupt() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext() { ModelName = "someKey", ValueProvider = new SimpleValueProvider() { { "someKey", "This data is corrupted." } } }; // Act & assert Exception exception = ExceptionHelper.ExpectException <SerializationException>( delegate { binder.BindModel(null, mbContext); }, @"Deserialization failed. Verify that the data is being deserialized using the same SerializationMode with which it was serialized. Otherwise see the inner exception."); Assert.IsNotNull(exception.InnerException, "Inner exception was not propagated correctly."); }
public void BinderReturnsDeserializedValue() { // Arrange Mock<MvcSerializer> mockSerializer = new Mock<MvcSerializer>(); mockSerializer.Setup(o => o.Deserialize("some-value", SerializationMode.EncryptedAndSigned)).Returns(42); DeserializeAttribute attr = new DeserializeAttribute(SerializationMode.EncryptedAndSigned) { Serializer = mockSerializer.Object }; IModelBinder binder = attr.GetBinder(); ModelBindingContext mbContext = new ModelBindingContext { ModelName = "someKey", ValueProvider = new SimpleValueProvider { { "someKey", "some-value" } } }; // Act object retVal = binder.BindModel(null, mbContext); // Assert Assert.Equal(42, retVal); }
public void ModeDefaultsToSigned() { // Arrange DeserializeAttribute attr = new DeserializeAttribute(); // Act SerializationMode defaultMode = attr.Mode; // Assert Assert.Equal(SerializationMode.Signed, defaultMode); }
public void ForCompletenessNoPrefix() { var attribute = new DeserializeAttribute(); Assert.IsNull(attribute.Prefix); }
public void CanCreateAttribute() { var attr = new DeserializeAttribute("ids", RequestStore.Params); }
public void ForCompleteness() { var attribute = new DeserializeAttribute("test"); Assert.AreEqual("test", attribute.Prefix); }