Files
Assistant/tests/degraded_continuity/capability_health_test.go
2026-08-16 15:22:49 +03:00

40 lines
1.3 KiB
Go

package degraded_continuity_test
import (
"testing"
"git.cin.su/m/Assistant/contracts/capability"
"git.cin.su/m/Assistant/modules/capability/domain"
"git.cin.su/m/Assistant/platform/ids"
)
func TestCognitiveProviderLossIsExplicitDegradedCapability(t *testing.T) {
observed := int64(1)
status := capability.Health{
CapabilityID: capability.CapabilityID(ids.ID("cognitive-proposal")),
State: capability.HealthDegraded,
Reason: capability.ReasonCognitiveProvidersUnavailable,
Revision: 1,
SemanticVersion: capability.HealthV2,
ObservedAtUnixMillis: &observed,
}
if err := domain.ValidateHealth(status); err != nil {
t.Fatalf("valid degraded health rejected: %v", err)
}
}
func TestAvailableCapabilityCannotClaimDegradedReason(t *testing.T) {
observed := int64(1)
status := capability.Health{
CapabilityID: capability.CapabilityID(ids.ID("cognitive-proposal")),
State: capability.HealthAvailable,
Reason: capability.ReasonCognitiveProvidersUnavailable,
Revision: 1,
SemanticVersion: capability.HealthV2,
ObservedAtUnixMillis: &observed,
}
if err := domain.ValidateHealth(status); err == nil {
t.Fatal("available status with degraded reason was accepted")
}
}