Skip to content

Commit 90a4de7

Browse files
authored
Sui starter (#1680)
add sui starter
1 parent 7aa6750 commit 90a4de7

File tree

5 files changed

+78
-10
lines changed

5 files changed

+78
-10
lines changed

framework/.changeset/v0.6.1.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Allow nil blockchains output in Sui case

framework/components/simple_node_set/node_set.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,12 @@ func sharedDBSetup(in *Input, bcOut *blockchain.Output) (*Output, error) {
125125

126126
eg.Go(func() error {
127127
var net string
128-
net, err := clnode.NewNetworkCfgOneNetworkAllNodes(bcOut)
129-
if err != nil {
130-
return err
128+
var err error
129+
if bcOut != nil {
130+
net, err = clnode.NewNetworkCfgOneNetworkAllNodes(bcOut)
131+
if err != nil {
132+
return err
133+
}
131134
}
132135
if in.NodeSpecs[overrideIdx].Node.TestConfigOverrides != "" {
133136
net = in.NodeSpecs[overrideIdx].Node.TestConfigOverrides
Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,40 @@
1+
12
[blockchain_a]
2-
type = "sui"
33
image = "mysten/sui-tools:mainnet"
4+
type = "sui"
5+
6+
[data_provider]
7+
port = 9111
8+
9+
[nodeset]
10+
name = "don"
11+
nodes = 5
12+
override_mode = "each"
13+
14+
[nodeset.db]
15+
image = "postgres:12.0"
16+
17+
[[nodeset.node_specs]]
18+
19+
[nodeset.node_specs.node]
20+
image = "public.ecr.aws/chainlink/chainlink:v2.17.0"
21+
22+
[[nodeset.node_specs]]
23+
24+
[nodeset.node_specs.node]
25+
image = "public.ecr.aws/chainlink/chainlink:v2.17.0"
26+
27+
[[nodeset.node_specs]]
28+
29+
[nodeset.node_specs.node]
30+
image = "public.ecr.aws/chainlink/chainlink:v2.17.0"
31+
32+
[[nodeset.node_specs]]
33+
34+
[nodeset.node_specs.node]
35+
image = "public.ecr.aws/chainlink/chainlink:v2.17.0"
36+
37+
[[nodeset.node_specs]]
38+
39+
[nodeset.node_specs.node]
40+
image = "public.ecr.aws/chainlink/chainlink:v2.17.0"

framework/examples/myproject/smoke_sui_test.go

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,16 @@ import (
1111
"github.com/stretchr/testify/require"
1212

1313
"github.com/smartcontractkit/chainlink-testing-framework/framework"
14+
"github.com/smartcontractkit/chainlink-testing-framework/framework/clclient"
1415
"github.com/smartcontractkit/chainlink-testing-framework/framework/components/blockchain"
16+
"github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake"
17+
ns "github.com/smartcontractkit/chainlink-testing-framework/framework/components/simple_node_set"
1518
)
1619

1720
type CfgSui struct {
18-
BlockchainA *blockchain.Input `toml:"blockchain_a" validate:"required"`
21+
BlockchainA *blockchain.Input `toml:"blockchain_a" validate:"required"`
22+
MockerDataProvider *fake.Input `toml:"data_provider" validate:"required"`
23+
NodeSet *ns.Input `toml:"nodeset" validate:"required"`
1924
}
2025

2126
func TestSuiSmoke(t *testing.T) {
@@ -34,12 +39,22 @@ func TestSuiSmoke(t *testing.T) {
3439
_, err = framework.ExecContainer(bc.ContainerName, []string{"ls", "-lah"})
3540
require.NoError(t, err)
3641

37-
t.Run("test something", func(t *testing.T) {
38-
// use internal URL to connect Chainlink nodes
39-
_ = bc.Nodes[0].DockerInternalHTTPUrl
40-
// use host URL to interact
41-
_ = bc.Nodes[0].HostHTTPUrl
42+
_, err = fake.NewFakeDataProvider(in.MockerDataProvider)
43+
require.NoError(t, err)
44+
45+
fmt.Printf("Sui host HTTP URL: %s", bc.Nodes[0].HostHTTPUrl)
46+
fmt.Printf("Sui internal (docker) HTTP URL: %s", bc.Nodes[0].DockerInternalHTTPUrl)
47+
for _, n := range in.NodeSet.NodeSpecs {
48+
// configure each CL node for Sui, just an example
49+
n.Node.TestConfigOverrides = `
50+
[Log]
51+
level = 'info'
52+
`
53+
}
54+
out, err := ns.NewSharedDBNodeSet(in.NodeSet, nil)
55+
require.NoError(t, err)
4256

57+
t.Run("test something", func(t *testing.T) {
4358
cli := sui.NewSuiClient(bc.Nodes[0].HostHTTPUrl)
4459

4560
signerAccount, err := signer.NewSignertWithMnemonic(bc.NetworkSpecificData.SuiAccount.Mnemonic)
@@ -49,5 +64,14 @@ func TestSuiSmoke(t *testing.T) {
4964
})
5065
require.NoError(t, err)
5166
fmt.Printf("My funds: %v\n", rsp)
67+
clClients, err := clclient.New(out.CLNodes)
68+
require.NoError(t, err)
69+
// create jobs, etc
70+
for _, c := range clClients {
71+
_ = c
72+
// create jobs
73+
//_, _, err := c.CreateJobRaw(`...`)
74+
//require.NoError(t, err)
75+
}
5276
})
5377
}

infra/chaosmesh-playground/devbox.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"lockfile_version": "1",
33
"packages": {
4+
"github:NixOS/nixpkgs/nixpkgs-unstable": {
5+
"resolved": "github:NixOS/nixpkgs/573c650e8a14b2faa0041645ab18aed7e60f0c9a?lastModified=1741865919&narHash=sha256-4thdbnP6dlbdq%2BqZWTsm4ffAwoS8Tiq1YResB%2BRP6WE%3D"
6+
},
47
58
"last_modified": "2025-01-19T08:16:51Z",
69
"resolved": "github:NixOS/nixpkgs/50165c4f7eb48ce82bd063e1fb8047a0f515f8ce#k9s",

0 commit comments

Comments
 (0)