/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="listEndpointsParameters">-</param> /// <returns>-</returns> public EncodedMessage Encode(ListEndpointsParameters listEndpointsParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = listEndpointsParameters.ApplicationMessageId, TeamSetContextId = listEndpointsParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageType, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = ListEndpointsQuery.Descriptor.FullName }; var listEndpointsQuery = new ListEndpointsQuery { Direction = listEndpointsParameters.Direction }; if (null != listEndpointsParameters.TechnicalMessageType) { listEndpointsQuery.TechnicalMessageType = listEndpointsParameters.TechnicalMessageType; } messagePayloadParameters.Value = listEndpointsQuery.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
GivenExistingEndpointsWhenListEndpointsIsExecutedWithDirectionSendAndEmptyTechnicalMessageTypeThenTheMessageShouldReturnAValidResult() { var listEndpointsService = new ListEndpointsUnfilteredService(new HttpMessagingService(HttpClient)); var listEndpointsParameters = new ListEndpointsParameters { OnboardResponse = OnboardResponse, Direction = ListEndpointsQuery.Types.Direction.Send }; listEndpointsService.Send(listEndpointsParameters); Thread.Sleep(TimeSpan.FromSeconds(5)); var fetchMessageService = new FetchMessageService(HttpClient); var fetch = fetchMessageService.Fetch(OnboardResponse); Assert.Single(fetch); var decodedMessage = DecodeMessageService.Decode(fetch[0].Command.Message); Assert.Equal(200, decodedMessage.ResponseEnvelope.ResponseCode); Assert.Equal(ResponseEnvelope.Types.ResponseBodyType.EndpointsListing, decodedMessage.ResponseEnvelope.Type); }
/// <summary> /// Please see base class declaration for documentation. /// </summary> /// <param name="listEndpointsParameters">-</param> /// <returns>-</returns> public MessagingResult Send(ListEndpointsParameters listEndpointsParameters) { var encodedMessages = new List <string> { Encode(listEndpointsParameters).Content }; var messagingParameters = listEndpointsParameters.BuildMessagingParameter(encodedMessages); return(_messagingService.Send(messagingParameters)); }