40 lines
1.3 KiB
Go
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")
|
|
}
|
|
}
|