Skip to content

Commit 7dec6cb

Browse files
author
anupsv
committed
fixing tests
1 parent 9975ee9 commit 7dec6cb

File tree

2 files changed

+31
-129
lines changed

2 files changed

+31
-129
lines changed

e2e/server_fuzz_test.go

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,61 @@
11
package e2e_test
22

33
import (
4+
"fmt"
45
"github.com/Layr-Labs/eigenda-proxy/client"
56
"github.com/Layr-Labs/eigenda-proxy/e2e"
67
op_plasma "github.com/ethereum-optimism/optimism/op-plasma"
78
"github.com/stretchr/testify/assert"
89
"github.com/stretchr/testify/require"
910
"testing"
11+
"unicode"
1012
)
1113

14+
func addUnicodeTestCases(f *testing.F) {
15+
for r := rune(0); r <= unicode.MaxRune; r++ {
16+
if unicode.IsPrint(r) {
17+
f.Add(fmt.Sprintf("seed: %s", string(r)), []byte(string(r))) // Add each printable Unicode character as a seed
18+
}
19+
}
20+
}
21+
1222
func FuzzProxyClientServerIntegration(f *testing.F) {
1323
if !runFuzzTests {
1424
f.Skip("Skipping test as FUZZ env var not set")
1525
}
1626

1727
testCfg := e2e.TestConfig(useMemory())
1828
testCfg.UseKeccak256ModeS3 = true
19-
tsConfig := e2e.TestSuiteConfigF(f, testCfg)
20-
ts, kill := e2e.CreateTestSuiteF(f, tsConfig)
29+
tsConfig := e2e.TestSuiteConfig(f, testCfg)
30+
ts, kill := e2e.CreateTestSuite(f, tsConfig)
2131
defer kill()
2232

33+
addUnicodeTestCases(f)
34+
2335
cfg := &client.Config{
2436
URL: ts.Address(),
2537
}
2638
daClient := client.New(cfg)
2739

2840
// Add each printable Unicode character as a seed including ascii
29-
//for r := rune(0); r <= unicode.MaxRune; r++ {
30-
// if unicode.IsPrint(r) {
31-
// f.Add(fmt.Sprintf("seed: %s", string(r)), []byte(string(r))) // Add each printable Unicode character as a seed
32-
// }
33-
//}
34-
3541
f.Fuzz(func(t *testing.T, seed string, data []byte) {
3642
_, err := daClient.SetData(ts.Ctx, data)
3743
require.NoError(t, err)
3844
})
3945
}
4046

4147
func FuzzOpClientKeccak256MalformedInputs(f *testing.F) {
48+
4249
if !runFuzzTests {
4350
f.Skip("Skipping test as FUZZ env var not set")
4451
}
4552

4653
testCfg := e2e.TestConfig(useMemory())
4754
testCfg.UseKeccak256ModeS3 = true
48-
tsConfig := e2e.TestSuiteConfigF(f, testCfg)
49-
ts, kill := e2e.CreateTestSuiteF(f, tsConfig)
55+
tsConfig := e2e.TestSuiteConfig(f, testCfg)
56+
ts, kill := e2e.CreateTestSuite(f, tsConfig)
5057
defer kill()
58+
addUnicodeTestCases(f)
5159

5260
daClientPcFalse := op_plasma.NewDAClient(ts.Address(), false, false)
5361

e2e/setup.go

Lines changed: 13 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,18 @@ package e2e
33
import (
44
"context"
55
"fmt"
6-
"os"
7-
"testing"
8-
"time"
9-
"unicode"
10-
116
"github.com/Layr-Labs/eigenda-proxy/metrics"
127
"github.com/Layr-Labs/eigenda-proxy/server"
138
"github.com/Layr-Labs/eigenda-proxy/store"
149
"github.com/Layr-Labs/eigenda/api/clients"
10+
oplog "github.com/ethereum-optimism/optimism/op-service/log"
11+
opmetrics "github.com/ethereum-optimism/optimism/op-service/metrics"
1512
"github.com/ethereum/go-ethereum/log"
1613
"github.com/minio/minio-go/v7"
1714
"github.com/minio/minio-go/v7/pkg/credentials"
1815
"golang.org/x/exp/rand"
19-
20-
oplog "github.com/ethereum-optimism/optimism/op-service/log"
21-
opmetrics "github.com/ethereum-optimism/optimism/op-service/metrics"
16+
"os"
17+
"time"
2218

2319
"github.com/stretchr/testify/require"
2420
)
@@ -86,78 +82,16 @@ func createS3Config(eigendaCfg server.Config) server.CLIConfig {
8682
}
8783
}
8884

89-
func TestSuiteConfig(t *testing.T, testCfg *Cfg) server.CLIConfig {
90-
// load signer key from environment
91-
pk := os.Getenv(privateKey)
92-
if pk == "" && !testCfg.UseMemory {
93-
t.Fatal("SIGNER_PRIVATE_KEY environment variable not set")
94-
}
95-
96-
// load node url from environment
97-
ethRPC := os.Getenv(ethRPC)
98-
if ethRPC == "" && !testCfg.UseMemory {
99-
t.Fatal("ETHEREUM_RPC environment variable is not set")
100-
}
101-
102-
var pollInterval time.Duration
103-
if testCfg.UseMemory {
104-
pollInterval = time.Second * 1
105-
} else {
106-
pollInterval = time.Minute * 1
107-
}
108-
109-
eigendaCfg := server.Config{
110-
ClientConfig: clients.EigenDAClientConfig{
111-
RPC: holeskyDA,
112-
StatusQueryTimeout: time.Minute * 45,
113-
StatusQueryRetryInterval: pollInterval,
114-
DisableTLS: false,
115-
SignerPrivateKeyHex: pk,
116-
},
117-
EthRPC: ethRPC,
118-
SvcManagerAddr: "0xD4A7E1Bd8015057293f0D0A557088c286942e84b", // incompatible with non holeskly networks
119-
CacheDir: "../resources/SRSTables",
120-
G1Path: "../resources/g1.point",
121-
MaxBlobLength: "16mib",
122-
G2PowerOfTauPath: "../resources/g2.point.powerOf2",
123-
PutBlobEncodingVersion: 0x00,
124-
MemstoreEnabled: testCfg.UseMemory,
125-
MemstoreBlobExpiration: testCfg.Expiration,
126-
EthConfirmationDepth: 0,
127-
}
128-
129-
if testCfg.UseMemory {
130-
eigendaCfg.ClientConfig.SignerPrivateKeyHex = "0000000000000000000100000000000000000000000000000000000000000000"
131-
}
132-
133-
var cfg server.CLIConfig
134-
switch {
135-
case testCfg.UseKeccak256ModeS3:
136-
cfg = createS3Config(eigendaCfg)
137-
138-
case testCfg.UseS3Caching:
139-
eigendaCfg.CacheTargets = []string{"S3"}
140-
cfg = createS3Config(eigendaCfg)
141-
142-
case testCfg.UseS3Fallback:
143-
eigendaCfg.FallbackTargets = []string{"S3"}
144-
cfg = createS3Config(eigendaCfg)
145-
146-
case testCfg.UseRedisCaching:
147-
eigendaCfg.CacheTargets = []string{"redis"}
148-
cfg = createRedisConfig(eigendaCfg)
149-
150-
default:
151-
cfg = server.CLIConfig{
152-
EigenDAConfig: eigendaCfg,
153-
MetricsCfg: opmetrics.CLIConfig{},
154-
}
155-
}
156-
157-
return cfg
85+
type TB interface {
86+
Helper()
87+
Log(args ...interface{})
88+
Error(args ...interface{})
89+
Fatal(args ...interface{})
90+
Errorf(format string, args ...interface{})
91+
FailNow()
15892
}
15993

160-
func TestSuiteConfigF(t *testing.F, testCfg *Cfg) server.CLIConfig {
94+
func TestSuiteConfig(t TB, testCfg *Cfg) server.CLIConfig {
16195
// load signer key from environment
16296
pk := os.Getenv(privateKey)
16397
if pk == "" && !testCfg.UseMemory {
@@ -234,47 +168,7 @@ type TestSuite struct {
234168
Server *server.Server
235169
}
236170

237-
func CreateTestSuite(t *testing.T, testSuiteCfg server.CLIConfig) (TestSuite, func()) {
238-
log := oplog.NewLogger(os.Stdout, oplog.CLIConfig{
239-
Level: log.LevelDebug,
240-
Format: oplog.FormatLogFmt,
241-
Color: true,
242-
}).New("role", svcName)
243-
244-
ctx := context.Background()
245-
store, err := server.LoadStoreRouter(
246-
ctx,
247-
testSuiteCfg,
248-
log,
249-
)
250-
require.NoError(t, err)
251-
server := server.NewServer(host, 0, store, log, metrics.NoopMetrics)
252-
253-
t.Log("Starting proxy server...")
254-
err = server.Start()
255-
require.NoError(t, err)
256-
257-
kill := func() {
258-
if err := server.Stop(); err != nil {
259-
panic(err)
260-
}
261-
}
262-
263-
return TestSuite{
264-
Ctx: ctx,
265-
Log: log,
266-
Server: server,
267-
}, kill
268-
}
269-
270-
func CreateTestSuiteF(t *testing.F, testSuiteCfg server.CLIConfig) (TestSuite, func()) {
271-
272-
for r := rune(0); r <= unicode.MaxRune; r++ {
273-
if unicode.IsPrint(r) {
274-
t.Add(fmt.Sprintf("seed: %s", string(r)), []byte(string(r))) // Add each printable Unicode character as a seed
275-
}
276-
}
277-
171+
func CreateTestSuite(t TB, testSuiteCfg server.CLIConfig) (TestSuite, func()) {
278172
log := oplog.NewLogger(os.Stdout, oplog.CLIConfig{
279173
Level: log.LevelDebug,
280174
Format: oplog.FormatLogFmt,

0 commit comments

Comments
 (0)