package stackutils import ( "testing" portainer "github.com/portainer/portainer/api" "github.com/stretchr/testify/require" ) func TestIsValidStackFile_DefaultPortEnvSubstitution(t *testing.T) { yamlContent := []byte(` version: "3" services: webservice: image: nginx container_name: hello-world networks: - "mynet1" ports: - "${PORT:-8080}:80" networks: mynet1: driver: bridge ipam: config: - subnet: 172.16.0.0/24 `) securitySettings := &portainer.EndpointSecuritySettings{} err := IsValidStackFile(yamlContent, securitySettings) require.NoError(t, err) } func TestIsValidStackFile_PortEnv(t *testing.T) { yamlContent := []byte(` version: "3" services: webservice: image: nginx container_name: hello-world networks: - "mynet1" ports: - "${PORT}:80" networks: mynet1: driver: bridge ipam: config: - subnet: 172.16.0.0/24 `) securitySettings := &portainer.EndpointSecuritySettings{} err := IsValidStackFile(yamlContent, securitySettings) require.NoError(t, err) }