11package blockchain
22
3- import (
4- "context"
5- "fmt"
6- "time"
7-
8- "github.com/docker/docker/api/types/container"
9-
10- "github.com/smartcontractkit/chainlink-testing-framework/framework"
11-
12- "github.com/docker/go-connections/nat"
13- "github.com/testcontainers/testcontainers-go"
14- "github.com/testcontainers/testcontainers-go/wait"
15- )
16-
173const (
184 DefaultBesuPrivateKey1 = "8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63"
195 DefaultBesuPrivateKey2 = "c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3"
@@ -37,7 +23,11 @@ func defaultBesu(in *Input) {
3723
3824func newBesu (in * Input ) (* Output , error ) {
3925 defaultBesu (in )
40- ctx := context .Background ()
26+ req := baseRequest (in , true )
27+
28+ req .Image = in .Image
29+ req .AlwaysPullImage = in .PullImage
30+
4131 defaultCmd := []string {
4232 "--network=dev" ,
4333 "--miner-enabled" ,
@@ -53,64 +43,7 @@ func newBesu(in *Input) (*Output, error) {
5343 "--data-path=/tmp/tmpDatdir" ,
5444 }
5545 entryPoint := append (defaultCmd , in .DockerCmdParamsOverrides ... )
46+ req .Cmd = entryPoint
5647
57- containerName := framework .DefaultTCName ("blockchain-node" )
58- bindPort := fmt .Sprintf ("%s/tcp" , in .Port )
59- bindPortWs := fmt .Sprintf ("%s/tcp" , in .WSPort )
60-
61- req := testcontainers.ContainerRequest {
62- AlwaysPullImage : in .PullImage ,
63- Image : in .Image ,
64- Name : containerName ,
65- ExposedPorts : []string {bindPort , bindPortWs },
66- Networks : []string {framework .DefaultNetworkName },
67- NetworkAliases : map [string ][]string {
68- framework .DefaultNetworkName : {containerName },
69- },
70- Labels : framework .DefaultTCLabels (),
71- HostConfigModifier : func (h * container.HostConfig ) {
72- h .PortBindings = framework .MapTheSamePort (bindPortWs , bindPort )
73- framework .ResourceLimitsFunc (h , in .ContainerResources )
74- },
75- WaitingFor : wait .ForListeningPort (nat .Port (in .Port )).WithStartupTimeout (15 * time .Second ).WithPollInterval (200 * time .Millisecond ),
76- Cmd : entryPoint ,
77- }
78-
79- c , err := testcontainers .GenericContainer (ctx , testcontainers.GenericContainerRequest {
80- ContainerRequest : req ,
81- Started : true ,
82- })
83- if err != nil {
84- return nil , err
85- }
86-
87- host , err := c .Host (ctx )
88- if err != nil {
89- return nil , err
90- }
91-
92- mp , err := c .MappedPort (ctx , nat .Port (bindPort ))
93- if err != nil {
94- return nil , err
95- }
96- mpWs , err := c .MappedPort (ctx , nat .Port (bindPortWs ))
97- if err != nil {
98- return nil , err
99- }
100-
101- return & Output {
102- UseCache : true ,
103- ChainID : in .ChainID ,
104- Family : "evm" ,
105- ContainerName : containerName ,
106- Container : c ,
107- Nodes : []* Node {
108- {
109- HostHTTPUrl : fmt .Sprintf ("http://%s:%s" , host , mp .Port ()),
110- HostWSUrl : fmt .Sprintf ("ws://%s:%s" , host , mpWs .Port ()),
111- DockerInternalHTTPUrl : fmt .Sprintf ("http://%s:%s" , containerName , in .Port ),
112- DockerInternalWSUrl : fmt .Sprintf ("ws://%s:%s" , containerName , in .WSPort ),
113- },
114- },
115- }, nil
48+ return createGenericEvmContainer (in , req , true )
11649}
0 commit comments