34 lines
847 B
Go
34 lines
847 B
Go
package contract
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestCurrentCallExamplesRetainOriginalEventIdentity(t *testing.T) {
|
|
var originalID string
|
|
for _, name := range []string{"mq-execute", "mq-execute-ack", "mq-result-no-recording", "mq-result-uploaded"} {
|
|
raw, err := os.ReadFile(filepath.Join("..", "..", "contracts", "schema", "examples", name+".json"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := ValidateCurrent("mq", raw); err != nil {
|
|
t.Fatalf("%s: %v", name, err)
|
|
}
|
|
var event struct {
|
|
EventID string `json:"event_id"`
|
|
}
|
|
if err := json.Unmarshal(raw, &event); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if originalID == "" {
|
|
originalID = event.EventID
|
|
}
|
|
if event.EventID != originalID {
|
|
t.Fatalf("%s changed source identity: want=%q got=%q", name, originalID, event.EventID)
|
|
}
|
|
}
|
|
}
|