Fix demo fixture entitlement recovery

Seed the hidden demo fixture entitlement during stable demo updates so release builds can enable governed mock resources after runtime configuration is restored.

Keep the deployment contract and release policy checks aligned with the release-build entitlement gate.
This commit is contained in:
rcourtman 2026-07-04 22:44:43 +01:00
parent cd6b250ae6
commit d029e4dc42
5 changed files with 121 additions and 4 deletions

View file

@ -808,8 +808,13 @@ func TestUpdateDemoWorkflowUsesGovernedNetworkPath(t *testing.T) {
`Removing demo volatile store: %s`,
`Demo host does not have enough free space to back up $CONFIG_DIR before install.`,
`Restore demo runtime configuration`,
`resolve_config_dir`,
`set_env_value DEMO_MODE true`,
`set_env_value PULSE_MOCK_MODE true`,
`ensure_demo_fixture_entitlement`,
`"demo_fixtures"`,
`del(.integrity)`,
`Demo fixture entitlement ensured in governed demo billing state.`,
`/api/license/runtime-capabilities`,
`Mock mode enabled`,
`Demo server mock mode did not enable after entitlement sync`,

View file

@ -736,8 +736,13 @@ class ReleasePromotionPolicyTest(unittest.TestCase):
self.assertIn("Verify target host identity", demo)
self.assertIn("Demo environment points at host $REMOTE_HOSTNAME but expected $DEMO_EXPECTED_HOSTNAME.", demo)
self.assertIn("Restore demo runtime configuration", demo)
self.assertIn("resolve_config_dir", demo)
self.assertIn("set_env_value DEMO_MODE true", demo)
self.assertIn("set_env_value PULSE_MOCK_MODE true", demo)
self.assertIn("ensure_demo_fixture_entitlement", demo)
self.assertIn('"demo_fixtures"', demo)
self.assertIn("del(.integrity)", demo)
self.assertIn("Demo fixture entitlement ensured in governed demo billing state.", demo)
self.assertIn("Demo service restarted with governed demo runtime configuration.", demo)
self.assertIn("/api/license/runtime-capabilities", demo)
self.assertIn("Mock mode enabled", demo)