public void Test_LoadCustomAddinAssembly() { MockRepository mocks = new MockRepository(); // Set new EsapiConfig.Instance.Encoder.Type = typeof(SurrogateEncoder).AssemblyQualifiedName; // Set assemblies to load AddinAssemblyElement addinAssembly = new AddinAssemblyElement(); addinAssembly.Name = typeof(Esapi).Assembly.FullName; EsapiConfig.Instance.Encoder.Codecs.Assemblies.Add(addinAssembly); // Set mock expectations IEncoder mockEncoder = mocks.StrictMock <IEncoder>(); // Load default Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.Base64, null); }).Constraints(Is.Equal(BuiltinCodecs.Base64), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.Html, null); }).Constraints(Is.Equal(BuiltinCodecs.Html), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.HtmlAttribute, null); }).Constraints(Is.Equal(BuiltinCodecs.HtmlAttribute), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.JavaScript, null); }).Constraints(Is.Equal(BuiltinCodecs.JavaScript), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.Url, null); }).Constraints(Is.Equal(BuiltinCodecs.Url), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.VbScript, null); }).Constraints(Is.Equal(BuiltinCodecs.VbScript), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.Xml, null); }).Constraints(Is.Equal(BuiltinCodecs.Xml), Is.Anything()); Expect.Call(delegate { mockEncoder.AddCodec(BuiltinCodecs.XmlAttribute, null); }).Constraints(Is.Equal(BuiltinCodecs.XmlAttribute), Is.Anything()); mocks.ReplayAll(); // Create and test SurrogateEncoder.DefaultEncoder = mockEncoder; IEncoder encoder = Esapi.Encoder; Assert.IsTrue(encoder.GetType().Equals(typeof(SurrogateEncoder))); mocks.VerifyAll(); }
public void Test_LoadCustomAddinAssembly() { MockRepository mocks = new MockRepository(); // Set new EsapiConfig.Instance.Validator.Type = typeof(SurrogateValidator).AssemblyQualifiedName; // Set assemblies to load AddinAssemblyElement addinAssembly = new AddinAssemblyElement(); addinAssembly.Name = typeof(Esapi).Assembly.FullName; EsapiConfig.Instance.Validator.Rules.Assemblies.Add(addinAssembly); // Set mock expectations IValidator mockValidator = mocks.StrictMock <IValidator>(); // Load default Expect.Call(delegate { mockValidator.AddRule(BuiltinValidationRules.CreditCard, null); }).Constraints(Is.Equal(BuiltinValidationRules.CreditCard), Is.Anything()); Expect.Call(delegate { mockValidator.AddRule(BuiltinValidationRules.Date, null); }).Constraints(Is.Equal(BuiltinValidationRules.Date), Is.Anything()); Expect.Call(delegate { mockValidator.AddRule(BuiltinValidationRules.Double, null); }).Constraints(Is.Equal(BuiltinValidationRules.Double), Is.Anything()); Expect.Call(delegate { mockValidator.AddRule(BuiltinValidationRules.Integer, null); }).Constraints(Is.Equal(BuiltinValidationRules.Integer), Is.Anything()); Expect.Call(delegate { mockValidator.AddRule(BuiltinValidationRules.Printable, null); }).Constraints(Is.Equal(BuiltinValidationRules.Printable), Is.Anything()); mocks.ReplayAll(); // Create and test SurrogateValidator.DefaultValidator = mockValidator; IValidator validator = Esapi.Validator; Assert.IsTrue(validator.GetType().Equals(typeof(SurrogateValidator))); mocks.VerifyAll(); }