public void parametrized_constructor_without_details_should_assign_all_parameters() { var message = new CallErrorMessage(callId, errorUri, errorDescription); message.ErrorUri.Should().Be(errorUri); message.CallId.Should().Be(callId); message.ErrorDescription.Should().Be(errorDescription); message.ErrorDetails.Should().BeNull(); }
public void array_serialization_without_details_serializes_all_properties_in_correct_order() { var message = new CallErrorMessage(callId, errorUri, errorDescription); var array = message.ToArray(); array.Length.Should().Be(4); array[0].Should().Be(MessageTypes.CallError); array[1].Should().Be(callId); array[2].Should().Be(errorUri); array[3].Should().Be(errorDescription); }
/// <summary> /// Handles an incoming <see cref="CallMessage"/> object, scheduling a remote procedure call. /// </summary> /// <param name="messageContext">Context wrapper object for incoming WAMP message</param> public virtual void Handle(MessageContext messageContext) { var message = messageContext.Message as CallMessage; if (message != null) { ProcedureDefinition procedureDefinition; if (messageContext.Procedures.TryGetValue(message.ProcUri, out procedureDefinition)) { var context = CreateProcedureContext(message, procedureDefinition, messageContext.SenderSession); messageContext.Scheduler.Schedule(context); } else { var errorUri = messageContext.HostAddress + "/Error#ProcedureNotFound"; var description = string.Format("No remote procedure for {0} URI has been found", message.ProcUri); var callErrorMessage = new CallErrorMessage(message.CallId, errorUri, description); messageContext.Response.Send(messageContext.SenderSession.SessionId, callErrorMessage); } } }
public void message_type_implements_IMessage_interface() { var message = new CallErrorMessage(); (message is IMessage).Should().BeTrue(); }