public async Task ShouldReturnClusterIdWhenInitClusterCalled() { //Given const string clusterId = "1234"; _swarmClient.InitCluster(Arg.Any <SwarmInitParameters>()).Returns(Task.FromResult(clusterId)); var swarmService = new SwarmApi.Services.SwarmService(_swarmClient, _loggerFactory); var serviceController = new SwarmController(swarmService); //When var response = await serviceController.InitCluster(new SwarmApi.Dtos.ClusterInitParameters { AdvertiseAddress = "192.168.0.101", ListenAddress = "192.168.0.101" }); var result = response as JsonResult; var content = result.Value; //Then Assert.NotNull(result); string id = content.GetType().GetProperty("Id").GetValue(content, null).ToString(); Assert.Equal(200, result.StatusCode); Assert.Equal(clusterId, id); }
public async Task <IActionResult> InitSwarmAsync(ClusterInitParameters clusterInit) { try { var validator = new ClusterInitParameterValidator(); validator.Validate(clusterInit); var parameters = Mapper.Map <SwarmInitParameters>(clusterInit); var nodeId = await _swarmClient.InitCluster(parameters); return(Json(new { Id = nodeId })); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(CreateErrorResponse(ex, "Cannot initialize swarm cluster.")); } }