summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gitlab/mixins.py2
-rwxr-xr-x[-rw-r--r--]tools/cli_test_v4.sh25
2 files changed, 27 insertions, 0 deletions
diff --git a/gitlab/mixins.py b/gitlab/mixins.py
index b1309f6..7cbb7b9 100644
--- a/gitlab/mixins.py
+++ b/gitlab/mixins.py
@@ -208,6 +208,8 @@ class CreateMixin(object):
class UpdateMixin(object):
def _check_missing_update_attrs(self, data):
required, optional = self.get_update_attrs()
+ # Remove the id field from the required list as it was previously moved to the http path.
+ required = tuple(filter(lambda k: k != self._obj_cls._id_attr, required))
missing = []
for attr in required:
if attr not in data:
diff --git a/tools/cli_test_v4.sh b/tools/cli_test_v4.sh
index b62e5cd..dea0509 100644..100755
--- a/tools/cli_test_v4.sh
+++ b/tools/cli_test_v4.sh
@@ -89,6 +89,31 @@ testcase "merge request validation" '
--iid "$MR_ID" >/dev/null 2>&1
'
+# Test project variables
+testcase "create project variable" '
+ OUTPUT=$(GITLAB -v project-variable create --project-id $PROJECT_ID \
+ --key junk --value car)
+'
+
+testcase "get project variable" '
+ OUTPUT=$(GITLAB -v project-variable get --project-id $PROJECT_ID \
+ --key junk)
+'
+
+testcase "update project variable" '
+ OUTPUT=$(GITLAB -v project-variable update --project-id $PROJECT_ID \
+ --key junk --value bus)
+'
+
+testcase "list project variable" '
+ OUTPUT=$(GITLAB -v project-variable list --project-id $PROJECT_ID)
+'
+
+testcase "delete project variable" '
+ OUTPUT=$(GITLAB -v project-variable delete --project-id $PROJECT_ID \
+ --key junk)
+'
+
testcase "branch deletion" '
GITLAB project-branch delete --project-id "$PROJECT_ID" \
--name branch1 >/dev/null 2>&1