@@ -3,75 +3,83 @@ package command
3
3
import (
4
4
"testing"
5
5
6
- defangv1 "github.com/DefangLabs/defang/src/protos/io/defang/v1 "
6
+ "github.com/compose-spec/compose-go/v2/types "
7
7
)
8
8
9
9
func TestGetUnreferencedManagedResources (t * testing.T ) {
10
10
11
11
t .Run ("no services" , func (t * testing.T ) {
12
- project := []* defangv1.ServiceInfo {}
13
- managed := GetUnreferencedManagedResources (project )
12
+ project := types.Services {}
13
+
14
+ managed := getUnreferencedManagedResources (project )
14
15
if len (managed ) != 0 {
15
16
t .Errorf ("Expected 0 managed resources, got %d (%v)" , len (managed ), managed )
16
17
}
17
18
})
18
19
19
20
t .Run ("one service all managed" , func (t * testing.T ) {
20
- project := []* defangv1.ServiceInfo {}
21
- project = append (project , & defangv1.ServiceInfo {
22
- Service : & defangv1.ServiceID {Name : "service1" , Postgres : & defangv1.Postgres {}}})
21
+ project := types.Services {
22
+ "service1" : types.ServiceConfig {
23
+ Extensions : map [string ]any {"x-defang-postgres" : true },
24
+ },
25
+ }
23
26
24
- managed := GetUnreferencedManagedResources (project )
27
+ managed := getUnreferencedManagedResources (project )
25
28
if len (managed ) != 1 {
26
29
t .Errorf ("Expected 1 managed resource, got %d (%v)" , len (managed ), managed )
27
30
}
28
31
})
29
32
30
33
t .Run ("one service unmanaged" , func (t * testing.T ) {
31
- project := [] * defangv1. ServiceInfo {}
32
- project = append ( project , & defangv1. ServiceInfo {
33
- Service : & defangv1. ServiceID { Name : "service1" }})
34
+ project := types. Services {
35
+ "service1" : types. ServiceConfig {},
36
+ }
34
37
35
- managed := GetUnreferencedManagedResources (project )
38
+ managed := getUnreferencedManagedResources (project )
36
39
if len (managed ) != 0 {
37
40
t .Errorf ("Expected 0 managed resource, got %d (%v)" , len (managed ), managed )
38
41
}
39
42
})
40
43
41
44
t .Run ("one service unmanaged, one service managed" , func (t * testing.T ) {
42
- project := []* defangv1.ServiceInfo {}
43
- project = append (project , & defangv1.ServiceInfo {
44
- Service : & defangv1.ServiceID {Name : "service1" }})
45
- project = append (project , & defangv1.ServiceInfo {
46
- Service : & defangv1.ServiceID {Name : "service2" , Postgres : & defangv1.Postgres {}}})
45
+ project := types.Services {
46
+ "service1" : types.ServiceConfig {},
47
+ "service2" : types.ServiceConfig {
48
+ Extensions : map [string ]any {"x-defang-postgres" : true },
49
+ },
50
+ }
47
51
48
- managed := GetUnreferencedManagedResources (project )
52
+ managed := getUnreferencedManagedResources (project )
49
53
if len (managed ) != 1 {
50
54
t .Errorf ("Expected 1 managed resource, got %d (%v)" , len (managed ), managed )
51
55
}
52
56
})
53
57
54
58
t .Run ("two service two unmanaged" , func (t * testing.T ) {
55
- project := []* defangv1.ServiceInfo {}
56
- project = append (project , & defangv1.ServiceInfo {
57
- Service : & defangv1.ServiceID {Name : "service1" }})
58
- project = append (project , & defangv1.ServiceInfo {
59
- Service : & defangv1.ServiceID {Name : "service2" }})
59
+ project := types.Services {
60
+ "service1" : types.ServiceConfig {},
61
+ "service2" : types.ServiceConfig {},
62
+ }
60
63
61
- managed := GetUnreferencedManagedResources (project )
64
+ managed := getUnreferencedManagedResources (project )
62
65
if len (managed ) != 0 {
63
66
t .Errorf ("Expected 0 managed resource, got %d (%v)" , len (managed ), managed )
64
67
}
65
68
})
66
69
67
70
t .Run ("one service two managed" , func (t * testing.T ) {
68
- project := []* defangv1.ServiceInfo {}
69
- project = append (project , & defangv1.ServiceInfo {
70
- Service : & defangv1.ServiceID {Name : "service1" , Postgres : & defangv1.Postgres {}, Redis : & defangv1.Redis {}}})
71
+ project := types.Services {
72
+ "service1" : types.ServiceConfig {
73
+ Extensions : map [string ]any {"x-defang-postgres" : true },
74
+ },
75
+ "service2" : types.ServiceConfig {
76
+ Extensions : map [string ]any {"x-defang-redis" : true },
77
+ },
78
+ }
71
79
72
- managed := GetUnreferencedManagedResources (project )
73
- if len (managed ) != 1 {
74
- t .Errorf ("Expected 1 managed resource, got %d (%s)" , len (managed ), managed )
80
+ managed := getUnreferencedManagedResources (project )
81
+ if len (managed ) != 2 {
82
+ t .Errorf ("Expected 2 managed resource, got %d (%s)" , len (managed ), managed )
75
83
}
76
84
})
77
85
}
0 commit comments