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)
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)
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)
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.")
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")
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)
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")
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)
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)