public async Task ProjectVariableCanBeUpdated() { var request = new CreateVariableRequest { VariableType = "env_var", Key = "SOME_VAR_KEY_TO_UPDATE", Value = "VALUE_VAR", EnvironmentScope = "*", Masked = true, Protected = true }; var variable = await _sut.CreateVariableAsync(GitLabApiHelper.TestProjectId, request); VariableIdsToClean.Add(request.Key); var updateRequest = new UpdateProjectVariableRequest { VariableType = "file", Key = request.Key, Value = "UpdatedValue", EnvironmentScope = "*", Masked = request.Masked, Protected = request.Protected, }; var variableUpdated = await _sut.UpdateVariableAsync(GitLabApiHelper.TestProjectId, updateRequest); variableUpdated.Should().Match <Variable>(v => v.VariableType == updateRequest.VariableType && v.Key == updateRequest.Key && v.Value == updateRequest.Value && v.EnvironmentScope == updateRequest.EnvironmentScope && v.Masked == updateRequest.Masked && v.Protected == updateRequest.Protected); }
/// <summary> /// Updates an existing project variable. /// </summary> /// <param name="projectId">The ID, path or <see cref="Project"/> of the project.</param> /// <param name="request">Update variable request.</param> /// <returns>Newly modified variable.</returns> public async Task <Variable> UpdateVariableAsync(ProjectId projectId, UpdateProjectVariableRequest request) { Guard.NotNull(request, nameof(request)); return(await _httpFacade.Put <Variable>($"projects/{projectId}/variables/{request.Key}", request)); }