@@ -3,18 +3,18 @@ package appregistry
3
3
import (
4
4
"archive/tar"
5
5
"bytes"
6
- "fmt"
7
6
"io"
7
+ "io/ioutil"
8
8
"os"
9
9
"path/filepath"
10
10
"strings"
11
11
"testing"
12
12
13
- "github.com/operator-framework/operator-registry/pkg/apprclient"
14
13
"github.com/sirupsen/logrus"
15
14
"github.com/stretchr/testify/assert"
16
15
"github.com/stretchr/testify/require"
17
- "k8s.io/apimachinery/pkg/util/rand"
16
+
17
+ "github.com/operator-framework/operator-registry/pkg/apprclient"
18
18
)
19
19
20
20
const (
@@ -56,12 +56,12 @@ func setupDownloadFolder(t *testing.T) (downloadpath string, remove func()) {
56
56
nestedOutputDirectoryBase = "testdata/download"
57
57
)
58
58
59
- path := fmt .Sprintf ("%s/%s" , nestedOutputDirectoryBase , rand .String (8 ))
59
+ // Create temporary working directory for manifests
60
+ path , err := ioutil .TempDir (nestedOutputDirectoryBase , "manifests-" )
61
+ require .NoError (t , err )
60
62
61
63
return path , func () {
62
- if err := os .RemoveAll (path ); err != nil {
63
- t .Logf ("failed to cleanup download folder [%s]" , path )
64
- }
64
+ require .NoError (t , os .RemoveAll (path ))
65
65
}
66
66
}
67
67
@@ -70,48 +70,45 @@ func TestDecodeWithNestedBundleManifest(t *testing.T) {
70
70
defer remove ()
71
71
72
72
manifests := []* apprclient.OperatorMetadata {
73
- & apprclient. OperatorMetadata {
73
+ {
74
74
RegistryMetadata : etcd ,
75
75
Blob : tarball (t , etcdManifestLocation , tarFilePrefixTrim ),
76
76
},
77
- & apprclient. OperatorMetadata {
77
+ {
78
78
RegistryMetadata : prometheus ,
79
79
Blob : tarball (t , prometheusManifestLocation , tarFilePrefixTrim ),
80
80
},
81
81
}
82
82
83
83
logger := logrus .WithField ("test" , "nested" )
84
84
85
- decoder , err := NewManifestDecoder (logger , nestedDirectoryWant )
85
+ decoder , err := NewManifestDecoder (logger )
86
86
require .NoError (t , err )
87
87
88
- resultGot , errGot := decoder .Decode (manifests )
88
+ resultGot , errGot := decoder .Decode (manifests , nestedDirectoryWant )
89
89
assert .NoError (t , errGot )
90
- assert .Nil (t , resultGot .Flattened )
91
- assert .Equal (t , nestedDirectoryWant , resultGot .NestedDirectory )
92
90
assert .Equal (t , 0 , resultGot .FlattenedCount )
93
91
assert .Equal (t , 2 , resultGot .NestedCount )
94
92
}
95
93
96
94
func TestDecodeWithFlattenedManifest (t * testing.T ) {
97
- nestedDirectoryWant , _ := setupDownloadFolder (t )
95
+ nestedDirectoryWant , remove := setupDownloadFolder (t )
96
+ defer remove ()
98
97
99
98
manifests := []* apprclient.OperatorMetadata {
100
- & apprclient. OperatorMetadata {
99
+ {
101
100
RegistryMetadata : descheduler ,
102
101
Blob : tarball (t , deschedulerManifestLocation , tarFilePrefixTrim ),
103
102
},
104
103
}
105
104
106
105
logger := logrus .WithField ("test" , "flattened" )
107
106
108
- decoder , err := NewManifestDecoder (logger , nestedDirectoryWant )
107
+ decoder , err := NewManifestDecoder (logger )
109
108
require .NoError (t , err )
110
109
111
- resultGot , errGot := decoder .Decode (manifests )
110
+ resultGot , errGot := decoder .Decode (manifests , nestedDirectoryWant )
112
111
assert .NoError (t , errGot )
113
- assert .NotNil (t , resultGot .Flattened )
114
- assert .Equal (t , nestedDirectoryWant , resultGot .NestedDirectory )
115
112
assert .Equal (t , 1 , resultGot .FlattenedCount )
116
113
assert .Equal (t , 0 , resultGot .NestedCount )
117
114
}
@@ -121,29 +118,27 @@ func TestDecodeWithBothFlattenedAndNestedManifest(t *testing.T) {
121
118
defer remove ()
122
119
123
120
manifests := []* apprclient.OperatorMetadata {
124
- & apprclient. OperatorMetadata {
121
+ {
125
122
RegistryMetadata : etcd ,
126
123
Blob : tarball (t , etcdManifestLocation , tarFilePrefixTrim ),
127
124
},
128
- & apprclient. OperatorMetadata {
125
+ {
129
126
RegistryMetadata : prometheus ,
130
127
Blob : tarball (t , prometheusManifestLocation , tarFilePrefixTrim ),
131
128
},
132
- & apprclient. OperatorMetadata {
129
+ {
133
130
RegistryMetadata : descheduler ,
134
131
Blob : tarball (t , deschedulerManifestLocation , tarFilePrefixTrim ),
135
132
},
136
133
}
137
134
138
135
logger := logrus .WithField ("test" , "flattened+nested" )
139
136
140
- decoder , err := NewManifestDecoder (logger , nestedDirectoryWant )
137
+ decoder , err := NewManifestDecoder (logger )
141
138
require .NoError (t , err )
142
139
143
- resultGot , errGot := decoder .Decode (manifests )
140
+ resultGot , errGot := decoder .Decode (manifests , nestedDirectoryWant )
144
141
assert .NoError (t , errGot )
145
- assert .NotNil (t , resultGot .Flattened )
146
- assert .Equal (t , nestedDirectoryWant , resultGot .NestedDirectory )
147
142
assert .Equal (t , 1 , resultGot .FlattenedCount )
148
143
assert .Equal (t , 2 , resultGot .NestedCount )
149
144
}
0 commit comments