示例#1
0
        public async Task GroupVariableCanBeUpdated()
        {
            var request = new CreateGroupVariableRequest
            {
                VariableType = "env_var",
                Key          = "SOME_VAR_KEY_TO_UPDATE",
                Value        = "VALUE_VAR",
                Masked       = true,
                Protected    = true
            };

            var variable = await _sut.CreateVariableAsync(GitLabApiHelper.TestGroupId, request);

            VariableIdsToClean.Add(request.Key);

            var updateRequest = new UpdateGroupVariableRequest
            {
                VariableType = "file",
                Key          = request.Key,
                Value        = "UpdatedValue",
                Masked       = request.Masked,
                Protected    = request.Protected,
            };

            var variableUpdated = await _sut.UpdateVariableAsync(GitLabApiHelper.TestGroupId, updateRequest);

            variableUpdated.Should().Match <Variable>(v => v.VariableType == updateRequest.VariableType &&
                                                      v.Key == updateRequest.Key &&
                                                      v.Value == updateRequest.Value &&
                                                      v.Masked == updateRequest.Masked &&
                                                      v.Protected == updateRequest.Protected);
        }
 /// <summary>
 /// Updates an existing group variable.
 /// </summary>
 /// <param name="groupId">The ID, path or <see cref="Group"/> of the group.</param>
 /// <param name="request">Update variable request.</param>
 /// <returns>Newly modified variable.</returns>
 public async Task <Variable> UpdateVariableAsync(GroupId groupId, UpdateGroupVariableRequest request)
 {
     Guard.NotNull(request, nameof(request));
     return(await _httpFacade.Put <Variable>($"groups/{groupId}/variables/{request.Key}", request));
 }