feat: send canonical client command events
This commit is contained in:
@@ -101,6 +101,23 @@ func TestPersistDispatchUsesImmutableHash_HP_DISPATCH_04(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSendCommandEventCanonicalDigest_HP_EVENT_02(t *testing.T) {
|
||||
transport := &fakeTransport{}
|
||||
event := &rvboxv1.CommandEvent{IssueUuid: "019c46f1-1d02-7000-8000-000000000065", EventSeq: 1, ObservedAt: timestamppb.Now(), Payload: &rvboxv1.CommandEvent_Lifecycle{Lifecycle: &rvboxv1.LifecycleChange{Lifecycle: rvboxv1.CommandLifecycle_COMMAND_RUNNING, CommandRevision: 1}}}
|
||||
if err := SendCommandEvent(context.Background(), transport, Session{ID: "issued-session", Generation: 7}, event, agentproto.DefaultLimits()); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
var envelope rvboxv1.AgentEnvelope
|
||||
if err := proto.Unmarshal(transport.written, &envelope); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
sent := envelope.GetCommandEvent()
|
||||
digest, err := agentproto.CommandEventDigest(sent)
|
||||
if err != nil || sent == nil || string(digest[:]) != string(sent.GetImmutableEventSha256()) {
|
||||
t.Fatalf("sent event = %#v, %v", sent, err)
|
||||
}
|
||||
}
|
||||
|
||||
type fakeTransport struct {
|
||||
written []byte
|
||||
read []byte
|
||||
|
||||
Reference in New Issue
Block a user