Allow to use only GOCACHE for cache (#305)
This commit is contained in:
		
							parent
							
								
									bb5ff97ab9
								
							
						
					
					
						commit
						17106403fa
					
				| @ -93,6 +93,41 @@ describe('getCacheDirectoryPath', () => { | ||||
|       .then(data => expect(data).toEqual(expectedResult)); | ||||
|   }); | ||||
| 
 | ||||
|   it('should return path to the cache folder if one command return empty str', async () => { | ||||
|     //Arrange
 | ||||
|     getExecOutputSpy.mockImplementationOnce((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|         resolve({exitCode: 0, stdout: 'path/to/cache/folder', stderr: ''}); | ||||
|       }); | ||||
|     }); | ||||
| 
 | ||||
|     getExecOutputSpy.mockImplementationOnce((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|         resolve({exitCode: 0, stdout: '', stderr: ''}); | ||||
|       }); | ||||
|     }); | ||||
| 
 | ||||
|     const expectedResult = ['path/to/cache/folder']; | ||||
| 
 | ||||
|     //Act + Assert
 | ||||
|     return cacheUtils | ||||
|       .getCacheDirectoryPath(validPackageManager) | ||||
|       .then(data => expect(data).toEqual(expectedResult)); | ||||
|   }); | ||||
| 
 | ||||
|   it('should throw if the both commands return empty str', async () => { | ||||
|     getExecOutputSpy.mockImplementation((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|         resolve({exitCode: 10, stdout: '', stderr: ''}); | ||||
|       }); | ||||
|     }); | ||||
| 
 | ||||
|     //Act + Assert
 | ||||
|     expect(async () => { | ||||
|       await cacheUtils.getCacheDirectoryPath(validPackageManager); | ||||
|     }).rejects.toThrow(); | ||||
|   }); | ||||
| 
 | ||||
|   it('should throw if the specified package name is invalid', async () => { | ||||
|     getExecOutputSpy.mockImplementation((commandLine: string) => { | ||||
|       return new Promise<exec.ExecOutput>(resolve => { | ||||
|  | ||||
							
								
								
									
										5050
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5050
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5050
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5050
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -34,19 +34,19 @@ export const getPackageManagerInfo = async (packageManager: string) => { | ||||
| export const getCacheDirectoryPath = async ( | ||||
|   packageManagerInfo: PackageManagerInfo | ||||
| ) => { | ||||
|   let pathList = await Promise.all( | ||||
|   const pathList = await Promise.all( | ||||
|     packageManagerInfo.cacheFolderCommandList.map(command => | ||||
|       getCommandOutput(command) | ||||
|     ) | ||||
|   ); | ||||
| 
 | ||||
|   const emptyPaths = pathList.filter(item => !item); | ||||
|   const cachePaths = pathList.filter(item => item); | ||||
| 
 | ||||
|   if (emptyPaths.length) { | ||||
|   if (!cachePaths.length) { | ||||
|     throw new Error(`Could not get cache folder paths.`); | ||||
|   } | ||||
| 
 | ||||
|   return pathList; | ||||
|   return cachePaths; | ||||
| }; | ||||
| 
 | ||||
| export function isGhes(): boolean { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user