mirror of
				https://github.com/actions/setup-node.git
				synced 2025-10-31 23:43:33 +00:00 
			
		
		
		
	test: add arch tests
Co-Authored-By: Tyler Ang-Wanek <tylerw@axosoft.com> feat: add nock Co-Authored-By: Tyler Ang-Wanek <tylerw@axosoft.com>
This commit is contained in:
		
							parent
							
								
									66f3e9f7ce
								
							
						
					
					
						commit
						7a3669aa8a
					
				
							
								
								
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-linux-x64.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-linux-x64.tar.gz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-linux-x86.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-linux-x86.tar.gz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-win-x64.7z
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-win-x64.7z
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-win-x86.7z
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								__tests__/__fixtures__/mock-node-v12.18.3-win-x86.7z
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -9,6 +9,7 @@ import * as main from '../src/main'; | ||||
| import * as im from '../src/installer'; | ||||
| import * as auth from '../src/authutil'; | ||||
| import {context} from '@actions/github'; | ||||
| import nock = require('nock'); | ||||
| 
 | ||||
| let nodeTestManifest = require('./data/versions-manifest.json'); | ||||
| let nodeTestDist = require('./data/node-dist-index.json'); | ||||
| @ -337,6 +338,52 @@ describe('setup-node', () => { | ||||
|     expect(cnSpy).toHaveBeenCalledWith(`::error::${errMsg}${osm.EOL}`); | ||||
|   }); | ||||
| 
 | ||||
|   it('Acquires specified x64 or x86 version of node if no matching version is installed', async () => { | ||||
|     const toolDir = path.join( | ||||
|       __dirname, | ||||
|       'runner', | ||||
|       path.join( | ||||
|         Math.random() | ||||
|           .toString(36) | ||||
|           .substring(7) | ||||
|       ), | ||||
|       'tools' | ||||
|     ); | ||||
| 
 | ||||
|     os.platform = process.platform; | ||||
|     const IS_WINDOWS = os.platform === 'win32'; | ||||
|     for (const {arch, version} of [ | ||||
|       {arch: 'x64', version: '12.18.3'}, | ||||
|       {arch: 'x86', version: '12.18.3'} | ||||
|     ]) { | ||||
|       nock.cleanAll(); | ||||
|       const fileExtension = IS_WINDOWS ? '7z' : 'tar.gz'; | ||||
|       const platform = { | ||||
|         linux: 'linux', | ||||
|         darwin: 'darwin', | ||||
|         win32: 'win' | ||||
|       }[process.platform]; | ||||
|       const fileName = `node-v${version}-${platform}-${arch}.${fileExtension}`; | ||||
|       const pathOnNodeJs = `/dist/v${version}/${fileName}`; | ||||
|       const scope = nock('nodejs.org') | ||||
|         .get(pathOnNodeJs) | ||||
|         .replyWithFile( | ||||
|           200, | ||||
|           path.join(__dirname, '__fixtures__', `mock-${fileName}`) | ||||
|         ); | ||||
|       await im.getNode(version, true, true, undefined, arch); | ||||
|       const nodeDir = path.join(toolDir, 'node', version, arch); | ||||
| 
 | ||||
|       expect(scope.isDone()).toBe(true); | ||||
|       expect(fs.existsSync(`${nodeDir}.complete`)).toBe(true); | ||||
|       if (IS_WINDOWS) { | ||||
|         expect(fs.existsSync(path.join(nodeDir, 'node.exe'))).toBe(true); | ||||
|       } else { | ||||
|         expect(fs.existsSync(path.join(nodeDir, 'bin', 'node'))).toBe(true); | ||||
|       } | ||||
|     } | ||||
|   }, 100000); | ||||
| 
 | ||||
|   describe('check-latest flag', () => { | ||||
|     it('use local version and dont check manifest if check-latest is not specified', async () => { | ||||
|       os.platform = 'linux'; | ||||
|  | ||||
							
								
								
									
										35
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										35
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -6577,6 +6577,35 @@ | ||||
|       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | ||||
|       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" | ||||
|     }, | ||||
|     "nock": { | ||||
|       "version": "13.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.4.tgz", | ||||
|       "integrity": "sha512-alqTV8Qt7TUbc74x1pKRLSENzfjp4nywovcJgi/1aXDiUxXdt7TkruSTF5MDWPP7UoPVgea4F9ghVdmX0xxnSA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "debug": "^4.1.0", | ||||
|         "json-stringify-safe": "^5.0.1", | ||||
|         "lodash.set": "^4.3.2", | ||||
|         "propagate": "^2.0.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "debug": { | ||||
|           "version": "4.1.1", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", | ||||
|           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "^2.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "ms": { | ||||
|           "version": "2.1.2", | ||||
|           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||||
|           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | ||||
|           "dev": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "node-fetch": { | ||||
|       "version": "2.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", | ||||
| @ -6945,6 +6974,12 @@ | ||||
|         "sisteransi": "^1.0.4" | ||||
|       } | ||||
|     }, | ||||
|     "propagate": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", | ||||
|       "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "psl": { | ||||
|       "version": "1.8.0", | ||||
|       "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", | ||||
|  | ||||
| @ -38,6 +38,7 @@ | ||||
|     "@zeit/ncc": "^0.21.0", | ||||
|     "jest": "^24.9.0", | ||||
|     "jest-circus": "^24.7.1", | ||||
|     "nock": "^13.0.4", | ||||
|     "prettier": "^1.19.1", | ||||
|     "ts-jest": "^24.3.0", | ||||
|     "typescript": "^3.8.3" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user