@@ -11,6 +11,7 @@ import {
1111 JavaInstallerOptions ,
1212 JavaInstallerResults
1313} from '../../src/distributions/base-models' ;
14+ import fs from "fs" ;
1415
1516class EmptyJavaBase extends JavaBase {
1617 constructor ( installerOptions : JavaInstallerOptions ) {
@@ -349,3 +350,43 @@ describe('getToolcacheVersionName', () => {
349350 expect ( actual ) . toBe ( expected ) ;
350351 } ) ;
351352} ) ;
353+
354+ describe ( 'initCacerts' , ( ) => {
355+ const DummyJavaBase = JavaBase as any ;
356+
357+ let spyFsCopyFileSync : jest . SpyInstance ;
358+
359+ beforeEach ( ( ) => {
360+ spyFsCopyFileSync = jest . spyOn ( fs , 'copyFileSync' ) . mockImplementation ( ) ;
361+ } ) ;
362+
363+ afterEach ( ( ) => {
364+ jest . resetAllMocks ( ) ;
365+ jest . clearAllMocks ( ) ;
366+ jest . restoreAllMocks ( ) ;
367+ } ) ;
368+
369+ it ( 'should do nothing when not set' , ( ) => {
370+ const mockJavaBase = new EmptyJavaBase ( {
371+ version : '11' ,
372+ packageType : 'jdk' ,
373+ architecture : 'x64' ,
374+ checkLatest : false ,
375+ cacerts : '' ,
376+ } ) ;
377+ DummyJavaBase . prototype . initCacerts . call ( mockJavaBase , '/tmp/dummy_jdk' ) ;
378+ expect ( spyFsCopyFileSync ) . not . toHaveBeenCalled ( )
379+ } ) ;
380+
381+ it ( 'should copy cacerts file' , ( ) => {
382+ const mockJavaBase = new EmptyJavaBase ( {
383+ version : '11' ,
384+ packageType : 'jdk' ,
385+ architecture : 'x64' ,
386+ checkLatest : false ,
387+ cacerts : '/etc/ssl/certs/java/cacerts' ,
388+ } ) ;
389+ DummyJavaBase . prototype . initCacerts . call ( mockJavaBase , '/tmp/dummy_jdk' ) ;
390+ expect ( spyFsCopyFileSync ) . toHaveBeenCalledWith ( '/etc/ssl/certs/java/cacerts' , path . join ( '/tmp/dummy_jdk' , 'lib/security/cacerts' ) )
391+ } ) ;
392+ } ) ;
0 commit comments