Release Healer Man 0.1.6
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
import subprocess
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
import release_manager
|
||||
|
||||
@@ -45,5 +48,57 @@ class SafetyTests(unittest.TestCase):
|
||||
self.assertIn('test "$ACTUAL_COMMIT" = "$EXPECTED_COMMIT"', block)
|
||||
|
||||
|
||||
class ReleaseCandidateTests(unittest.TestCase):
|
||||
def test_checks_untracked_files_without_changing_the_real_index(self):
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
project_root = Path(temp_dir)
|
||||
|
||||
def git(*args):
|
||||
subprocess.run(
|
||||
["git", *args],
|
||||
cwd=project_root,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
check=True,
|
||||
)
|
||||
|
||||
git("init", "--quiet")
|
||||
(project_root / "tracked.ts").write_text("export const tracked = true;\n")
|
||||
git("add", "tracked.ts")
|
||||
git(
|
||||
"-c",
|
||||
"user.name=Healer Man Tests",
|
||||
"-c",
|
||||
"user.email=tests@example.invalid",
|
||||
"commit",
|
||||
"--quiet",
|
||||
"-m",
|
||||
"Initial commit",
|
||||
)
|
||||
|
||||
untracked = project_root / "untracked.ts"
|
||||
untracked.write_text("export const untracked = true;\n\n")
|
||||
with self.assertRaisesRegex(
|
||||
release_manager.ReleaseError, "untracked.ts.*new blank line at EOF"
|
||||
):
|
||||
release_manager.validate_release_candidates(project_root)
|
||||
|
||||
untracked.write_text("export const untracked = true;\n")
|
||||
self.assertEqual(
|
||||
release_manager.validate_release_candidates(project_root),
|
||||
["untracked.ts"],
|
||||
)
|
||||
self.assertEqual(
|
||||
subprocess.run(
|
||||
["git", "diff", "--cached", "--name-only"],
|
||||
cwd=project_root,
|
||||
text=True,
|
||||
stdout=subprocess.PIPE,
|
||||
check=True,
|
||||
).stdout,
|
||||
"",
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user