public void CreateInstance_Non_Http_Message_Throws() { MockService1 instance = new MockService1(); InstanceContext context = new InstanceContext(instance); IInstanceProvider provider = new MockHttpMessageInstanceProvider(); Message message = Message.CreateMessage(MessageVersion.None, "notUsed"); ExceptionAssert.ThrowsInvalidOperation( "WCF message without inner http message should throw", () => { provider.GetInstance(context, message); }); }
public void CreateInstance_Null_Message_Throws() { MockService1 instance = new MockService1(); InstanceContext context = new InstanceContext(instance); IInstanceProvider provider = new MockHttpMessageInstanceProvider(); Message message = null; ExceptionAssert.ThrowsArgumentNull( "Null message should throw", "message", () => { provider.GetInstance(context, message); }); }
public void CreateInstance_Null_InstanceContext_Throws() { MockService1 instance = new MockService1(); InstanceContext context = null; IInstanceProvider provider = new MockHttpMessageInstanceProvider(); Message message = new HttpRequestMessage().ToMessage(); ExceptionAssert.ThrowsArgumentNull( "Null instance context should throw", "instanceContext", () => { provider.GetInstance(context, message); }); }
public void CreateInstance_Allows_Null_Instance() { MockService1 instance = new MockService1(); InstanceContext context = new InstanceContext(instance); Message message = new HttpRequestMessage().ToMessage(); IInstanceProvider provider = new MockHttpMessageInstanceProvider() { OnGetInstance = (ctx, msg) => { return(null); } }; object returnedInstance = provider.GetInstance(context, message); Assert.IsNull(returnedInstance, "Instance provider should have returned a null instance"); Assert.IsTrue(((MockHttpMessageInstanceProvider)provider).WasGetInstanceCalled, "GetInstance in derived class was not called"); }
public void CreateInstance_Returns_Custom_Instance() { MockService1 instance = new MockService1(); InstanceContext context = new InstanceContext(instance); Message message = new HttpRequestMessage().ToMessage(); IInstanceProvider provider = new MockHttpMessageInstanceProvider() { OnGetInstance = (ctx, msg) => { return(instance); } }; object returnedInstance = provider.GetInstance(context, message); Assert.AreEqual(instance, returnedInstance, "Instance provider should have returned the same instance we provided to the mock"); Assert.IsTrue(((MockHttpMessageInstanceProvider)provider).WasGetInstanceCalled, "GetInstance in derived class was not called"); }