Release Healer Man 0.1.3
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import unittest
|
||||
|
||||
import release_manager
|
||||
|
||||
|
||||
class VersionTests(unittest.TestCase):
|
||||
def test_bumps_each_semver_component(self):
|
||||
self.assertEqual(release_manager.bump_semver("0.1.2", "patch"), "0.1.3")
|
||||
self.assertEqual(release_manager.bump_semver("0.1.2", "minor"), "0.2.0")
|
||||
self.assertEqual(release_manager.bump_semver("0.1.2", "major"), "1.0.0")
|
||||
|
||||
def test_android_code_is_monotonic(self):
|
||||
self.assertEqual(release_manager.semantic_version_code("0.1.3"), 1003)
|
||||
self.assertEqual(release_manager.suggest_version_code("0.1.3", 5000), 5001)
|
||||
|
||||
def test_rejects_non_release_semver(self):
|
||||
with self.assertRaises(ValueError):
|
||||
release_manager.parse_semver("1.2")
|
||||
|
||||
|
||||
class SafetyTests(unittest.TestCase):
|
||||
def test_detects_outputs_and_secrets(self):
|
||||
paths = [
|
||||
"src/game/example.ts",
|
||||
"dist-android/assets/app.js",
|
||||
"android/app/release.apk",
|
||||
".env.production",
|
||||
"FINE.key.ts",
|
||||
"scripts/content/publish-content.mjs",
|
||||
"public/data/healer-man-loot.sqlite",
|
||||
]
|
||||
self.assertEqual(
|
||||
release_manager.find_dangerous_staged_paths(paths),
|
||||
[
|
||||
"dist-android/assets/app.js",
|
||||
"android/app/release.apk",
|
||||
".env.production",
|
||||
],
|
||||
)
|
||||
|
||||
def test_truenas_commands_pin_expected_commit(self):
|
||||
block = release_manager.generate_truenas_deploy_commands("abc123")
|
||||
self.assertIn("EXPECTED_COMMIT='abc123'", block)
|
||||
self.assertIn("pull --ff-only", block)
|
||||
self.assertIn('test "$ACTUAL_COMMIT" = "$EXPECTED_COMMIT"', block)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user