72 lines
1.4 KiB
Go
72 lines
1.4 KiB
Go
package testutil
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestEmptyContainerIntegration(t *testing.T) {
|
|
if testing.Short() {
|
|
t.Skip("Skipping integration test in short mode")
|
|
}
|
|
|
|
container := Container{
|
|
Image: "docksal/empty",
|
|
}
|
|
|
|
err := container.Start()
|
|
require.NoError(t, err)
|
|
|
|
container.Terminate()
|
|
}
|
|
|
|
func TestMappedPortLookupIntegration(t *testing.T) {
|
|
if testing.Short() {
|
|
t.Skip("Skipping integration test in short mode")
|
|
}
|
|
t.Skip("Broken due to testcontainers/testcontainers-go#2652")
|
|
|
|
cases := []struct {
|
|
name string
|
|
port string
|
|
expected string
|
|
}{
|
|
{"random", "80", "80"},
|
|
{"only 80", "80:80", "80"},
|
|
{"only 80", "80:80/tcp", "80"},
|
|
{"only 8080", "8080:80", "8080"},
|
|
{"only 8080", "8080:80/tcp", "8080"},
|
|
}
|
|
|
|
for _, tc := range cases {
|
|
container := Container{
|
|
Image: "nginx:stable-alpine",
|
|
ExposedPorts: []string{tc.port},
|
|
}
|
|
|
|
err := container.Start()
|
|
require.NoError(t, err)
|
|
|
|
if tc.name == "random" {
|
|
require.NotEqual(t, tc.expected, container.Ports["80"])
|
|
} else {
|
|
require.Equal(t, tc.expected, container.Ports["80"])
|
|
}
|
|
|
|
container.Terminate()
|
|
}
|
|
}
|
|
|
|
func TestBadImageNameIntegration(t *testing.T) {
|
|
if testing.Short() {
|
|
t.Skip("Skipping integration test in short mode")
|
|
}
|
|
|
|
container := Container{
|
|
Image: "fAk3-n4mE",
|
|
}
|
|
|
|
err := container.Start()
|
|
require.Error(t, err)
|
|
}
|