From 50f5e09d7bf6b4b2f6ba8c51521b1a66416dbea9 Mon Sep 17 00:00:00 2001 From: james-prysm <90280386+james-prysm@users.noreply.github.com> Date: Tue, 11 Jul 2023 16:49:04 -0500 Subject: [PATCH] adding ssz response for get blobs beacon api endpoint (#12611) --- network/writer_test.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 network/writer_test.go diff --git a/network/writer_test.go b/network/writer_test.go new file mode 100644 index 000000000000..4a733ac5dd2d --- /dev/null +++ b/network/writer_test.go @@ -0,0 +1,35 @@ +package network + +import ( + "fmt" + "net/http/httptest" + "strings" + "testing" + + "github.com/ethereum/go-ethereum/common/hexutil" + fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams" + eth "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1" + "github.com/prysmaticlabs/prysm/v4/testing/require" +) + +func TestWriteSsz(t *testing.T) { + name := "test.ssz" + sidecar := ð.BlobSidecar{ + BlockRoot: make([]byte, fieldparams.RootLength), + Index: 0, + Slot: 0, + BlockParentRoot: make([]byte, fieldparams.RootLength), + ProposerIndex: 123, + Blob: make([]byte, fieldparams.BlobLength), + KzgCommitment: make([]byte, fieldparams.BLSPubkeyLength), + KzgProof: make([]byte, fieldparams.BLSPubkeyLength), + } + respSsz, err := sidecar.MarshalSSZ() + require.NoError(t, err) + writer := httptest.NewRecorder() + WriteSsz(writer, respSsz, name) + require.Equal(t, writer.Header().Get("Content-Type"), "application/octet-stream") + require.Equal(t, true, strings.Contains(writer.Header().Get("Content-Disposition"), name)) + require.Equal(t, writer.Header().Get("Content-Length"), fmt.Sprintf("%v", len(respSsz))) + require.Equal(t, hexutil.Encode(writer.Body.Bytes()), hexutil.Encode(respSsz)) +}