Skip to content

Commit

Permalink
tests: fix e2e tests
Browse files Browse the repository at this point in the history
  • Loading branch information
samlaf committed Oct 15, 2024
1 parent 7680535 commit 22e6d37
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 16 deletions.
22 changes: 10 additions & 12 deletions e2e/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,21 +199,19 @@ func TestProxyClientServerIntegration(t *testing.T) {
require.NoError(t, err)
})

t.Run("get data edge cases", func(t *testing.T) {
testCert := []byte("")
t.Run("get data edge cases - unsupported version byte 01", func(t *testing.T) {
testCert := []byte{1}
_, err := daClient.GetData(ts.Ctx, testCert)
require.Error(t, err)
assert.True(t, strings.Contains(err.Error(),
"commitment is too short") && !isNilPtrDerefPanic(err.Error()))

testCert = []byte{1}
_, err = daClient.GetData(ts.Ctx, testCert)
require.Error(t, err)
assert.True(t, strings.Contains(err.Error(),
"commitment is too short") && !isNilPtrDerefPanic(err.Error()))
assert.True(t,
strings.Contains(err.Error(), "unsupported version byte 01") && !isNilPtrDerefPanic(err.Error()))
})

testCert = []byte(e2e.RandString(10000))
_, err = daClient.GetData(ts.Ctx, testCert)
t.Run("get data edge cases - huge cert", func(t *testing.T) {
// TODO: we need to add the 0 version byte at the beginning.
// should this not be done automatically by the simple_commitment client?
testCert := append([]byte{0}, []byte(e2e.RandString(10000))...)
_, err := daClient.GetData(ts.Ctx, testCert)
require.Error(t, err)
assert.True(t, strings.Contains(err.Error(),
"failed to decode DA cert to RLP format: rlp: expected input list for verify.Certificate") &&
Expand Down
4 changes: 4 additions & 0 deletions server/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@ func (me MetaError) Error() string {
me.Meta.Mode,
me.Meta.CertVersion)
}

func (me MetaError) Unwrap() error {
return me.Err
}
4 changes: 2 additions & 2 deletions server/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func (svr *Server) handleHealth(w http.ResponseWriter, _ *http.Request) error {
// =================================================================================================

func (svr *Server) handleGetSimpleCommitment(w http.ResponseWriter, r *http.Request) error {
versionByte, err := parseVersionByte(r)
versionByte, err := parseVersionByte(w, r)
if err != nil {
return fmt.Errorf("error parsing version byte: %w", err)
}
Expand Down Expand Up @@ -73,7 +73,7 @@ func (svr *Server) handleGetOPKeccakCommitment(w http.ResponseWriter, r *http.Re
}

func (svr *Server) handleGetOPGenericCommitment(w http.ResponseWriter, r *http.Request) error {
versionByte, err := parseVersionByte(r)
versionByte, err := parseVersionByte(w, r)
if err != nil {
return fmt.Errorf("error parsing version byte: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion server/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func withMetrics(
return err
}
// we assume that every route will set the status header
versionByte, err := parseVersionByte(r)
versionByte, err := parseVersionByte(w, r)
if err != nil {
return fmt.Errorf("metrics middleware: error parsing version byte: %w", err)
}
Expand Down
3 changes: 2 additions & 1 deletion server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ func (svr *Server) GetStoreStats(bt store.BackendType) (*store.Stats, error) {
return nil, fmt.Errorf("store not found")
}

func parseVersionByte(r *http.Request) (byte, error) {
func parseVersionByte(w http.ResponseWriter, r *http.Request) (byte, error) {
vars := mux.Vars(r)
// decode version byte
versionByteHex, ok := vars["version_byte_hex"]
Expand All @@ -157,6 +157,7 @@ func parseVersionByte(r *http.Request) (byte, error) {
case byte(commitments.CertV0):
return versionByte[0], nil
default:
http.Error(w, fmt.Sprintf("unsupported version byte %x", versionByte), http.StatusBadRequest)
return 0, fmt.Errorf("unsupported version byte %x", versionByte)
}
}

0 comments on commit 22e6d37

Please sign in to comment.