summaryrefslogtreecommitdiff
path: root/cloudinit/config/tests/test_snap.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2018-04-18 20:37:07 -0600
committerChad Smith <chad.smith@canonical.com>2018-04-18 20:37:07 -0600
commit6811926fdb991ad02ad9c0134c1d4bbe82ef87e1 (patch)
treeb90a1a50f7ac52e050ac006d88e6be75948ded21 /cloudinit/config/tests/test_snap.py
parent6d48d265a0548a2dc23e587f2a335d4e38e8db90 (diff)
downloadvyos-cloud-init-6811926fdb991ad02ad9c0134c1d4bbe82ef87e1.tar.gz
vyos-cloud-init-6811926fdb991ad02ad9c0134c1d4bbe82ef87e1.zip
Schema: do not warn on duplicate items in commands.
runcmd, bootcmd, snap/commands, ubuntu-advantage/commands would log warning (and fail if strict) on duplicate values in the commands. But those should be allowed. Example, it is perfectly valid to do: runcmd: ['sleep 1', 'sleep 1'] LP: #1764264
Diffstat (limited to 'cloudinit/config/tests/test_snap.py')
-rw-r--r--cloudinit/config/tests/test_snap.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/cloudinit/config/tests/test_snap.py b/cloudinit/config/tests/test_snap.py
index c5b4a9de..492d2d46 100644
--- a/cloudinit/config/tests/test_snap.py
+++ b/cloudinit/config/tests/test_snap.py
@@ -340,6 +340,42 @@ class TestSchema(CiTestCase):
{'snap': {'assertions': {'01': 'also valid'}}}, schema)
self.assertEqual('', self.logs.getvalue())
+ def test_duplicates_are_fine_array_array(self):
+ """Duplicated commands array/array entries are allowed."""
+ byebye = ["echo", "bye"]
+ try:
+ cfg = {'snap': {'commands': [byebye, byebye]}}
+ validate_cloudconfig_schema(cfg, schema, strict=True)
+ except schema.SchemaValidationError as e:
+ self.fail("command entries can be duplicate.")
+
+ def test_duplicates_are_fine_array_string(self):
+ """Duplicated commands array/string entries are allowed."""
+ byebye = "echo bye"
+ try:
+ cfg = {'snap': {'commands': [byebye, byebye]}}
+ validate_cloudconfig_schema(cfg, schema, strict=True)
+ except schema.SchemaValidationError as e:
+ self.fail("command entries can be duplicate.")
+
+ def test_duplicates_are_fine_dict_array(self):
+ """Duplicated commands dict/array entries are allowed."""
+ byebye = ["echo", "bye"]
+ try:
+ cfg = {'snap': {'commands': {'00': byebye, '01': byebye}}}
+ validate_cloudconfig_schema(cfg, schema, strict=True)
+ except schema.SchemaValidationError as e:
+ self.fail("command entries can be duplicate.")
+
+ def test_duplicates_are_fine_dict_string(self):
+ """Duplicated commands dict/string entries are allowed."""
+ byebye = "echo bye"
+ try:
+ cfg = {'snap': {'commands': {'00': byebye, '01': byebye}}}
+ validate_cloudconfig_schema(cfg, schema, strict=True)
+ except schema.SchemaValidationError as e:
+ self.fail("command entries can be duplicate.")
+
class TestHandle(CiTestCase):