def test_init(self): fid = self.write_tempfile(self.repo_cfg) ostree_config = model.OstreeRepoConfig(repo_file_path=fid.name) new_ostree_config = model.OstreeRepoConfig(repo_file_path=fid.name) updates = model.OstreeConfigUpdates(ostree_config, new_ostree_config) updates.apply() self.assertEquals(updates.orig, updates.new) updates.save()
def test_gi_wrapper_script_error(self): repo_cfg = """ [remote "awesome-ostree"] url=http://awesome.example.com.not.real/ branches=awesome-ostree/awesome7/x86_64/controller/docker; gpg-verify=false """ origin_cfg = """ [origin] refspec=origremote:awesome-ostree/awesomeos8/x86_64/controller/docker """ self.repo_cfg_path = self.write_tempfile(repo_cfg) self.repo_config = model.OstreeRepoConfig( repo_file_path=self.repo_cfg_path.name) self.repo_config.load() self.updater = model.OstreeOriginUpdater(self.repo_config) self.origin_cfg_path = self.write_tempfile(origin_cfg) spe = subprocess.CalledProcessError( returncode=1, cmd=['gi_wrapper.py', '--some-options']) self.updater._get_deployed_origin = \ mock.Mock(side_effect=model.OstreeGIWrapperError.from_called_process_error(spe)) res = self.updater.run() self.assertTrue(res is None)
def setUp(self): super(TestOstreeConfigRepoFileWriter, self).setUp() self.repo_cfg_path = self.write_tempfile(self.repo_cfg) self.repo_config = model.OstreeRepoConfig( repo_file_path=self.repo_cfg_path.name) self.repo_config.load()
def _setup_config(self, repo_cfg, origin_cfg): self.repo_cfg_path = self.write_tempfile(repo_cfg) self.repo_config = model.OstreeRepoConfig( repo_file_path=self.repo_cfg_path.name) self.repo_config.load() self.updater = model.OstreeOriginUpdater(self.repo_config) self.origin_cfg_path = self.write_tempfile(origin_cfg) self.original_get_deployed_origin = self.updater._get_deployed_origin self.updater._get_deployed_origin = mock.Mock( return_value=self.origin_cfg_path.name)
def update_repo_config(self): ostree_repo_config = model.OstreeRepoConfig() # populate config, handle exceptions self.load_config(ostree_repo_config) # return the composed set of EntitledContents entitled_contents = find_content(self.ent_source, content_type=OSTREE_CONTENT_TYPE) # update repo configs report = self.update_config(ostree_repo_config, contents=entitled_contents) # reload the new config, so we have fresh remotes, etc self.load_config(ostree_repo_config) log.debug("Ostree update report: %s" % report) return report
def test_get_deployed_origin(self): if not hasattr(subprocess, 'check_output'): # We wouldn't need gi_wrapper on rhel6 # a) There is no ostree on rhel6 # b) rhel6 is pygtk not pygobject raise SkipTest( 'This version of python does not have subprocess.check_output, so ostree gi_wrapper wont work.' ) repo_cfg = """ [remote "awesome-ostree"] url=http://awesome.example.com.not.real/ branches=awesome-ostree/awesome7/x86_64/controller/docker; gpg-verify=false """ origin_cfg = """ [origin] refspec=origremote:awesome-ostree/awesomeos8/x86_64/controller/docker """ self.repo_cfg_path = self.write_tempfile(repo_cfg) self.repo_config = model.OstreeRepoConfig( repo_file_path=self.repo_cfg_path.name) self.repo_config.load() self.updater = model.OstreeOriginUpdater(self.repo_config) self.origin_cfg_path = self.write_tempfile(origin_cfg) sub_mock = mock.Mock( side_effect=subprocess.CalledProcessError(1, 'gi_wrapper.py')) with mock.patch( 'subscription_manager.plugin.ostree.model.subprocess.check_output', sub_mock): self.assertRaises(model.OstreeGIWrapperError, self.updater._get_deployed_origin)
def update_repo_config(self): ostree_repo_config = model.OstreeRepoConfig() # populate config, handle exceptions self.load_config(ostree_repo_config) # return the composed set of EntitledContents entitled_contents = find_content(self.ent_source, content_type=OSTREE_CONTENT_TYPE) # update repo configs report = self.update_config(ostree_repo_config, contents=entitled_contents) # reload the new config, so we have fresh remotes, etc self.load_config(ostree_repo_config) # Now that we've updated the ostree repo config, we need to # update the currently deployed osname tree .origin file: self.update_origin_file(ostree_repo_config) log.debug("Ostree update report: %s" % report) return report