23 lines
1.1 KiB
Go
23 lines
1.1 KiB
Go
package multimodal_test
|
|
|
|
import (
|
|
"git.cin.su/m/Assistant/adapters/multimodal"
|
|
"git.cin.su/m/Assistant/contracts/capability"
|
|
"git.cin.su/m/Assistant/contracts/interaction"
|
|
"testing"
|
|
)
|
|
|
|
func TestIngressNormalizesMediaArtifactAndObservationProvenance(t *testing.T) {
|
|
e, a := multimodal.NormalizeIngress("ingress-1", interaction.IngressImage, "camera:street", "device:cam", "world:street", "principal", "image/png", []byte("image"), capability.MultimodalResponse{Provider: "local", Model: "vision", ModelVersion: "1", EvidenceRef: "observation-1", ConfidenceMillis: 800}, 1)
|
|
if !e.Valid() || !a.Valid() || e.ArtifactRef == "" || e.ObservationRef != "observation-1" || e.DeviceRef == "" || e.LocationRef == "" {
|
|
t.Fatalf("envelope=%+v artifact=%+v", e, a)
|
|
}
|
|
}
|
|
|
|
func TestUnavailableIngressDegradesWithoutFabricatingObservation(t *testing.T) {
|
|
e, a := multimodal.NormalizeIngress("ingress-1", interaction.IngressAudio, "mic", "device:mic", "", "principal", "audio/wav", nil, capability.MultimodalResponse{}, 1)
|
|
if !e.Degraded || e.ObservationRef != "" || a.Valid() {
|
|
t.Fatalf("envelope=%+v artifact=%+v", e, a)
|
|
}
|
|
}
|