feat: persist and transfer script command payloads
This commit is contained in:
@@ -90,9 +90,17 @@ func TestRunCommandRequestIDIdempotencyAndValidation_BH_CONTROL_02(t *testing.T)
|
||||
if _, err := service.RunCommand(ctx, badID); status.Code(err) != codes.InvalidArgument {
|
||||
t.Fatalf("bad request ID code = %v", status.Code(err))
|
||||
}
|
||||
script := &rvboxv1.RunCommandRequest{TargetClientId: "win-a", RequestId: fixedIssue(0xa3).String(), Spec: &rvboxv1.ExecutionSpec{Source: &rvboxv1.ExecutionSpec_Script{Script: &rvboxv1.ScriptDescriptor{Filename: "x.ps1", SizeBytes: 1, Sha256: sha256.New().Sum(nil)}}}, ScriptContent: []byte("x")}
|
||||
if _, err := service.RunCommand(ctx, script); status.Code(err) != codes.Unimplemented {
|
||||
t.Fatalf("script admission code = %v", status.Code(err))
|
||||
scriptBody := []byte("x")
|
||||
scriptDigest := sha256.Sum256(scriptBody)
|
||||
script := &rvboxv1.RunCommandRequest{TargetClientId: "win-a", RequestId: fixedIssue(0xa3).String(), Spec: &rvboxv1.ExecutionSpec{Source: &rvboxv1.ExecutionSpec_Script{Script: &rvboxv1.ScriptDescriptor{Filename: "x.ps1", SizeBytes: 1, Sha256: scriptDigest[:]}}}, ScriptContent: scriptBody}
|
||||
if queued, err := service.RunCommand(ctx, script); err != nil || queued.GetIssueUuid() != script.GetRequestId() {
|
||||
t.Fatalf("script admission = %#v, %v", queued, err)
|
||||
}
|
||||
badScript := proto.Clone(script).(*rvboxv1.RunCommandRequest)
|
||||
badScript.RequestId = fixedIssue(0xa7).String()
|
||||
badScript.ScriptContent = []byte("y")
|
||||
if _, err := service.RunCommand(ctx, badScript); status.Code(err) != codes.InvalidArgument {
|
||||
t.Fatalf("mismatched script code = %v", status.Code(err))
|
||||
}
|
||||
badTTL := proto.Clone(request).(*rvboxv1.RunCommandRequest)
|
||||
badTTL.RequestId = fixedIssue(0xa4).String()
|
||||
|
||||
Reference in New Issue
Block a user