def test_basic_updates(self): self._jens_refresh_metadata() fname = 'basic_updates_1' new_commit = add_commit_to_branch(self.environments, 'master', fname=fname) self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.settings.ENV_METADATADIR), new_commit) # The reset is --hard self.assertTrue(os.path.isfile("%s/%s" % (self.settings.ENV_METADATADIR, fname))) new_commit = add_commit_to_branch(self.environments, 'master', fname=fname, remove=True) self._jens_refresh_metadata() self.assertFalse(os.path.isfile("%s/%s" % (self.settings.ENV_METADATADIR, fname))) fname = 'basic_updates_2' new_commit = add_commit_to_branch(self.repositories, 'master', fname=fname) self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.settings.REPO_METADATADIR), new_commit) self.assertTrue(os.path.isfile("%s/%s" % (self.settings.REPO_METADATADIR, fname))) new_commit = add_commit_to_branch(self.repositories, 'master', fname=fname, remove=True) self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.settings.REPO_METADATADIR), new_commit) self.assertFalse(os.path.isfile("%s/%s" % (self.settings.REPO_METADATADIR, fname)))
def test_basic_updates(self): self._jens_refresh_metadata() fname = 'basic_updates_1' new_commit = add_commit_to_branch(self.environments, 'master', fname=fname) self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings.ENV_METADATADIR), new_commit) # The reset is --hard self.assertTrue(os.path.isfile("%s/%s" % (self.settings.ENV_METADATADIR, fname))) new_commit = add_commit_to_branch(self.environments, 'master', fname=fname, remove=True) self._jens_refresh_metadata() self.assertFalse(os.path.isfile("%s/%s" % (self.settings.ENV_METADATADIR, fname))) fname = 'basic_updates_2' new_commit = add_commit_to_branch(self.repositories, 'master', fname=fname) self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings.REPO_METADATADIR), new_commit) self.assertTrue(os.path.isfile("%s/%s" % (self.settings.REPO_METADATADIR, fname))) new_commit = add_commit_to_branch(self.repositories, 'master', fname=fname, remove=True) self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings.REPO_METADATADIR), new_commit) self.assertFalse(os.path.isfile("%s/%s" % (self.settings.REPO_METADATADIR, fname)))
def test_metadata_updates_if_ondemand_mode_is_enabled(self): self.settings.MODE = "ONDEMAND" self._jens_refresh_metadata() new_commit = add_commit_to_branch(self.environments, 'master') self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.settings.ENV_METADATADIR), new_commit) new_commit = add_commit_to_branch(self.repositories, 'master') self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.settings.REPO_METADATADIR), new_commit)
def test_metadata_updates_if_ondemand_mode_is_enabled(self): self.settings.MODE = "ONDEMAND" self._jens_refresh_metadata() new_commit = add_commit_to_branch(self.environments, 'master') self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings.ENV_METADATADIR), new_commit) new_commit = add_commit_to_branch(self.repositories, 'master') self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings.REPO_METADATADIR), new_commit)
def test_basic_updates(self): self._jens_refresh_metadata() new_commit = add_commit_to_branch(self.settings, \ self.environments, 'master') self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings,\ self.settings.ENV_METADATADIR), new_commit) new_commit = add_commit_to_branch(self.settings, \ self.repositories, 'master') self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings,\ self.settings.REPO_METADATADIR), new_commit)
def test_fails_if_remote_repositories_unavailable(self): initial = get_repository_head(self.repositories) self.assertEqual(get_repository_head(self.settings.REPO_METADATADIR), initial) self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.settings.REPO_METADATADIR), initial) # -- "not available" -- temporary_path = "%s-temp" % self.repositories_bare shutil.move(self.repositories_bare, temporary_path) self.assertRaises(JensError, self._jens_refresh_metadata) # -- "available again" -- shutil.move(temporary_path, self.repositories_bare) self._jens_refresh_metadata()
def test_fails_if_remote_repositories_unavailable(self): initial = get_repository_head(self.repositories) self.assertEquals(get_repository_head(self.settings.REPO_METADATADIR), initial) self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.settings.REPO_METADATADIR), initial) # -- "not available" -- temporary_path = "%s-temp" % self.repositories_bare shutil.move(self.repositories_bare, temporary_path) self.assertRaises(JensError, self._jens_refresh_metadata) # -- "available again" -- shutil.move(temporary_path, self.repositories_bare) self._jens_refresh_metadata()
def test_environments_is_history_is_mangled(self): self._jens_refresh_metadata() bombs = [] for x in range(0,4): bombs.append(add_commit_to_branch(self.environments, 'master')) self._jens_refresh_metadata() self.assertEqual(get_repository_head(self.environments), bombs[-1]) reset_branch_to(self.environments, "master", bombs[0]) new_commit = add_commit_to_branch(self.environments, \ 'master', force=True) self._jens_refresh_metadata() # Should be the same if it did a reset self.assertEqual(get_repository_head(self.settings.ENV_METADATADIR), new_commit)
def test_environments_is_history_is_mangled(self): self._jens_refresh_metadata() bombs = [] for x in range(0,4): bombs.append(add_commit_to_branch(self.environments, 'master')) self._jens_refresh_metadata() self.assertEquals(get_repository_head(self.environments), bombs[-1]) reset_branch_to(self.environments, "master", bombs[0]) new_commit = add_commit_to_branch(self.environments, \ 'master', force=True) self._jens_refresh_metadata() # Should be the same if it did a reset self.assertEquals(get_repository_head(self.settings.ENV_METADATADIR), new_commit)
def assertClone(self, identifier, pointsto=None): partition, element, dirname = identifier.split('/') path = "%s/%s/%s/%s" % (self.settings.CLONEDIR, \ partition, element, dirname) if not os.path.isdir(path): raise AssertionError("Clone '%s' not found" % path) if not os.path.isdir("%s/code" % path): raise AssertionError("Clone '%s' does not have code dir" % path) if not os.path.isdir("%s/data" % path): raise AssertionError("Clone '%s' does not have data dir" % path) inventory = get_inventory() self.assertTrue(partition in inventory) self.assertTrue(element in inventory[partition]) refname = dirname_to_refname(dirname) self.assertTrue(refname in inventory[partition][element]) if pointsto is not None: self.assertEquals(get_repository_head(path), pointsto)
def assertClone(self, identifier, pointsto=None): partition, element, dirname = identifier.split('/') path = "%s/%s/%s/%s" % (self.settings.CLONEDIR, \ partition, element, dirname) if not os.path.isdir(path): raise AssertionError("Clone '%s' not found" % path) if not os.path.isdir("%s/code" % path): raise AssertionError("Clone '%s' does not have code dir" % path) if not os.path.isdir("%s/data" % path): raise AssertionError("Clone '%s' does not have data dir" % path) inventory = get_inventory() self.assertTrue(partition in inventory) self.assertTrue(element in inventory[partition]) refname = dirname_to_refname(dirname) self.assertTrue(refname in inventory[partition][element]) if pointsto is not None: self.assertEqual(get_repository_head(path), pointsto)