mirror of
https://github.com/docker/compose.git
synced 2025-10-15 20:39:00 +02:00
46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package amazon
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"gotest.tools/assert"
|
|
|
|
"github.com/docker/ecs-plugin/pkg/compose"
|
|
"gotest.tools/v3/golden"
|
|
)
|
|
|
|
func TestSimpleConvert(t *testing.T) {
|
|
project := load(t, "testdata/input/simple-single-service.yaml")
|
|
result := convertResultAsString(t, project, "TestCluster")
|
|
expected := "simple/simple-cloudformation-conversion.golden"
|
|
golden.Assert(t, result, expected)
|
|
}
|
|
|
|
func TestSimpleWithOverrides(t *testing.T) {
|
|
project := load(t, "testdata/input/simple-single-service.yaml", "testdata/input/simple-single-service-with-overrides.yaml")
|
|
result := convertResultAsString(t, project, "TestCluster")
|
|
expected := "simple/simple-cloudformation-with-overrides-conversion.golden"
|
|
golden.Assert(t, result, expected)
|
|
}
|
|
|
|
func convertResultAsString(t *testing.T, project *compose.Project, clusterName string) string {
|
|
client, err := NewClient("", clusterName, "")
|
|
assert.NilError(t, err)
|
|
result, err := client.Convert(project)
|
|
assert.NilError(t, err)
|
|
resultAsJSON, err := result.JSON()
|
|
assert.NilError(t, err)
|
|
return fmt.Sprintf("%s\n", string(resultAsJSON))
|
|
}
|
|
|
|
func load(t *testing.T, paths ...string) *compose.Project {
|
|
options := compose.ProjectOptions{
|
|
Name: t.Name(),
|
|
ConfigPaths: paths,
|
|
}
|
|
project, err := compose.ProjectFromOptions(&options)
|
|
assert.NilError(t, err)
|
|
return project
|
|
}
|