示例#1
0
    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)))
示例#2
0
    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)))
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    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()
示例#8
0
    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()
示例#9
0
    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)
示例#10
0
    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)
示例#11
0
 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)
示例#12
0
文件: testcases.py 项目: cernops/jens
 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)