def test_bad_path_sub(self, config_parser): session = mock.MagicMock() options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' config = copy.deepcopy(CONFIG2) config['paths']['path_subs'] += 'incorrect:format' config_parser.return_value = FakeConfigParser(config) with self.assertRaises(koji.GenericError): runroot.RunRootTask(123, 'runroot', {}, session, options)
def test_pathnum_gaps(self, config_parser): session = mock.MagicMock() options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' config = CONFIG2.copy() config_parser.return_value = FakeConfigParser(config) task1 = runroot.RunRootTask(123, 'runroot', {}, session, options) # adjust the path numbers (but preserving order) and do it again config = CONFIG2.copy() config['path99'] = config['path1'] config['path999'] = config['path2'] del config['path1'] del config['path2'] config_parser.return_value = FakeConfigParser(config) task2 = runroot.RunRootTask(123, 'runroot', {}, session, options) # resulting processed config should be the same self.assertEqual(task1.config, task2.config) paths = list([CONFIG2[k] for k in ('path0', 'path1', 'path2')]) self.assertEqual(task2.config['paths'], paths)
def test_bad_config_absolute_path(self, config_parser): cp = FakeConfigParser() cp.CONFIG['paths']['default_mounts'] = '' config_parser.return_value = cp session = mock.MagicMock() options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' with self.assertRaises(koji.GenericError) as cm: runroot.RunRootTask(123, 'runroot', {}, session, options) self.assertEqual(cm.exception.args[0], "bad config: all paths (default_mounts, safe_roots, path_subs) needs to be absolute: ")
def test_bad_config_paths0(self, config_parser): cp = FakeConfigParser() del cp.CONFIG['path0']['mountpoint'] config_parser.return_value = cp session = mock.MagicMock() options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' with self.assertRaises(koji.GenericError) as cm: runroot.RunRootTask(123, 'runroot', {}, session, options) self.assertEqual(cm.exception.args[0], "bad config: missing options in path0 section")
def setUp(self, safe_config_parser): self.session = mock.MagicMock() self.br = mock.MagicMock() self.br.mock.return_value = 0 self.br.id = 678 self.br.rootdir.return_value = '/rootdir' runroot.BuildRoot = mock.MagicMock() runroot.BuildRoot.return_value = self.br options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' #options.topurl = 'http://topurl' options.topurls = None self.t = runroot.RunRootTask(123, 'runroot', {}, self.session, options) self.t.config['default_mounts'] = ['default_mount'] self.t.do_mounts = mock.MagicMock() self.t.do_extra_mounts = mock.MagicMock() self.t.undo_mounts = mock.MagicMock() self.t.uploadFile = mock.MagicMock() self.t._get_path_params = mock.MagicMock() self.t._get_path_params.side_effect = lambda x: x
def setUp(self, config_parser): config_parser.return_value = FakeConfigParser() self.session = mock.MagicMock() options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' self.t = runroot.RunRootTask(123, 'runroot', {}, self.session, options)
def test_valid_config_alt(self, config_parser): config_parser.return_value = FakeConfigParser(CONFIG2) session = mock.MagicMock() options = mock.MagicMock() options.workdir = '/tmp/nonexistentdirectory' runroot.RunRootTask(123, 'runroot', {}, session, options)