mirror of
https://github.com/docker/compose.git
synced 2025-07-25 22:54:54 +02:00
Test we create the expected policy document for pull_credentials
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
parent
e88b11bc26
commit
1d11e847fb
@ -426,7 +426,6 @@ func normalizeResourceName(s string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c client) getPolicy(taskDef *ecs.TaskDefinition) (*PolicyDocument, error) {
|
func (c client) getPolicy(taskDef *ecs.TaskDefinition) (*PolicyDocument, error) {
|
||||||
|
|
||||||
arns := []string{}
|
arns := []string{}
|
||||||
for _, container := range taskDef.ContainerDefinitions {
|
for _, container := range taskDef.ContainerDefinitions {
|
||||||
if container.RepositoryCredentials != nil {
|
if container.RepositoryCredentials != nil {
|
||||||
|
@ -4,15 +4,13 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/awslabs/goformation/v4/cloudformation/ec2"
|
|
||||||
|
|
||||||
"github.com/awslabs/goformation/v4/cloudformation"
|
"github.com/awslabs/goformation/v4/cloudformation"
|
||||||
|
"github.com/awslabs/goformation/v4/cloudformation/ec2"
|
||||||
|
"github.com/awslabs/goformation/v4/cloudformation/iam"
|
||||||
"github.com/compose-spec/compose-go/loader"
|
"github.com/compose-spec/compose-go/loader"
|
||||||
"github.com/compose-spec/compose-go/types"
|
"github.com/compose-spec/compose-go/types"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
|
||||||
|
|
||||||
"github.com/docker/ecs-plugin/pkg/compose"
|
"github.com/docker/ecs-plugin/pkg/compose"
|
||||||
|
"gotest.tools/assert"
|
||||||
"gotest.tools/v3/golden"
|
"gotest.tools/v3/golden"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -30,6 +28,26 @@ func TestSimpleWithOverrides(t *testing.T) {
|
|||||||
golden.Assert(t, result, expected)
|
golden.Assert(t, result, expected)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRolePolicy(t *testing.T) {
|
||||||
|
template := convertYaml(t, `
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
foo:
|
||||||
|
image: hello_world
|
||||||
|
x-aws-pull_credentials: "secret"
|
||||||
|
`)
|
||||||
|
role := template.Resources["FooTaskExecutionRole"].(*iam.Role)
|
||||||
|
assert.Check(t, role != nil)
|
||||||
|
assert.Check(t, role.ManagedPolicyArns[0] == ECSTaskExecutionPolicy)
|
||||||
|
assert.Check(t, role.ManagedPolicyArns[1] == ECRReadOnlyPolicy)
|
||||||
|
// We expect an extra policy has been created for x-aws-pull_credentials
|
||||||
|
assert.Check(t, len(role.Policies) == 1)
|
||||||
|
policy := role.Policies[0].PolicyDocument.(*PolicyDocument)
|
||||||
|
expected := []string{"secretsmanager:GetSecretValue", "ssm:GetParameters", "kms:Decrypt"}
|
||||||
|
assert.DeepEqual(t, expected, policy.Statement[0].Action)
|
||||||
|
assert.DeepEqual(t, []string{"secret"}, policy.Statement[0].Resource)
|
||||||
|
}
|
||||||
|
|
||||||
func TestMapNetworksToSecurityGroups(t *testing.T) {
|
func TestMapNetworksToSecurityGroups(t *testing.T) {
|
||||||
template := convertYaml(t, `
|
template := convertYaml(t, `
|
||||||
version: "3"
|
version: "3"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user