@@ -2,7 +2,10 @@ import * as fs from "fs";
22import * as os from "os" ;
33import path from "path" ;
44
5+ import * as toolrunner from "@actions/exec/lib/toolrunner" ;
6+ import * as io from "@actions/io" ;
57import test , { ExecutionContext } from "ava" ;
8+ import sinon from "sinon" ;
69
710import { JavaEnvVars , KnownLanguage } from "../languages" ;
811import {
@@ -25,6 +28,15 @@ import {
2528
2629setupTests ( test ) ;
2730
31+ function stubToolrunner ( ) {
32+ sinon . stub ( io , "which" ) . throws ( new Error ( "Java not installed" ) ) ;
33+ sinon . stub ( toolrunner , "ToolRunner" ) . returns ( {
34+ exec : async ( ) => {
35+ return 0 ;
36+ } ,
37+ } ) ;
38+ }
39+
2840function assertEnvVarLogMessages (
2941 t : ExecutionContext < any > ,
3042 envVars : string [ ] ,
@@ -166,30 +178,36 @@ test("checkProxyEnvVars - credentials are removed from URLs", (t) => {
166178 ) ;
167179} ) ;
168180
169- test ( "checkProxyEnvironment - includes base checks for all known languages" , ( t ) => {
181+ test ( "checkProxyEnvironment - includes base checks for all known languages" , async ( t ) => {
182+ stubToolrunner ( ) ;
183+
170184 for ( const language of Object . values ( KnownLanguage ) ) {
171185 const messages : LoggedMessage [ ] = [ ] ;
172186 const logger = getRecordingLogger ( messages ) ;
173187
174- checkProxyEnvironment ( logger , language ) ;
188+ await checkProxyEnvironment ( logger , language ) ;
175189 assertEnvVarLogMessages ( t , Object . keys ( ProxyEnvVars ) , messages , false ) ;
176190 }
177191} ) ;
178192
179- test ( "checkProxyEnvironment - includes Java checks for Java" , ( t ) => {
193+ test ( "checkProxyEnvironment - includes Java checks for Java" , async ( t ) => {
180194 const messages : LoggedMessage [ ] = [ ] ;
181195 const logger = getRecordingLogger ( messages ) ;
182196
183- checkProxyEnvironment ( logger , KnownLanguage . java ) ;
197+ stubToolrunner ( ) ;
198+
199+ await checkProxyEnvironment ( logger , KnownLanguage . java ) ;
184200 assertEnvVarLogMessages ( t , Object . keys ( ProxyEnvVars ) , messages , false ) ;
185201 assertEnvVarLogMessages ( t , JAVA_PROXY_ENV_VARS , messages , false ) ;
186202} ) ;
187203
188- test ( "checkProxyEnvironment - includes language-specific checks if the language is undefined" , ( t ) => {
204+ test ( "checkProxyEnvironment - includes language-specific checks if the language is undefined" , async ( t ) => {
189205 const messages : LoggedMessage [ ] = [ ] ;
190206 const logger = getRecordingLogger ( messages ) ;
191207
192- checkProxyEnvironment ( logger , undefined ) ;
208+ stubToolrunner ( ) ;
209+
210+ await checkProxyEnvironment ( logger , undefined ) ;
193211 assertEnvVarLogMessages ( t , Object . keys ( ProxyEnvVars ) , messages , false ) ;
194212 assertEnvVarLogMessages ( t , JAVA_PROXY_ENV_VARS , messages , false ) ;
195213} ) ;
0 commit comments