8
8
"testing"
9
9
)
10
10
11
- func TestDatabaseQueries (t * testing.T ) {
11
+ func TestMarkImagesAsUnused (t * testing.T ) {
12
12
ctx := context .Background ()
13
13
14
14
pool := test .GetPool (ctx , t , true )
@@ -20,23 +20,8 @@ func TestDatabaseQueries(t *testing.T) {
20
20
t .Fatal (err )
21
21
}
22
22
23
- t .Run ("TestMarkUnusedImages" , func (t * testing.T ) {
24
- err = db .CreateImage (ctx , sql.CreateImageParams {
25
- Name : "testimage1" ,
26
- Tag : "v1" ,
27
- Metadata : map [string ]string {},
28
- })
29
- assert .NoError (t , err )
30
-
31
- _ , err = db .CreateWorkload (ctx , sql.CreateWorkloadParams {
32
- Name : "testworkload1" ,
33
- WorkloadType : "application" ,
34
- Namespace : "testnamspace1" ,
35
- Cluster : "testcluster1" ,
36
- ImageName : "testimage1" ,
37
- ImageTag : "v1" ,
38
- })
39
- assert .NoError (t , err )
23
+ t .Run ("image used by workload should not be marked as unused" , func (t * testing.T ) {
24
+ createTestdata (t , db , "testimage1" , "v1" , true )
40
25
41
26
err = db .MarkUnusedImages (ctx ,
42
27
[]sql.ImageState {
@@ -52,38 +37,23 @@ func TestDatabaseQueries(t *testing.T) {
52
37
assert .NotEqual (t , sql .ImageStateUnused , image .State )
53
38
})
54
39
55
- t .Run ("Resync state is not changed after UpdateImageState" , func (t * testing.T ) {
40
+ t .Run ("image with resync state should not be marked as unused" , func (t * testing.T ) {
41
+ createTestdata (t , db , "testimage2" , "v1" , true )
56
42
57
- err = db .CreateImage (ctx , sql.CreateImageParams {
58
- Name : "testimage2" ,
59
- Tag : "v1" ,
60
- Metadata : map [string ]string {},
61
- })
62
- assert .NoError (t , err )
63
-
64
- image2 , err := db .GetImage (ctx , sql.GetImageParams {
43
+ image , err := db .GetImage (ctx , sql.GetImageParams {
65
44
Name : "testimage2" ,
66
45
Tag : "v1" ,
67
46
})
68
47
assert .NoError (t , err )
69
48
70
- _ , err = db .CreateWorkload (ctx , sql.CreateWorkloadParams {
71
- Name : "testworkload2" ,
72
- WorkloadType : "application" ,
73
- Namespace : "testnamspace1" ,
74
- Cluster : "testcluster1" ,
75
- ImageName : "testimage2" ,
76
- ImageTag : "v1" ,
77
- })
78
- assert .NoError (t , err )
79
-
80
- db .UpdateImageState (ctx , sql.UpdateImageStateParams {
81
- Name : image2 .Name ,
82
- Tag : image2 .Tag ,
49
+ err = db .UpdateImageState (ctx , sql.UpdateImageStateParams {
50
+ Name : image .Name ,
51
+ Tag : image .Tag ,
83
52
State : sql .ImageStateResync ,
84
53
})
54
+ assert .NoError (t , err )
85
55
86
- image2 , err = db .GetImage (ctx , sql.GetImageParams {
56
+ image , err = db .GetImage (ctx , sql.GetImageParams {
87
57
Name : "testimage2" ,
88
58
Tag : "v1" ,
89
59
})
@@ -94,13 +64,10 @@ func TestDatabaseQueries(t *testing.T) {
94
64
sql .ImageStateFailed ,
95
65
})
96
66
assert .NoError (t , err )
97
-
98
- assert .NoError (t , err )
99
- assert .Equal (t , sql .ImageStateResync , image2 .State )
100
-
67
+ assert .Equal (t , sql .ImageStateResync , image .State )
101
68
})
102
69
103
- t .Run ("Image without workload" , func (t * testing.T ) {
70
+ t .Run ("image without workload should be marked as unused " , func (t * testing.T ) {
104
71
105
72
err = db .CreateImage (ctx , sql.CreateImageParams {
106
73
Name : "testimage" ,
@@ -123,7 +90,29 @@ func TestDatabaseQueries(t *testing.T) {
123
90
124
91
assert .NoError (t , err )
125
92
assert .Equal (t , sql .ImageStateUnused , image .State )
93
+ })
94
+
95
+ }
126
96
97
+ func createTestdata (t * testing.T , db sql.Querier , image_name , image_tag string , createWorkload bool ) {
98
+ ctx := context .Background ()
99
+ err := db .CreateImage (ctx , sql.CreateImageParams {
100
+ Name : image_name ,
101
+ Tag : image_tag ,
102
+ Metadata : map [string ]string {},
127
103
})
104
+ assert .NoError (t , err )
128
105
106
+ if ! createWorkload {
107
+ return
108
+ }
109
+ _ , err = db .CreateWorkload (ctx , sql.CreateWorkloadParams {
110
+ Name : image_name ,
111
+ WorkloadType : "application" ,
112
+ Namespace : "testnamespace1" ,
113
+ Cluster : "testcluster1" ,
114
+ ImageName : image_name ,
115
+ ImageTag : image_tag ,
116
+ })
117
+ assert .NoError (t , err )
129
118
}
0 commit comments