@@ -27,6 +27,11 @@ describe('findPackageForDownload', () => {
2727 '20' ,
2828 'https://download.oracle.com/java/20/latest/jdk-20_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
2929 ] ,
30+ [
31+ '18' ,
32+ '18' ,
33+ 'https://download.oracle.com/java/18/archive/jdk-18_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
34+ ] ,
3035 [
3136 '20.0.1' ,
3237 '20.0.1' ,
@@ -43,7 +48,7 @@ describe('findPackageForDownload', () => {
4348 'https://download.oracle.com/java/17/archive/jdk-17.0.1_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
4449 ]
4550 ] ) ( 'version is %s -> %s' , async ( input , expectedVersion , expectedUrl ) => {
46- /* Needed only for this particular test because /latest/ urls tend to change */
51+ /* Needed only for this particular test because some urls might change */
4752 spyHttpClient = jest . spyOn ( HttpClient . prototype , 'head' ) ;
4853 spyHttpClient . mockReturnValue (
4954 Promise . resolve ( {
@@ -53,6 +58,19 @@ describe('findPackageForDownload', () => {
5358 } )
5459 ) ;
5560
61+ /**
62+ * NOTE - Should fail to retrieve 18 from latest and check archive instead
63+ */
64+ if ( input === '18' ) {
65+ spyHttpClient . mockReturnValueOnce (
66+ Promise . resolve ( {
67+ message : {
68+ statusCode : 404
69+ }
70+ } )
71+ ) ;
72+ }
73+
5674 const result = await distribution [ 'findPackageForDownload' ] ( input ) ;
5775
5876 jest . restoreAllMocks ( ) ;
@@ -75,7 +93,7 @@ describe('findPackageForDownload', () => {
7593 jest . spyOn ( os , 'arch' ) . mockReturnValue ( osArch ) ;
7694 jest . spyOn ( os , 'platform' ) . mockReturnValue ( 'linux' ) ;
7795
78- const version = '17 ' ;
96+ const version = '18 ' ;
7997 const distro = new OracleDistribution ( {
8098 version,
8199 architecture : '' , // to get default value
@@ -89,7 +107,7 @@ describe('findPackageForDownload', () => {
89107 }
90108 const archiveType = getDownloadArchiveExtension ( ) ;
91109 const result = await distro [ 'findPackageForDownload' ] ( version ) ;
92- const expectedUrl = `https://download.oracle.com/java/17/latest /jdk-17_ ${ osType } -${ distroArch } _bin.${ archiveType } ` ;
110+ const expectedUrl = `https://download.oracle.com/java/18/archive /jdk-18_ ${ osType } -${ distroArch } _bin.${ archiveType } ` ;
93111
94112 expect ( result . url ) . toBe ( expectedUrl ) ;
95113 }
@@ -102,8 +120,5 @@ describe('findPackageForDownload', () => {
102120 await expect ( distribution [ 'findPackageForDownload' ] ( '11' ) ) . rejects . toThrow (
103121 / O r a c l e J D K i s o n l y s u p p o r t e d f o r J D K 1 7 a n d l a t e r /
104122 ) ;
105- await expect ( distribution [ 'findPackageForDownload' ] ( '18' ) ) . rejects . toThrow (
106- / C o u l d n o t f i n d O r a c l e J D K f o r S e m V e r * /
107- ) ;
108123 } ) ;
109124} ) ;
0 commit comments