Splits the pure license contract types (LicenseInfo, LicenseValidator, LicenseState, LicenseStateMachine, LicenseLimits, DefaultTierLimits) into a new cameleer-license-api module under package com.cameleer.license. Why: cameleer-license-minter previously depended on cameleer-server-core for these types, dragging cameleer-server-core + cameleer-common onto the classpath of every minter consumer (notably cameleer-saas). The SaaS management plane has no business carrying server-runtime types — it only needs the license contract to mint and verify tokens. After: cameleer-license-minter -> cameleer-license-api (no server internals) cameleer-server-core -> cameleer-license-api cameleer-saas -> cameleer-license-minter -> cameleer-license-api Verified: mvn -pl cameleer-license-minter dependency:tree shows the minter no longer pulls cameleer-server-core or cameleer-common. Full reactor verify (-DskipITs) green: 371 tests pass. LicenseGate stays in server-core (server-runtime state holder, not contract). Closes cameleer/cameleer-server#156 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 lines
1.2 KiB
Java
31 lines
1.2 KiB
Java
package com.cameleer.license;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
class DefaultTierLimitsTest {
|
|
|
|
@Test
|
|
void allDocumentedKeysHaveDefaults() {
|
|
for (String key : new String[]{
|
|
"max_environments", "max_apps", "max_agents", "max_users",
|
|
"max_outbound_connections", "max_alert_rules",
|
|
"max_total_cpu_millis", "max_total_memory_mb", "max_total_replicas",
|
|
"max_execution_retention_days", "max_log_retention_days",
|
|
"max_metric_retention_days", "max_jar_retention_count"
|
|
}) {
|
|
assertThat(DefaultTierLimits.DEFAULTS).containsKey(key);
|
|
}
|
|
}
|
|
|
|
@Test
|
|
void specificValues() {
|
|
assertThat(DefaultTierLimits.DEFAULTS.get("max_environments")).isEqualTo(1);
|
|
assertThat(DefaultTierLimits.DEFAULTS.get("max_apps")).isEqualTo(3);
|
|
assertThat(DefaultTierLimits.DEFAULTS.get("max_agents")).isEqualTo(5);
|
|
assertThat(DefaultTierLimits.DEFAULTS.get("max_total_cpu_millis")).isEqualTo(2000);
|
|
assertThat(DefaultTierLimits.DEFAULTS.get("max_log_retention_days")).isEqualTo(1);
|
|
}
|
|
}
|