up
This commit is contained in:
@@ -40,8 +40,42 @@ class OfflineKitBuilderTests(unittest.TestCase):
|
||||
json.dump(payload, handle, indent=2)
|
||||
handle.write("\n")
|
||||
|
||||
def _create_sample_release(self) -> None:
|
||||
self.release_dir.mkdir(parents=True, exist_ok=True)
|
||||
def _create_sample_release(self) -> None:
|
||||
self.release_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
cli_archive = self.release_dir / "cli" / "stellaops-cli-linux-x64.tar.gz"
|
||||
cli_archive.parent.mkdir(parents=True, exist_ok=True)
|
||||
cli_archive.write_bytes(b"cli-bytes")
|
||||
compute_sha256(cli_archive)
|
||||
|
||||
container_bundle = self.release_dir / "containers" / "stellaops-containers.tar.gz"
|
||||
container_bundle.parent.mkdir(parents=True, exist_ok=True)
|
||||
container_bundle.write_bytes(b"container-bundle")
|
||||
compute_sha256(container_bundle)
|
||||
|
||||
orchestrator_service = self.release_dir / "orchestrator" / "service" / "orchestrator-service.tar.gz"
|
||||
orchestrator_service.parent.mkdir(parents=True, exist_ok=True)
|
||||
orchestrator_service.write_bytes(b"orch-service")
|
||||
compute_sha256(orchestrator_service)
|
||||
|
||||
orchestrator_dash = self.release_dir / "orchestrator" / "dashboards" / "dash.json"
|
||||
orchestrator_dash.parent.mkdir(parents=True, exist_ok=True)
|
||||
orchestrator_dash.write_text("{}\n", encoding="utf-8")
|
||||
|
||||
export_bundle = self.release_dir / "export-center" / "export-offline-bundle.tar.gz"
|
||||
export_bundle.parent.mkdir(parents=True, exist_ok=True)
|
||||
export_bundle.write_bytes(b"export")
|
||||
compute_sha256(export_bundle)
|
||||
|
||||
notifier_pack = self.release_dir / "notifier" / "notifier-offline-pack.tar.gz"
|
||||
notifier_pack.parent.mkdir(parents=True, exist_ok=True)
|
||||
notifier_pack.write_bytes(b"notifier")
|
||||
compute_sha256(notifier_pack)
|
||||
|
||||
secrets_bundle = self.release_dir / "surface-secrets" / "secrets-bundle.tar.gz"
|
||||
secrets_bundle.parent.mkdir(parents=True, exist_ok=True)
|
||||
secrets_bundle.write_bytes(b"secrets")
|
||||
compute_sha256(secrets_bundle)
|
||||
|
||||
sbom_path = self.release_dir / "artifacts/sboms/sample.cyclonedx.json"
|
||||
sbom_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
@@ -114,10 +148,10 @@ class OfflineKitBuilderTests(unittest.TestCase):
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
||||
manifest = OrderedDict(
|
||||
(
|
||||
(
|
||||
"release",
|
||||
manifest = OrderedDict(
|
||||
(
|
||||
(
|
||||
"release",
|
||||
OrderedDict(
|
||||
(
|
||||
("version", "1.0.0"),
|
||||
@@ -216,9 +250,9 @@ class OfflineKitBuilderTests(unittest.TestCase):
|
||||
),
|
||||
)
|
||||
)
|
||||
write_manifest(manifest, self.release_dir)
|
||||
|
||||
def test_build_offline_kit(self) -> None:
|
||||
write_manifest(manifest, self.release_dir)
|
||||
|
||||
def test_build_offline_kit(self) -> None:
|
||||
args = argparse.Namespace(
|
||||
version="2025.10.0",
|
||||
channel="edge",
|
||||
@@ -242,10 +276,34 @@ class OfflineKitBuilderTests(unittest.TestCase):
|
||||
self.assertTrue((bootstrap_notify / "notify.yaml").exists())
|
||||
self.assertTrue((bootstrap_notify / "notify-web.secret.example").exists())
|
||||
|
||||
taskrunner_bootstrap = self.staging_dir / "bootstrap" / "task-runner"
|
||||
self.assertTrue((taskrunner_bootstrap / "task-runner.yaml.sample").exists())
|
||||
|
||||
docs_taskpacks = self.staging_dir / "docs" / "task-packs"
|
||||
self.assertTrue(docs_taskpacks.exists())
|
||||
self.assertTrue((self.staging_dir / "docs" / "mirror-bundles.md").exists())
|
||||
|
||||
containers_dir = self.staging_dir / "containers"
|
||||
self.assertTrue((containers_dir / "stellaops-containers.tar.gz").exists())
|
||||
|
||||
orchestrator_dir = self.staging_dir / "orchestrator"
|
||||
self.assertTrue((orchestrator_dir / "service" / "orchestrator-service.tar.gz").exists())
|
||||
self.assertTrue((orchestrator_dir / "dashboards" / "dash.json").exists())
|
||||
|
||||
export_dir = self.staging_dir / "export-center"
|
||||
self.assertTrue((export_dir / "export-offline-bundle.tar.gz").exists())
|
||||
|
||||
notifier_dir = self.staging_dir / "notifier"
|
||||
self.assertTrue((notifier_dir / "notifier-offline-pack.tar.gz").exists())
|
||||
|
||||
secrets_dir = self.staging_dir / "surface-secrets"
|
||||
self.assertTrue((secrets_dir / "secrets-bundle.tar.gz").exists())
|
||||
|
||||
with offline_manifest.open("r", encoding="utf-8") as handle:
|
||||
manifest_data = json.load(handle)
|
||||
artifacts = manifest_data["artifacts"]
|
||||
self.assertTrue(any(item["name"].startswith("sboms/") for item in artifacts))
|
||||
self.assertTrue(any(item["name"].startswith("cli/") for item in artifacts))
|
||||
|
||||
metadata_path = Path(result["metadataPath"])
|
||||
data = json.loads(metadata_path.read_text(encoding="utf-8"))
|
||||
@@ -258,6 +316,11 @@ class OfflineKitBuilderTests(unittest.TestCase):
|
||||
self.assertTrue(any(name.startswith("sboms/sample-") for name in members))
|
||||
self.assertIn("bootstrap/notify/notify.yaml", members)
|
||||
self.assertIn("bootstrap/notify/notify-web.secret.example", members)
|
||||
self.assertIn("containers/stellaops-containers.tar.gz", members)
|
||||
self.assertIn("orchestrator/service/orchestrator-service.tar.gz", members)
|
||||
self.assertIn("export-center/export-offline-bundle.tar.gz", members)
|
||||
self.assertIn("notifier/notifier-offline-pack.tar.gz", members)
|
||||
self.assertIn("surface-secrets/secrets-bundle.tar.gz", members)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user