def test_render_op_config_bytes(self): name = "snapf1" mycfg = b'myconfig' op = makeop('config', name, config=mycfg) render_snap_op(**op) self.assertEqual( self.snapcmds, [['config', 'snapf1', {'config': {name: mycfg}}]])
def test_render_op_localsnap(self): self.populate_tmp({"snapf1.snap": b"foo1"}) op = makeop_tmpd(self.tmp, 'install', 'snapf1', path='snapf1.snap') render_snap_op(**op) self.assertEqual( self.snapcmds, [['install', op['path'], None]])
def test_render_op_snap_config(self): mycfg = {'key1': 'value1'} name = "snapf1" op = makeop('install', name, config=mycfg) render_snap_op(**op) self.assertEqual( self.snapcmds, [['install', name, {'config': {name: mycfg}}]])
def test_render_op_config_string(self): name = 'snapf1' mycfg = 'myconfig: foo\nhisconfig: bar\n' op = makeop('config', name, config=mycfg) render_snap_op(**op) self.assertEqual( self.snapcmds, [['config', 'snapf1', {'config': {name: mycfg}}]])
def test_render_does_not_pad_cfgfile(self): # package_ops with cfgfile should not modify --file= content. mydata = "foo1: bar1\nk: [l1, l2, l3]\n" self.populate_tmp({ "snapf1.snap": b"foo1", "snapf1.config": mydata.encode() }) ret = get_package_ops(packages=[], configs={}, installed=[], fspath=self.tmp) self.assertEqual(ret, [ makeop_tmpd(self.tmp, 'install', 'snapf1', path="snapf1.snap", cfgfile="snapf1.config") ]) # now the op was ok, but test that render didn't mess it up. render_snap_op(**ret[0]) data_found = self.snapcmds[0][2] # the data found gets loaded in the snapcmd interpretation # so this comparison is a bit lossy, but input to snappy config # is expected to be yaml loadable, so it should be OK. self.assertEqual(yaml.safe_load(mydata), 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'}] name = "snapf1" op = makeop('config', name, config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found['config'][name])
def test_render_op_localsnap_localconfig(self): self.populate_tmp( {"snapf1.snap": b"foo1", 'snapf1.config': b'snapf1cfg'}) op = makeop_tmpd(self.tmp, 'install', 'snapf1', path='snapf1.snap', cfgfile='snapf1.config') render_snap_op(**op) self.assertEqual( self.snapcmds, [['install', op['path'], 'snapf1cfg']])
def test_render_op_config_int(self): # config entry for package can be a list, not a string blob mycfg = 1 name = 'snapf1' op = makeop('config', name, config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found['config'][name])
def test_render_long_configs_short(self): # install a namespaced package should have un-namespaced config mycfg = {"k1": "k2"} name = "snapf1" op = makeop("install", name + ".smoser", config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found["config"][name])
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"}] name = "snapf1" op = makeop("config", name, config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found["config"][name])
def test_render_long_configs_short(self): # install a namespaced package should have un-namespaced config mycfg = {'k1': 'k2'} name = 'snapf1' op = makeop('install', name + ".smoser", config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found['config'][name])
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'}] name = "snapf1" op = makeop('config', name, config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found['config'][name])
def test_render_op_config_int(self): # config entry for package can be a list, not a string blob mycfg = 1 name = 'snapf1' op = makeop('config', name, config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found['config'][name])
def test_render_long_configs_short(self): # install a namespaced package should have un-namespaced config mycfg = {'k1': 'k2'} name = 'snapf1' op = makeop('install', name + ".smoser", config=mycfg) render_snap_op(**op) data_found = self.snapcmds[0][2] self.assertEqual(mycfg, data_found['config'][name])
def test_render_op_config_dict(self): # config entry for package can be a dict, not a string blob mycfg = {'foo': 'bar'} name = 'snapf1' op = makeop('config', name, 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, data_found['config'][name])
def test_render_op_config_dict(self): # config entry for package can be a dict, not a string blob mycfg = {'foo': 'bar'} name = 'snapf1' op = makeop('config', name, 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, data_found['config'][name])
def test_render_op_config_string(self): name = 'snapf1' mycfg = 'myconfig: foo\nhisconfig: bar\n' op = makeop('config', name, config=mycfg) render_snap_op(**op) self.assertEqual(self.snapcmds, [['config', 'snapf1', { 'config': { name: mycfg } }]])
def test_render_op_snap_config(self): mycfg = {'key1': 'value1'} name = "snapf1" op = makeop('install', name, config=mycfg) render_snap_op(**op) self.assertEqual(self.snapcmds, [['install', name, { 'config': { name: mycfg } }]])
def test_render_op_config_bytes(self): name = "snapf1" mycfg = b'myconfig' op = makeop('config', name, config=mycfg) render_snap_op(**op) self.assertEqual(self.snapcmds, [['config', 'snapf1', { 'config': { name: mycfg } }]])
def test_render_op_localsnap_localconfig(self): self.populate_tmp({ "snapf1.snap": b"foo1", 'snapf1.config': b'snapf1cfg' }) op = makeop_tmpd(self.tmp, 'install', 'snapf1', path='snapf1.snap', cfgfile='snapf1.config') render_snap_op(**op) self.assertEqual(self.snapcmds, [['install', op['path'], 'snapf1cfg']])
def test_render_does_not_pad_cfgfile(self): # package_ops with cfgfile should not modify --file= content. mydata = "foo1: bar1\nk: [l1, l2, l3]\n" self.populate_tmp({"snapf1.snap": b"foo1", "snapf1.config": mydata.encode()}) ret = get_package_ops(packages=[], configs={}, installed=[], fspath=self.tmp) self.assertEqual(ret, [makeop_tmpd(self.tmp, "install", "snapf1", path="snapf1.snap", cfgfile="snapf1.config")]) # now the op was ok, but test that render didn't mess it up. render_snap_op(**ret[0]) data_found = self.snapcmds[0][2] # the data found gets loaded in the snapcmd interpretation # so this comparison is a bit lossy, but input to snappy config # is expected to be yaml loadable, so it should be OK. self.assertEqual(yaml.safe_load(mydata), data_found)
def test_render_op_localsnap(self): self.populate_tmp({"snapf1.snap": b"foo1"}) op = makeop_tmpd(self.tmp, "install", "snapf1", path="snapf1.snap") render_snap_op(**op) self.assertEqual(self.snapcmds, [["install", op["path"], None]])
def test_render_op_snap(self): op = makeop("install", "snapf1") render_snap_op(**op) self.assertEqual(self.snapcmds, [["install", "snapf1", None]])
def test_render_op_snap_config(self): mycfg = {"key1": "value1"} name = "snapf1" op = makeop("install", name, config=mycfg) render_snap_op(**op) self.assertEqual(self.snapcmds, [["install", name, {"config": {name: mycfg}}]])
def test_render_op_config_bytes(self): name = "snapf1" mycfg = b"myconfig" op = makeop("config", name, config=mycfg) render_snap_op(**op) self.assertEqual(self.snapcmds, [["config", "snapf1", {"config": {name: mycfg}}]])
def test_render_op_snap(self): op = makeop('install', 'snapf1') render_snap_op(**op) self.assertEqual(self.snapcmds, [['install', 'snapf1', None]])
def test_render_op_localsnap(self): self.populate_tmp({"snapf1.snap": b"foo1"}) op = makeop_tmpd(self.tmp, 'install', 'snapf1', path='snapf1.snap') render_snap_op(**op) self.assertEqual(self.snapcmds, [['install', op['path'], None]])
def test_render_op_config_string(self): name = "snapf1" mycfg = "myconfig: foo\nhisconfig: bar\n" op = makeop("config", name, config=mycfg) render_snap_op(**op) self.assertEqual(self.snapcmds, [["config", "snapf1", {"config": {name: mycfg}}]])
def test_render_op_snap(self): op = makeop('install', 'snapf1') render_snap_op(**op) self.assertEqual( self.snapcmds, [['install', 'snapf1', None]])
def test_render_op_localsnap_localconfig(self): self.populate_tmp({"snapf1.snap": b"foo1", "snapf1.config": b"snapf1cfg"}) op = makeop_tmpd(self.tmp, "install", "snapf1", path="snapf1.snap", cfgfile="snapf1.config") render_snap_op(**op) self.assertEqual(self.snapcmds, [["install", op["path"], "snapf1cfg"]])