summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2015-03-26 22:10:01 -0400
committerScott Moser <smoser@ubuntu.com>2015-03-26 22:10:01 -0400
commit4c341a87d4b0804565e74e6335a0293dab6c0c7b (patch)
tree773e64b30611bf58b56403dede2f9cd2c37930f6 /tests
parent973c8b05358fe6ad1ce7adb25cb743ef4d38d792 (diff)
downloadvyos-cloud-init-4c341a87d4b0804565e74e6335a0293dab6c0c7b.tar.gz
vyos-cloud-init-4c341a87d4b0804565e74e6335a0293dab6c0c7b.zip
add tests for data types
Diffstat (limited to 'tests')
-rw-r--r--tests/unittests/test_handler/test_handler_snappy.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/unittests/test_handler/test_handler_snappy.py b/tests/unittests/test_handler/test_handler_snappy.py
index 8759a07d..81d891d2 100644
--- a/tests/unittests/test_handler/test_handler_snappy.py
+++ b/tests/unittests/test_handler/test_handler_snappy.py
@@ -140,12 +140,45 @@ class TestInstallPackages(t_help.TestCase):
self.assertEqual(
self.snapcmds, [['install', 'snapf1', b'myconfig']])
- def test_render_op_config(self):
+ def test_render_op_config_bytes(self):
op = makeop('config', 'snapf1', config=b'myconfig')
render_snap_op(**op)
self.assertEqual(
self.snapcmds, [['config', 'snapf1', b'myconfig']])
+ def test_render_op_config_string(self):
+ mycfg = 'myconfig: foo\nhisconfig: bar\n'
+ op = makeop('config', 'snapf1', config=mycfg)
+ render_snap_op(**op)
+ self.assertEqual(
+ self.snapcmds, [['config', 'snapf1', mycfg.encode()]])
+
+ def test_render_op_config_dict(self):
+ # config entry for package can be a dict, not a string blob
+ mycfg = {'foo': 'bar'}
+ op = makeop('config', 'snapf1', config=mycfg)
+ render_snap_op(**op)
+ # snapcmds is a list of 3-entry lists. data_found will be the
+ # blob of data in the file in 'snappy install --config=<file>'
+ data_found = self.snapcmds[0][2]
+ self.assertEqual(mycfg, util.load_yaml(data_found))
+
+ def test_render_op_config_list(self):
+ # config entry for package can be a list, not a string blob
+ mycfg = ['foo', 'bar', 'wark', {'f1': 'b1'}]
+ op = makeop('config', 'snapf1', config=mycfg)
+ render_snap_op(**op)
+ data_found = self.snapcmds[0][2]
+ self.assertEqual(mycfg, util.load_yaml(data_found, allowed=(list,)))
+
+ def test_render_op_config_int(self):
+ # config entry for package can be a list, not a string blob
+ mycfg = 1
+ op = makeop('config', 'snapf1', config=mycfg)
+ render_snap_op(**op)
+ data_found = self.snapcmds[0][2]
+ self.assertEqual(mycfg, util.load_yaml(data_found, allowed=(int,)))
+
def makeop_tmpd(tmpd, op, name, config=None, path=None, cfgfile=None):
if cfgfile: