~stephen-stewart/snapweb/hide-installer-for-oem

« back to all changes in this revision

Viewing changes to snappy/converge_test.go

Using package types to determine the resource name (ID) as frameworks and oem packages installed locally contain no origin/namespace by sergiusens approved by chipaca

Show diffs side-by-side

added added

removed removed

Lines of Context:
111
111
 
112
112
func (s *MergeSuite) TestOneInstalledAndNoRemote(c *C) {
113
113
        installed := []snapPkg{
114
 
                s.h.snapQueryToPayload(newFakePart("app1.canonical", "1.0", true)),
 
114
                s.h.snapQueryToPayload(newFakePart("app1", "canonical", "1.0", true)),
115
115
        }
116
116
 
117
117
        snaps := mergeSnaps(installed, nil, true)
118
118
 
119
119
        c.Assert(snaps, HasLen, 1)
120
 
        c.Assert(snaps[0].Name, Equals, "app1.canonical")
 
120
        c.Assert(snaps[0].Name, Equals, "app1")
121
121
        c.Assert(snaps[0].Version, Equals, "1.0")
122
122
        c.Assert(snaps[0].Status, Equals, webprogress.StatusInstalled)
123
123
 
127
127
 
128
128
func (s *MergeSuite) TestManyInstalledAndNoRemote(c *C) {
129
129
        installed := []snapPkg{
130
 
                s.h.snapQueryToPayload(newFakePart("app1.canonical", "1.0", true)),
131
 
                s.h.snapQueryToPayload(newFakePart("app2.canonical", "2.0", true)),
132
 
                s.h.snapQueryToPayload(newFakePart("app3.canonical", "3.0", true)),
 
130
                s.h.snapQueryToPayload(newFakePart("app1", "canonical", "1.0", true)),
 
131
                s.h.snapQueryToPayload(newFakePart("app2", "canonical", "2.0", true)),
 
132
                s.h.snapQueryToPayload(newFakePart("app3", "canonical", "3.0", true)),
133
133
        }
134
134
 
135
135
        snaps := mergeSnaps(installed, nil, true)
136
136
 
137
137
        c.Assert(snaps, HasLen, 3)
138
 
        c.Assert(snaps[0].Name, Equals, "app1.canonical")
 
138
        c.Assert(snaps[0].Name, Equals, "app1")
139
139
        c.Assert(snaps[0].Version, Equals, "1.0")
140
140
        c.Assert(snaps[0].Status, Equals, webprogress.StatusInstalled)
141
141
 
142
 
        c.Assert(snaps[1].Name, Equals, "app2.canonical")
 
142
        c.Assert(snaps[1].Name, Equals, "app2")
143
143
        c.Assert(snaps[1].Version, Equals, "2.0")
144
144
        c.Assert(snaps[1].Status, Equals, webprogress.StatusInstalled)
145
145
 
146
 
        c.Assert(snaps[2].Name, Equals, "app3.canonical")
 
146
        c.Assert(snaps[2].Name, Equals, "app3")
147
147
        c.Assert(snaps[2].Version, Equals, "3.0")
148
148
        c.Assert(snaps[2].Status, Equals, webprogress.StatusInstalled)
149
149
}
150
150
 
151
151
func (s *MergeSuite) TestManyInstalledAndManyRemotes(c *C) {
152
152
        installed := []snapPkg{
153
 
                s.h.snapQueryToPayload(newFakePart("app1.canonical", "1.0", true)),
154
 
                s.h.snapQueryToPayload(newFakePart("app2.canonical", "2.0", true)),
155
 
                s.h.snapQueryToPayload(newFakePart("app3.canonical", "3.0", true)),
 
153
                s.h.snapQueryToPayload(newFakePart("app1", "canonical", "1.0", true)),
 
154
                s.h.snapQueryToPayload(newFakePart("app2", "canonical", "2.0", true)),
 
155
                s.h.snapQueryToPayload(newFakePart("app3", "canonical", "3.0", true)),
156
156
        }
157
157
 
158
158
        remotes := []snapPkg{
159
 
                s.h.snapQueryToPayload(newFakePart("app1.canonical", "1.0", false)),
160
 
                s.h.snapQueryToPayload(newFakePart("app2.canonical", "2.0", false)),
161
 
                s.h.snapQueryToPayload(newFakePart("app3.ubuntu", "3.0", false)),
 
159
                s.h.snapQueryToPayload(newFakePart("app1", "canonical", "1.0", false)),
 
160
                s.h.snapQueryToPayload(newFakePart("app2", "canonical", "2.0", false)),
 
161
                s.h.snapQueryToPayload(newFakePart("app4", "ubuntu", "3.0", false)),
162
162
        }
163
163
 
164
164
        // Only installed
165
165
        snaps := mergeSnaps(installed, remotes, true)
166
166
 
167
167
        c.Assert(snaps, HasLen, 3)
168
 
        c.Check(snaps[0].Name, Equals, "app1.canonical")
 
168
        c.Check(snaps[0].Name, Equals, "app1")
 
169
        c.Check(snaps[0].Origin, Equals, "canonical")
169
170
        c.Check(snaps[0].Version, Equals, "1.0")
170
171
        c.Check(snaps[0].Status, Equals, webprogress.StatusInstalled)
171
172
        c.Check(snaps[0].InstalledSize, Equals, int64(30))
172
173
        c.Check(snaps[0].DownloadSize, Equals, int64(0))
173
174
 
174
 
        c.Check(snaps[1].Name, Equals, "app2.canonical")
 
175
        c.Check(snaps[1].Name, Equals, "app2")
 
176
        c.Check(snaps[1].Origin, Equals, "canonical")
175
177
        c.Check(snaps[1].Version, Equals, "2.0")
176
178
        c.Check(snaps[1].Status, Equals, webprogress.StatusInstalled)
177
179
        c.Check(snaps[1].InstalledSize, Equals, int64(30))
178
180
        c.Check(snaps[1].DownloadSize, Equals, int64(0))
179
181
 
180
 
        c.Check(snaps[2].Name, Equals, "app3.canonical")
 
182
        c.Check(snaps[2].Name, Equals, "app3")
 
183
        c.Check(snaps[0].Origin, Equals, "canonical")
181
184
        c.Check(snaps[2].Version, Equals, "3.0")
182
185
        c.Check(snaps[2].Status, Equals, webprogress.StatusInstalled)
183
186
        c.Check(snaps[2].InstalledSize, Equals, int64(30))
187
190
        snaps = mergeSnaps(installed, remotes, false)
188
191
 
189
192
        c.Assert(snaps, HasLen, 4)
190
 
        c.Check(snaps[0].Name, Equals, "app1.canonical")
 
193
        c.Check(snaps[0].Name, Equals, "app1")
 
194
        c.Check(snaps[0].Origin, Equals, "canonical")
191
195
        c.Check(snaps[0].Version, Equals, "1.0")
192
196
        c.Check(snaps[0].Status, Equals, webprogress.StatusInstalled)
193
197
        c.Check(snaps[0].InstalledSize, Equals, int64(30))
194
198
        c.Check(snaps[0].DownloadSize, Equals, int64(0))
195
199
 
196
 
        c.Check(snaps[1].Name, Equals, "app2.canonical")
 
200
        c.Check(snaps[1].Name, Equals, "app2")
 
201
        c.Check(snaps[1].Origin, Equals, "canonical")
197
202
        c.Check(snaps[1].Version, Equals, "2.0")
198
203
        c.Check(snaps[1].Status, Equals, webprogress.StatusInstalled)
199
204
        c.Check(snaps[1].InstalledSize, Equals, int64(30))
200
205
        c.Check(snaps[1].DownloadSize, Equals, int64(0))
201
206
 
202
 
        c.Check(snaps[2].Name, Equals, "app3.canonical")
 
207
        c.Check(snaps[2].Name, Equals, "app3")
 
208
        c.Check(snaps[2].Origin, Equals, "canonical")
203
209
        c.Check(snaps[2].Version, Equals, "3.0")
204
210
        c.Check(snaps[2].Status, Equals, webprogress.StatusInstalled)
205
211
        c.Check(snaps[2].InstalledSize, Equals, int64(30))
206
212
        c.Check(snaps[2].DownloadSize, Equals, int64(0))
207
213
 
208
 
        c.Check(snaps[3].Name, Equals, "app3.ubuntu")
 
214
        c.Check(snaps[3].Name, Equals, "app4")
 
215
        c.Check(snaps[3].Origin, Equals, "ubuntu")
209
216
        c.Check(snaps[3].Version, Equals, "3.0")
210
217
        c.Check(snaps[3].Status, Equals, webprogress.StatusUninstalled)
211
218
        c.Check(snaps[3].InstalledSize, Equals, int64(0))
216
223
        s.h.statusTracker.Add("app4.ubuntu", webprogress.OperationInstall)
217
224
 
218
225
        installed := []snapPkg{
219
 
                s.h.snapQueryToPayload(newFakePart("app1.canonical", "1.0", true)),
220
 
                s.h.snapQueryToPayload(newFakePart("app2.canonical", "2.0", true)),
221
 
                s.h.snapQueryToPayload(newFakePart("app3.canonical", "3.0", true)),
 
226
                s.h.snapQueryToPayload(newFakePart("app1", "canonical", "1.0", true)),
 
227
                s.h.snapQueryToPayload(newFakePart("app2", "canonical", "2.0", true)),
 
228
                s.h.snapQueryToPayload(newFakePart("app3", "canonical", "3.0", true)),
222
229
        }
223
230
 
224
231
        remotes := []snapPkg{
225
 
                s.h.snapQueryToPayload(newFakePart("app1.canonical", "1.0", false)),
226
 
                s.h.snapQueryToPayload(newFakePart("app4.ubuntu", "2.0", false)),
227
 
                s.h.snapQueryToPayload(newFakePart("app5.ubuntu", "3.0", false)),
 
232
                s.h.snapQueryToPayload(newFakePart("app1", "canonical", "1.0", false)),
 
233
                s.h.snapQueryToPayload(newFakePart("app4", "ubuntu", "2.0", false)),
 
234
                s.h.snapQueryToPayload(newFakePart("app5", "ubuntu", "3.0", false)),
228
235
        }
229
236
 
230
237
        // Installed and remotes
231
238
        snaps := mergeSnaps(installed, remotes, false)
232
239
 
233
240
        c.Assert(snaps, HasLen, 5)
234
 
        c.Check(snaps[0].Name, Equals, "app1.canonical")
 
241
        c.Check(snaps[0].Name, Equals, "app1")
235
242
        c.Check(snaps[0].Version, Equals, "1.0")
236
243
        c.Check(snaps[0].Status, Equals, webprogress.StatusInstalled)
237
244
 
238
 
        c.Check(snaps[1].Name, Equals, "app2.canonical")
 
245
        c.Check(snaps[1].Name, Equals, "app2")
239
246
        c.Check(snaps[1].Version, Equals, "2.0")
240
247
        c.Check(snaps[1].Status, Equals, webprogress.StatusInstalled)
241
248
 
242
 
        c.Check(snaps[2].Name, Equals, "app3.canonical")
 
249
        c.Check(snaps[2].Name, Equals, "app3")
243
250
        c.Check(snaps[2].Version, Equals, "3.0")
244
251
        c.Check(snaps[2].Status, Equals, webprogress.StatusInstalled)
245
252
 
246
 
        c.Check(snaps[3].Name, Equals, "app4.ubuntu")
 
253
        c.Check(snaps[3].Name, Equals, "app4")
247
254
        c.Check(snaps[3].Version, Equals, "2.0")
248
255
        c.Check(snaps[3].Status, Equals, webprogress.StatusInstalling)
249
256
        c.Check(snaps[3].InstalledSize, Equals, int64(0))
250
257
        c.Check(snaps[3].DownloadSize, Equals, int64(60))
251
258
 
252
 
        c.Check(snaps[4].Name, Equals, "app5.ubuntu")
 
259
        c.Check(snaps[4].Name, Equals, "app5")
253
260
        c.Check(snaps[4].Version, Equals, "3.0")
254
261
        c.Check(snaps[4].Status, Equals, webprogress.StatusUninstalled)
255
262
        c.Check(snaps[4].InstalledSize, Equals, int64(0))