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}}]])
Пример #5
0
    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])
Пример #10
0
 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])
Пример #12
0
 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])
Пример #13
0
 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])
Пример #14
0
 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])
Пример #16
0
 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])
Пример #17
0
 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
                          }
                      }]])
Пример #18
0
 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
                          }
                      }]])
Пример #19
0
 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
                          }
                      }]])
Пример #20
0
 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']])
Пример #21
0
    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)
Пример #22
0
 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]])
Пример #23
0
 def test_render_op_snap(self):
     op = makeop("install", "snapf1")
     render_snap_op(**op)
     self.assertEqual(self.snapcmds, [["install", "snapf1", None]])
Пример #24
0
 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}}]])
Пример #25
0
 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}}]])
Пример #26
0
 def test_render_op_snap(self):
     op = makeop('install', 'snapf1')
     render_snap_op(**op)
     self.assertEqual(self.snapcmds, [['install', 'snapf1', None]])
Пример #27
0
 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]])
Пример #28
0
 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]])
Пример #30
0
 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"]])