Skip to content

Commit df7023a

Browse files
committed
fix issue with internal ip of a container
1 parent c71a072 commit df7023a

File tree

6 files changed

+24
-16
lines changed

6 files changed

+24
-16
lines changed

frametests/definition/options.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ func (o *ContainerOpts) Configure(
4545
}
4646

4747
if o.UseHostMode {
48+
containerRequest.ExposedPorts = nil
4849
containerRequest.HostConfigModifier = func(hostConfig *container.HostConfig) {
4950
hostConfig.NetworkMode = "host"
5051
}
@@ -71,13 +72,14 @@ func (o *ContainerOpts) ConfigurationExtend(
7172
}
7273

7374
if o.UseHostMode {
74-
containerCustomize = append(containerCustomize, testcontainers.WithHostConfigModifier(
75-
func(hostConfig *container.HostConfig) {
76-
hostConfig.NetworkMode = HostNetworkingMode
77-
}))
75+
containerCustomize = append(containerCustomize,
76+
testcontainers.WithHostConfigModifier(
77+
func(hostConfig *container.HostConfig) {
78+
hostConfig.NetworkMode = HostNetworkingMode
79+
}))
7880
} else {
7981
containerCustomize = append(containerCustomize,
80-
// testcontainers.WithExposedPorts(o.Ports...),
82+
testcontainers.WithExposedPorts(o.Ports...),
8183
network.WithNetwork([]string{ntwk.Name}, ntwk),
8284
network.WithNetworkName(o.NetworkAliases, ntwk.Name))
8385
}

frametests/deps/testnats/nats.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@ import (
1414
)
1515

1616
const (
17-
18-
// NATS configuration.
19-
2017
NatsImage = "nats:latest"
2118

22-
NatsPort = "4222"
2319
NatsUser = "frame"
2420
NatsPass = "fr@m3"
2521
NatsCluster = "frame_test"
@@ -44,7 +40,7 @@ func NewWithOpts(cluster string, containerOpts ...definition.ContainerOption) de
4440
ImageName: NatsImage,
4541
UserName: NatsUser,
4642
Password: NatsPass,
47-
Ports: []string{NatsPort},
43+
Ports: []string{"4222/tcp", "6222/tcp", "8222/tcp"},
4844
NetworkAliases: []string{"nats", "queue-nats"},
4945
}
5046
opts.Setup(containerOpts...)
@@ -70,21 +66,21 @@ func (d *natsDependancy) Setup(ctx context.Context, ntwk *testcontainers.DockerN
7066
tcNats.WithPassword(d.opts.Password),
7167
}...)
7268

73-
natsqContainer, err := tcNats.Run(ctx, d.opts.ImageName, containerCustomize...)
69+
natsContainer, err := tcNats.Run(ctx, d.opts.ImageName, containerCustomize...)
7470
if err != nil {
7571
return fmt.Errorf("failed to start nats container: %w", err)
7672
}
7773

78-
d.container = natsqContainer
74+
d.container = natsContainer
7975

80-
conn, err := natsqContainer.ConnectionString(ctx)
76+
conn, err := natsContainer.ConnectionString(ctx)
8177
if err != nil {
8278
return fmt.Errorf("failed to get connection string for container: %w", err)
8379
}
8480

8581
d.conn = frame.DataSource(conn)
8682

87-
internalIP, err := natsqContainer.ContainerIP(ctx)
83+
internalIP, err := natsContainer.ContainerIP(ctx)
8884
if err != nil {
8985
return fmt.Errorf("failed to get internal host ip for container: %w", err)
9086
}

frametests/deps/testoryhydra/hydra.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,11 @@ func (d *hydraDependancy) Setup(ctx context.Context, ntwk *testcontainers.Docker
191191
if err != nil {
192192
return fmt.Errorf("failed to get internal host ip for hydraContainer: %w", err)
193193
}
194+
195+
if d.opts.UseHostMode && internalIP == "" {
196+
internalIP = host
197+
}
198+
194199
d.internalConn = frame.DataSource(
195200
fmt.Sprintf("http://%s", net.JoinHostPort(internalIP, adminPort.Port())),
196201
)

frametests/deps/testoryketo/keto.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,11 @@ func (d *ketoDependancy) Setup(ctx context.Context, ntwk *testcontainers.DockerN
189189
if err != nil {
190190
return fmt.Errorf("failed to get internal host ip for ketoContainer: %w", err)
191191
}
192+
193+
if d.opts.UseHostMode && internalIP == "" {
194+
internalIP = host
195+
}
196+
192197
d.internalConn = frame.DataSource(fmt.Sprintf("http://%s", net.JoinHostPort(internalIP, adminPort.Port())))
193198

194199
d.container = ketoContainer

frametests/deps/testpostgres/postgres.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const (
3535
// DBName is the default database name for the PostgreSQL test database.
3636
DBName = "frame_test"
3737
// DBPort is the default port for the PostgreSQL test database.
38-
DBPort = "5432"
38+
DBPort = "5432/tcp"
3939

4040
// OccurrenceValue is the number of occurrences to wait for in the log pattern.
4141
OccurrenceValue = 2

frametests/deps/testvalkey/valkey.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const (
1818
// ValKey configuration.
1919

2020
ValKeyImage = "docker.io/valkey/valkey:latest"
21-
ValKeyPort = "6379"
21+
ValKeyPort = "6379/tcp"
2222

2323
ValKeyUser = "frame"
2424
ValKeyPass = "fr@m3"

0 commit comments

Comments
 (0)