/// <summary> /// Please see <seealso cref="IEncodeMessageService{T}.Encode" /> for documentation. /// </summary> /// <param name="onboardVcuParameters"></param> /// <returns>-</returns> public EncodedMessage Encode(OnboardVcuParameters onboardVcuParameters) { var messageHeaderParameters = new MessageHeaderParameters { ApplicationMessageId = onboardVcuParameters.ApplicationMessageId, TeamSetContextId = onboardVcuParameters.TeamsetContextId ?? "", TechnicalMessageType = TechnicalMessageTypes.DkeCloudOnboardEndpoints, Mode = RequestEnvelope.Types.Mode.Direct }; var messagePayloadParameters = new MessagePayloadParameters { TypeUrl = OnboardingRequest.Descriptor.FullName }; var onboardingRequest = new OnboardingRequest(); foreach (var onboardingRequestEntry in onboardVcuParameters.OnboardingRequests) { onboardingRequest.OnboardingRequests.Add(onboardingRequestEntry); } messagePayloadParameters.Value = onboardingRequest.ToByteString(); var encodedMessage = new EncodedMessage { Id = Guid.NewGuid().ToString(), Content = EncodeMessageService.Encode(messageHeaderParameters, messagePayloadParameters) }; return(encodedMessage); }
public void GivenValidIdAndNameWhenOnboardingVirtualCuThenTheOnbardingShouldBePossible() { var onboardVcuService = new OnboardVcuService(new HttpMessagingService(HttpClient)); var onboardVcuParameters = new OnboardVcuParameters { OnboardResponse = OnboardResponse, ApplicationMessageId = MessageIdService.ApplicationMessageId(), OnboardingRequests = new List <OnboardingRequest.Types.EndpointRegistrationDetails> { new OnboardingRequest.Types.EndpointRegistrationDetails { Id = Guid.NewGuid().ToString(), Name = "My first virtual CU..." } } }; onboardVcuService.Send(onboardVcuParameters); 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(201, decodedMessage.ResponseEnvelope.ResponseCode); }
/// <summary> /// Please see <seealso cref="IMessagingService{T}.Send" /> for documentation. /// </summary> /// <param name="onboardVcuParameters">-</param> /// <returns>-</returns> public MessagingResult Send(OnboardVcuParameters onboardVcuParameters) { var encodedMessages = new List <string> { Encode(onboardVcuParameters).Content }; var messagingParameters = onboardVcuParameters.BuildMessagingParameter(encodedMessages); return(_messagingService.Send(messagingParameters)); }
public void GivenExistingEndpointIdWhenOffboardingVcuThenTheArShouldReturnErrorMessage() { var onboardVcuService = new OnboardVcuService(new HttpMessagingService(HttpClient)); var endpointId = Guid.NewGuid().ToString(); var onboardVcuParameters = new OnboardVcuParameters { OnboardResponse = OnboardResponse, ApplicationMessageId = MessageIdService.ApplicationMessageId(), OnboardingRequests = new List <OnboardingRequest.Types.EndpointRegistrationDetails> { new OnboardingRequest.Types.EndpointRegistrationDetails { Id = endpointId, Name = "My first virtual CU which is deleted directly..." } } }; onboardVcuService.Send(onboardVcuParameters); 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(201, decodedMessage.ResponseEnvelope.ResponseCode); var offboardVcuService = new OffboardVcuService(new HttpMessagingService(HttpClient)); var offboardVcuParameters = new OffboardVcuParameters { OnboardResponse = OnboardResponse, ApplicationMessageId = MessageIdService.ApplicationMessageId(), Endpoints = new List <string> { endpointId } }; offboardVcuService.Send(offboardVcuParameters); Thread.Sleep(TimeSpan.FromSeconds(5)); fetch = fetchMessageService.Fetch(OnboardResponse); Assert.Single(fetch); decodedMessage = DecodeMessageService.Decode(fetch[0].Command.Message); Assert.Equal(400, decodedMessage.ResponseEnvelope.ResponseCode); }