|  | @@ -2,8 +2,11 @@ package backend
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import (
 | 
	
		
			
				|  |  |  	"fmt"
 | 
	
		
			
				|  |  | +	"reflect"
 | 
	
		
			
				|  |  |  	"testing"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	"github.com/docker/ecs-plugin/pkg/compose"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	"github.com/aws/aws-sdk-go/service/elbv2"
 | 
	
		
			
				|  |  |  	"github.com/awslabs/goformation/v4/cloudformation"
 | 
	
		
			
				|  |  |  	"github.com/awslabs/goformation/v4/cloudformation/ec2"
 | 
	
	
		
			
				|  | @@ -105,6 +108,31 @@ services:
 | 
	
		
			
				|  |  |  	assert.Check(t, lb.Type == elbv2.LoadBalancerTypeEnumNetwork)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +func TestResourcesHaveProjectTagSet(t *testing.T) {
 | 
	
		
			
				|  |  | +	template := convertYaml(t, `
 | 
	
		
			
				|  |  | +version: "3"
 | 
	
		
			
				|  |  | +services:
 | 
	
		
			
				|  |  | +  test:
 | 
	
		
			
				|  |  | +    image: nginx
 | 
	
		
			
				|  |  | +    ports:
 | 
	
		
			
				|  |  | +      - 80:80
 | 
	
		
			
				|  |  | +      - 88:88
 | 
	
		
			
				|  |  | +`)
 | 
	
		
			
				|  |  | +	for _, r := range template.Resources {
 | 
	
		
			
				|  |  | +		tags := reflect.Indirect(reflect.ValueOf(r)).FieldByName("Tags")
 | 
	
		
			
				|  |  | +		if !tags.IsValid() {
 | 
	
		
			
				|  |  | +			continue
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		for i := 0; i < tags.Len(); i++ {
 | 
	
		
			
				|  |  | +			k := tags.Index(i).FieldByName("Key").String()
 | 
	
		
			
				|  |  | +			v := tags.Index(i).FieldByName("Value").String()
 | 
	
		
			
				|  |  | +			if k == compose.ProjectTag {
 | 
	
		
			
				|  |  | +				assert.Equal(t, v, "Test")
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  func convertResultAsString(t *testing.T, project *types.Project, clusterName string) string {
 | 
	
		
			
				|  |  |  	client, err := NewBackend("", clusterName, "")
 | 
	
		
			
				|  |  |  	assert.NilError(t, err)
 |