Ejemplo n.º 1
0
    def test_05_commit_recipe_directory_handling_internal_exceptions(self):
        """Test committing a directory of TOML files while handling internal exceptions"""
        # first verify that the newly created file isn't present
        old_commits = recipes.list_commits(self.repo, "master",
                                           "python-testing.toml")
        self.assertEqual(len(old_commits), 0,
                         "Wrong number of commits: %s" % old_commits)

        # then create it and commit the entire directory
        self._create_another_recipe()

        # try to commit while raising RecipeFileError
        with mock.patch('pylorax.api.recipes.commit_recipe_file',
                        side_effect=recipes.RecipeFileError('TESTING')):
            recipes.commit_recipe_directory(self.repo, "master",
                                            self.examples_path)

        # try to commit while raising TomlError
        with mock.patch('pylorax.api.recipes.commit_recipe_file',
                        side_effect=TomlError('TESTING', 0, 0, '__test__')):
            recipes.commit_recipe_directory(self.repo, "master",
                                            self.examples_path)

        # verify again that the newly created file isn't present b/c we raised an exception
        new_commits = recipes.list_commits(self.repo, "master",
                                           "python-testing.toml")
        self.assertEqual(len(new_commits), 0,
                         "Wrong number of commits: %s" % new_commits)
Ejemplo n.º 2
0
    def test_09_revert_commit(self):
        """Test reverting a file on a branch"""
        commits = recipes.list_commits(self.repo, "master", "example-http-server.toml")
        revert_to = commits[0].commit
        oid = recipes.revert_recipe(self.repo, "master", "example-http-server", revert_to)
        self.assertNotEqual(oid, None)

        commits = recipes.list_commits(self.repo, "master", "example-http-server.toml")
        self.assertEqual(len(commits), 2, "Wrong number of commits: %s" % commits)
        self.assertEqual(commits[0].message, "example-http-server.toml reverted to commit %s" % revert_to)
Ejemplo n.º 3
0
    def test_06_read_recipe(self):
        """Test reading a recipe from a commit"""
        commits = recipes.list_commits(self.repo, "master",
                                       "example-http-server.toml")
        self.assertEqual(len(commits), 1,
                         "Wrong number of commits: %s" % commits)

        recipe = recipes.read_recipe_commit(self.repo, "master",
                                            "example-http-server")
        self.assertNotEqual(recipe, None)
        self.assertEqual(recipe["name"], "example-http-server")

        # Read by commit id
        recipe = recipes.read_recipe_commit(self.repo, "master",
                                            "example-http-server",
                                            commits[0].commit)
        self.assertNotEqual(recipe, None)
        self.assertEqual(recipe["name"], "example-http-server")

        # Read the recipe and its commit id
        (commit_id,
         recipe) = recipes.read_recipe_and_id(self.repo, "master",
                                              "example-http-server",
                                              commits[0].commit)
        self.assertEqual(commit_id, commits[0].commit)
Ejemplo n.º 4
0
 def test_03_list_commits_commit_time_val_error(self):
     """Test listing recipe commits which raise CommitTimeValError"""
     with mock.patch('pylorax.api.recipes.GLib.DateTime.to_timeval',
                     return_value=False):
         commits = recipes.list_commits(self.repo, "master",
                                        "test-recipe.toml")
     self.assertEqual(len(commits), 0, "Wrong number of commits.")
Ejemplo n.º 5
0
    def test_05_commit_toml_dir(self):
        """Test committing a directory of TOML files"""
        # first verify that the newly created file isn't present
        old_commits = recipes.list_commits(self.repo, "master", "python-testing.toml")
        self.assertEqual(len(old_commits), 0, "Wrong number of commits: %s" % old_commits)

        # then create it and commit the entire directory
        self._create_another_recipe()
        recipes.commit_recipe_directory(self.repo, "master", self.examples_path)

        # verify that the newly created file is already in the repository
        new_commits = recipes.list_commits(self.repo, "master", "python-testing.toml")
        self.assertEqual(len(new_commits), 1, "Wrong number of commits: %s" % new_commits)
        # again make sure new_commits != old_commits
        self.assertGreater(len(new_commits), len(old_commits),
                           "New commits shoud differ from old commits")
Ejemplo n.º 6
0
    def test_04_commit_recipe_file(self):
        """Test committing a TOML file"""
        recipe_path = joinpaths(self.results_path, "full-recipe.toml")
        oid = recipes.commit_recipe_file(self.repo, "master", recipe_path)
        self.assertNotEqual(oid, None)

        commits = recipes.list_commits(self.repo, "master", "http-server.toml")
        self.assertEqual(len(commits), 1, "Wrong number of commits: %s" % commits)
Ejemplo n.º 7
0
 def test_03_list_recipe(self):
     """Test listing recipe commits"""
     commits = recipes.list_commits(self.repo, "master", "test-recipe.toml")
     self.assertEqual(len(commits), 1, "Wrong number of commits.")
     self.assertEqual(commits[0].message, "Recipe test-recipe, version 0.0.1 saved.")
     self.assertNotEqual(commits[0].timestamp, None, "Timestamp is None")
     self.assertEqual(len(commits[0].commit), 40, "Commit hash isn't 40 characters")
     self.assertEqual(commits[0].revision, None, "revision is not None")
Ejemplo n.º 8
0
    def test_07_tag_commit(self):
        """Test tagging the most recent commit of a recipe"""
        result = recipes.tag_file_commit(self.repo, "master", "not-a-file")
        self.assertEqual(result, None)

        result = recipes.tag_recipe_commit(self.repo, "master", "example-http-server")
        self.assertNotEqual(result, None)

        commits = recipes.list_commits(self.repo, "master", "example-http-server.toml")
        self.assertEqual(len(commits), 1, "Wrong number of commits: %s" % commits)
        self.assertEqual(commits[0].revision, 1)
Ejemplo n.º 9
0
    def test_10_tag_new_commit(self):
        """Test tagging a newer commit of a recipe"""
        recipe = recipes.read_recipe_commit(self.repo, "master", "example-http-server")
        recipe["description"] = "A modified description"
        oid = recipes.commit_recipe(self.repo, "master", recipe)
        self.assertNotEqual(oid, None)

        # Tag the new commit
        result = recipes.tag_recipe_commit(self.repo, "master", "example-http-server")
        self.assertNotEqual(result, None)

        commits = recipes.list_commits(self.repo, "master", "example-http-server.toml")
        self.assertEqual(len(commits), 3, "Wrong number of commits: %s" % commits)
        self.assertEqual(commits[0].revision, 2)