diff options
author | Max Wittig <max.wittig@siemens.com> | 2020-04-02 08:40:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-02 08:40:57 +0200 |
commit | 50fcd1237613645031410386e87b96b81ef5fb78 (patch) | |
tree | 84ab6c9ee695281235155f7ad2b138684fc8a322 /gitlab | |
parent | c5904c4c2e79ec302ff0de20bcb2792be4924bbe (diff) | |
parent | a26e58585b3d82cf1a3e60a3b7b3bfd7f51d77e5 (diff) | |
download | gitlab-50fcd1237613645031410386e87b96b81ef5fb78.tar.gz |
Merge pull request #1058 from python-gitlab/fix/listattribute-get-api-splits-string
Fix: ListAttribute get_for_api() splits strings
Diffstat (limited to 'gitlab')
-rw-r--r-- | gitlab/tests/test_types.py | 10 | ||||
-rw-r--r-- | gitlab/types.py | 4 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gitlab/tests/test_types.py b/gitlab/tests/test_types.py index 5b9f2ca..3613383 100644 --- a/gitlab/tests/test_types.py +++ b/gitlab/tests/test_types.py @@ -51,11 +51,19 @@ class TestListAttribute(unittest.TestCase): o.set_from_cli(" ") self.assertEqual([], o.get()) - def test_get_for_api(self): + def test_get_for_api_from_cli(self): o = types.ListAttribute() o.set_from_cli("foo,bar,baz") self.assertEqual("foo,bar,baz", o.get_for_api()) + def test_get_for_api_from_list(self): + o = types.ListAttribute(["foo", "bar", "baz"]) + self.assertEqual("foo,bar,baz", o.get_for_api()) + + def test_get_for_api_does_not_split_string(self): + o = types.ListAttribute("foo") + self.assertEqual("foo", o.get_for_api()) + class TestLowercaseStringAttribute(unittest.TestCase): def test_get_for_api(self): diff --git a/gitlab/types.py b/gitlab/types.py index 525dc30..e07d078 100644 --- a/gitlab/types.py +++ b/gitlab/types.py @@ -38,6 +38,10 @@ class ListAttribute(GitlabAttribute): self._value = [item.strip() for item in cli_value.split(",")] def get_for_api(self): + # Do not comma-split single value passed as string + if isinstance(self._value, str): + return self._value + return ",".join(self._value) |