@@ -132,15 +132,69 @@ test.serial("Sapui5MavenSnapshotResolver: handleLibrary", async (t) => {
132
132
133
133
const resolver = new Sapui5MavenSnapshotResolver ( {
134
134
cwd : "/test-project/" ,
135
- version : "1.75.0"
135
+ version : "1.116.0-SNAPSHOT"
136
+ } ) ;
137
+
138
+ const loadDistMetadataStub = sinon . stub ( resolver , "loadDistMetadata" ) ;
139
+ loadDistMetadataStub . resolves ( {
140
+ libraries : {
141
+ "sap.ui.lib1" : {
142
+ "npmPackageName" : "@openui5/sap.ui.lib1" ,
143
+ "version" : "1.116.0-SNAPSHOT" ,
144
+ "dependencies" : [ ] ,
145
+ "optionalDependencies" : [ ] ,
146
+ "gav" : "x:y:z"
147
+ }
148
+ }
149
+ } ) ;
150
+
151
+ t . context . installPackageStub
152
+ . callsFake ( async ( { pkgName, version} ) => {
153
+ throw new Error ( `Unknown install call: ${ pkgName } @${ version } ` ) ;
154
+ } )
155
+ . withArgs ( {
156
+ pkgName : "@openui5/sap.ui.lib1-prebuilt" ,
157
+ groupId : "x" ,
158
+ artifactId : "y" ,
159
+ version : "1.116.0-SNAPSHOT" ,
160
+ classifier : "npm-dist" ,
161
+ extension : "zip" ,
162
+ } )
163
+ . resolves ( { pkgPath : "/foo/sap.ui.lib1" } ) ;
164
+
165
+
166
+ const promises = await resolver . handleLibrary ( "sap.ui.lib1" ) ;
167
+
168
+ t . true ( promises . metadata instanceof Promise , "Metadata promise should be returned" ) ;
169
+ t . true ( promises . install instanceof Promise , "Install promise should be returned" ) ;
170
+
171
+ const metadata = await promises . metadata ;
172
+ t . deepEqual ( metadata , {
173
+ "id" : "@openui5/sap.ui.lib1-prebuilt" ,
174
+ "version" : "1.116.0-SNAPSHOT" ,
175
+ "dependencies" : [ ] ,
176
+ "optionalDependencies" : [ ]
177
+ } , "Expected library metadata should be returned" ) ;
178
+
179
+ t . deepEqual ( await promises . install , { pkgPath : "/foo/sap.ui.lib1" } , "Install should resolve with expected object" ) ;
180
+ t . is ( loadDistMetadataStub . callCount , 1 , "loadDistMetadata should be called once" ) ;
181
+ } ) ;
182
+
183
+
184
+ test . serial ( "Sapui5MavenSnapshotResolver: handleLibrary - legacy version" , async ( t ) => {
185
+ const { Sapui5MavenSnapshotResolver} = t . context ;
186
+
187
+ const resolver = new Sapui5MavenSnapshotResolver ( {
188
+ cwd : "/test-project/" ,
189
+ version : "1.75.0-SNAPSHOT"
136
190
} ) ;
137
191
138
192
const loadDistMetadataStub = sinon . stub ( resolver , "loadDistMetadata" ) ;
139
193
loadDistMetadataStub . resolves ( {
140
194
libraries : {
141
195
"sap.ui.lib1" : {
142
196
"npmPackageName" : "@openui5/sap.ui.lib1" ,
143
- "version" : "1.75.0" ,
197
+ "version" : "1.75.0-SNAPSHOT " ,
144
198
"dependencies" : [ ] ,
145
199
"optionalDependencies" : [ ] ,
146
200
"gav" : "x:y:z"
@@ -156,7 +210,7 @@ test.serial("Sapui5MavenSnapshotResolver: handleLibrary", async (t) => {
156
210
pkgName : "@openui5/sap.ui.lib1-prebuilt" ,
157
211
groupId : "x" ,
158
212
artifactId : "y" ,
159
- version : "1.75.0" ,
213
+ version : "1.75.0-SNAPSHOT " ,
160
214
classifier : null ,
161
215
extension : "jar" ,
162
216
} )
@@ -171,7 +225,115 @@ test.serial("Sapui5MavenSnapshotResolver: handleLibrary", async (t) => {
171
225
const metadata = await promises . metadata ;
172
226
t . deepEqual ( metadata , {
173
227
"id" : "@openui5/sap.ui.lib1-prebuilt" ,
174
- "version" : "1.75.0" ,
228
+ "version" : "1.75.0-SNAPSHOT" ,
229
+ "dependencies" : [ ] ,
230
+ "optionalDependencies" : [ ]
231
+ } , "Expected library metadata should be returned" ) ;
232
+
233
+ t . deepEqual ( await promises . install , { pkgPath : "/foo/sap.ui.lib1" } , "Install should resolve with expected object" ) ;
234
+ t . is ( loadDistMetadataStub . callCount , 1 , "loadDistMetadata should be called once" ) ;
235
+ } ) ;
236
+
237
+ test . serial ( "Sapui5MavenSnapshotResolver: handleLibrary - sources requested" , async ( t ) => {
238
+ const { Sapui5MavenSnapshotResolver} = t . context ;
239
+
240
+ const resolver = new Sapui5MavenSnapshotResolver ( {
241
+ cwd : "/test-project/" ,
242
+ version : "1.116.0-SNAPSHOT" ,
243
+ sources : true
244
+ } ) ;
245
+
246
+ const loadDistMetadataStub = sinon . stub ( resolver , "loadDistMetadata" ) ;
247
+ loadDistMetadataStub . resolves ( {
248
+ libraries : {
249
+ "sap.ui.lib1" : {
250
+ "npmPackageName" : "@openui5/sap.ui.lib1" ,
251
+ "version" : "1.116.0-SNAPSHOT" ,
252
+ "dependencies" : [ ] ,
253
+ "optionalDependencies" : [ ] ,
254
+ "gav" : "x:y:z"
255
+ }
256
+ }
257
+ } ) ;
258
+
259
+ t . context . installPackageStub
260
+ . callsFake ( async ( { pkgName, version} ) => {
261
+ throw new Error ( `Unknown install call: ${ pkgName } @${ version } ` ) ;
262
+ } )
263
+ . withArgs ( {
264
+ pkgName : "@openui5/sap.ui.lib1" ,
265
+ groupId : "x" ,
266
+ artifactId : "y" ,
267
+ version : "1.116.0-SNAPSHOT" ,
268
+ classifier : "npm-sources" ,
269
+ extension : "zip" ,
270
+ } )
271
+ . resolves ( { pkgPath : "/foo/sap.ui.lib1" } ) ;
272
+
273
+
274
+ const promises = await resolver . handleLibrary ( "sap.ui.lib1" ) ;
275
+
276
+ t . true ( promises . metadata instanceof Promise , "Metadata promise should be returned" ) ;
277
+ t . true ( promises . install instanceof Promise , "Install promise should be returned" ) ;
278
+
279
+ const metadata = await promises . metadata ;
280
+ t . deepEqual ( metadata , {
281
+ "id" : "@openui5/sap.ui.lib1" ,
282
+ "version" : "1.116.0-SNAPSHOT" ,
283
+ "dependencies" : [ ] ,
284
+ "optionalDependencies" : [ ]
285
+ } , "Expected library metadata should be returned" ) ;
286
+
287
+ t . deepEqual ( await promises . install , { pkgPath : "/foo/sap.ui.lib1" } , "Install should resolve with expected object" ) ;
288
+ t . is ( loadDistMetadataStub . callCount , 1 , "loadDistMetadata should be called once" ) ;
289
+ } ) ;
290
+
291
+ test . serial ( "Sapui5MavenSnapshotResolver: handleLibrary - sources requested with legacy version" , async ( t ) => {
292
+ const { Sapui5MavenSnapshotResolver} = t . context ;
293
+
294
+ const resolver = new Sapui5MavenSnapshotResolver ( {
295
+ cwd : "/test-project/" ,
296
+ version : "1.75.0-SNAPSHOT" ,
297
+ sources : true
298
+ } ) ;
299
+
300
+ const loadDistMetadataStub = sinon . stub ( resolver , "loadDistMetadata" ) ;
301
+ loadDistMetadataStub . resolves ( {
302
+ libraries : {
303
+ "sap.ui.lib1" : {
304
+ "npmPackageName" : "@openui5/sap.ui.lib1" ,
305
+ "version" : "1.75.0-SNAPSHOT" ,
306
+ "dependencies" : [ ] ,
307
+ "optionalDependencies" : [ ] ,
308
+ "gav" : "x:y:z"
309
+ }
310
+ }
311
+ } ) ;
312
+
313
+ t . context . installPackageStub
314
+ . callsFake ( async ( { pkgName, version} ) => {
315
+ throw new Error ( `Unknown install call: ${ pkgName } @${ version } ` ) ;
316
+ } )
317
+ . withArgs ( {
318
+ pkgName : "@openui5/sap.ui.lib1" ,
319
+ groupId : "x" ,
320
+ artifactId : "y" ,
321
+ version : "1.75.0-SNAPSHOT" ,
322
+ classifier : "npm-sources" ,
323
+ extension : "zip" ,
324
+ } )
325
+ . resolves ( { pkgPath : "/foo/sap.ui.lib1" } ) ;
326
+
327
+
328
+ const promises = await resolver . handleLibrary ( "sap.ui.lib1" ) ;
329
+
330
+ t . true ( promises . metadata instanceof Promise , "Metadata promise should be returned" ) ;
331
+ t . true ( promises . install instanceof Promise , "Install promise should be returned" ) ;
332
+
333
+ const metadata = await promises . metadata ;
334
+ t . deepEqual ( metadata , {
335
+ "id" : "@openui5/sap.ui.lib1" ,
336
+ "version" : "1.75.0-SNAPSHOT" ,
175
337
"dependencies" : [ ] ,
176
338
"optionalDependencies" : [ ]
177
339
} , "Expected library metadata should be returned" ) ;
0 commit comments