public async Task ShouldReturnAllManagerNodesInfoWhenGetNodesCalled() { //Given var spec = new NodeUpdateParameters(); spec.Role = "manager"; _swarmClient.GetNodes().Returns(x => { return(Task.FromResult <IEnumerable <NodeListResponse> >(new [] { _any.Create <NodeListResponse>(), _any.Build <NodeListResponse>().With(t => t.Spec, spec).Create() })); }); var nodeService = new NodeService(_swarmClient, _loggerFactory); var nodeController = new NodeController(nodeService); //When var response = await nodeController.GetNode(null, SwarmRole.Manager); var jsonResult = response as JsonResult; var value = jsonResult?.Value as IEnumerable <NodeListResponse>; //Then Assert.NotNull(jsonResult); Assert.NotNull(value); Assert.Equal(200, jsonResult.StatusCode); Assert.Equal(1, value.Count()); }
async Task ISwarmOperations.UpdateNodeAsync(string id, ulong version, NodeUpdateParameters parameters, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(id)) { throw new ArgumentNullException(nameof(id)); } var query = new EnumerableQueryString("version", new[] { version.ToString() }); var body = new JsonRequestContent <NodeUpdateParameters>(parameters ?? throw new ArgumentNullException(nameof(parameters)), this._client.JsonSerializer); await this._client.MakeRequestAsync(new[] { SwarmResponseHandler }, HttpMethod.Post, $"nodes/{id}/update", query, body, cancellationToken); }
public async Task updateNodeAsync(String hostname, String role, String availability, ulong version, KeyValuePair <String, String> label) { NodeUpdateParameters parameters = new NodeUpdateParameters(); IDictionary <String, String> dictionary = new Dictionary <String, String>(); dictionary.Add(label); parameters.Labels = dictionary; parameters.Role = role; parameters.Availability = availability; await this.client.Swarm.UpdateNodeAsync(hostname, version, parameters); }