public void InvokeFailsIfTheNameCannotBeFound() { var server = new Server("Test"); var invoker = new ActionInvoker(server); var result = invoker.Invoke("urn:ccnet:test:ghost", new InvokeArguments()); Assert.IsNotNull(result); Assert.AreEqual(RemoteResultCode.UnknownUrn, result.ResultCode); }
public void InvokeFailsIfInputIsMissing() { var testItem = new TestItem("Baby"); var server = new Server("Test", testItem); var invoker = new ActionInvoker(server); var arguments = new InvokeArguments { Action = "TestAction", Data = string.Empty }; var result = invoker.Invoke("urn:ccnet:test:baby", arguments); Assert.IsNotNull(result); Assert.AreEqual(RemoteResultCode.InvalidInput, result.ResultCode); }
public void InvokeFailsIfInputIsIncorrectType() { var testItem = new TestItem("Baby"); var server = new Server("Test", testItem); var invoker = new ActionInvoker(server); var arguments = new InvokeArguments { Action = "TestAction", Data = "<Blank xmlns=\"urn:cruisecontrol:common\" />" }; var result = invoker.Invoke("urn:ccnet:test:baby", arguments); Assert.IsNotNull(result); Assert.AreEqual(RemoteResultCode.InvalidInput, result.ResultCode); }
public void InvokeHandlesMethodsWithTheSameName() { var called = false; var item = new TroublesomeItem { Name = "ghost", DoSomethingAction = () => called = true }; var server = new Server("Test", item); var invoker = new ActionInvoker(server); var arguments = new InvokeArguments { Action = "DoSomething", Data = "<Blank xmlns=\"urn:cruisecontrol:common\" />" }; var result = invoker.Invoke("urn:ccnet:test:ghost", arguments); Assert.AreEqual(RemoteResultCode.Success, result.ResultCode); Assert.IsTrue(called); }
public void InvokeInvokesMethod() { var testItem = new TestItem("Baby"); var server = new Server("Test", testItem); var invoker = new ActionInvoker(server); var arguments = new InvokeArguments { Action = "DoSomething", Data = "<Blank xmlns=\"urn:cruisecontrol:common\" />" }; var result = invoker.Invoke("urn:ccnet:test:baby", arguments); Assert.AreEqual(RemoteResultCode.Success, result.ResultCode); Assert.IsNotNull(result); Assert.IsNotNull(result.Data); var message = MessageSerialiser.Deserialise(result.Data); Assert.IsInstanceOf<Messages.Blank>(message); Assert.IsTrue(testItem.WasInvoked); }
public void InvokeFailsIfTheArgumentsAreMissing() { var testItem = new TestItem("Baby"); var server = new Server("Test", testItem); var invoker = new ActionInvoker(server); var result = invoker.Invoke("urn:ccnet:test:baby", null); Assert.IsNotNull(result); Assert.AreEqual(RemoteResultCode.MissingArguments, result.ResultCode); }
public void InvokeFailsIfTheActionCannotBeFound() { var testItem = new TestItem("Baby"); var server = new Server("Test", testItem); var invoker = new ActionInvoker(server); var result = invoker.Invoke("urn:ccnet:test:baby", new InvokeArguments { Action = "DoesNotExist" }); Assert.IsNotNull(result); Assert.AreEqual(RemoteResultCode.UnknownAction, result.ResultCode); }