public void Process_GetResult_ShouldSendResultAndUpdateTask() { TaskService.Invocations.Clear(); Sender.Invocations.Clear(); var taskId = Guid.NewGuid(); var queueName = "144_CallbackQueue"; var message = "{\"email\" : \"[email protected]\", \"name\": \"test\", \"password\": \"123456\", \"task_id\":\"" + taskId + "\",\"callback_queue_name\":\"" + queueName + "\"}"; var result = string.Empty; var createdAddress = string.Empty; TaskService.Setup(x => x.UpdateStatus(taskId, Enums.TaskStatus.Completed, It.IsAny <string>())) .Callback <Guid, Enums.TaskStatus, string>((idParam, statusParam, messageParam) => { result = messageParam; }); var message1 = new CreateClientMessage(); var sendingMessage = string.Empty; TaskService.Setup(x => x.SetError(taskId, It.IsAny <string>())); Sender.Setup(x => x.SendMessage(It.IsAny <string>(), It.IsAny <string>())).Callback <string, string>((queueParam, messageParam) => { sendingMessage = messageParam; }); var service = new CreateClientMessageProcessor(TaskService.Object, CustomerService.Object, Sender.Object); service.Process(message); TaskService.Verify(x => x.UpdateStatus(taskId, Enums.TaskStatus.Completed, It.IsAny <string>()), Times.Once); TaskService.Verify(x => x.SetError(taskId, It.IsAny <string>()), Times.Never); Sender.Verify(x => x.SendMessage(It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public CreateClientResult CreateClient(Client client) { var task = _taskService.CreateTask(TaskType.CreateClient, JsonConvert.SerializeObject(new { client.Email, client.Name, client.Password })); var callbackQueueName = $"{task.Id}_CallbackQueue"; var message = new CreateClientMessage { Name = client.Name, Email = client.Email, CallbackQueueName = callbackQueueName, TaskId = task.Id, }; var result = _requestManager.TryToExecute(MessageType.CreateClient.ToString(), JsonConvert.SerializeObject(message), callbackQueueName); if (result.Result) { try { return(JsonConvert.DeserializeObject <CreateClientResult>(result.Value)); } catch (Exception) { throw new Exception($"Problem with response deserialization: {result.Value}."); } } return(new CreateClientResult { TaskId = task.Id }); }
private void HandleCreateClientMessage(CreateClientMessage createClientMessage) { DisplayClientViewModel.Initialize(); Mode = Modes.Display; }