mirror of
				https://gitea.com/actions/setup-node.git
				synced 2025-10-29 15:52:42 +08:00 
			
		
		
		
	Add tests
This commit is contained in:
		
							
								
								
									
										21
									
								
								__tests__/__snapshots__/authutil.test.ts.snap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								__tests__/__snapshots__/authutil.test.ts.snap
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | // Jest Snapshot v1, https://goo.gl/fbAQLP | ||||||
|  |  | ||||||
|  | exports[`installer tests Appends trailing slash to registry 1`] = ` | ||||||
|  | "//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN} | ||||||
|  | registry=https://registry.npmjs.org/" | ||||||
|  | `; | ||||||
|  |  | ||||||
|  | exports[`installer tests Automatically configures GPR scope 1`] = ` | ||||||
|  | "npm.pkg.github.com/:_authToken=\${NODE_AUTH_TOKEN} | ||||||
|  | @owner:registry=npm.pkg.github.com/" | ||||||
|  | `; | ||||||
|  |  | ||||||
|  | exports[`installer tests Configures scoped npm registries 1`] = ` | ||||||
|  | "//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN} | ||||||
|  | @myScope:registry=https://registry.npmjs.org/" | ||||||
|  | `; | ||||||
|  |  | ||||||
|  | exports[`installer tests Sets up npmrc for npmjs 1`] = ` | ||||||
|  | "//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN} | ||||||
|  | registry=https://registry.npmjs.org/" | ||||||
|  | `; | ||||||
							
								
								
									
										62
									
								
								__tests__/authutil.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								__tests__/authutil.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | |||||||
|  | import io = require('@actions/io'); | ||||||
|  | import fs = require('fs'); | ||||||
|  | import path = require('path'); | ||||||
|  |  | ||||||
|  | const tempDir = path.join( | ||||||
|  |   __dirname, | ||||||
|  |   'runner', | ||||||
|  |   path.join( | ||||||
|  |     Math.random() | ||||||
|  |       .toString(36) | ||||||
|  |       .substring(7) | ||||||
|  |   ), | ||||||
|  |   'temp' | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | const rcFile = path.join(tempDir, '.npmrc'); | ||||||
|  |  | ||||||
|  | process.env['GITHUB_REPOSITORY'] = 'owner/repo'; | ||||||
|  | process.env['RUNNER_TEMP'] = tempDir; | ||||||
|  | import * as auth from '../src/authutil'; | ||||||
|  |  | ||||||
|  | describe('installer tests', () => { | ||||||
|  |   beforeAll(async () => { | ||||||
|  |     await io.rmRF(tempDir); | ||||||
|  |     await io.mkdirP(tempDir); | ||||||
|  |   }, 100000); | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     if (fs.existsSync(rcFile)) { | ||||||
|  |       fs.unlinkSync(rcFile); | ||||||
|  |     } | ||||||
|  |     process.env['INPUT_SCOPE'] = ''; | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('Sets up npmrc for npmjs', async () => { | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/'); | ||||||
|  |     expect(fs.existsSync(rcFile)).toBe(true); | ||||||
|  |     expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('Appends trailing slash to registry', async () => { | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org'); | ||||||
|  |  | ||||||
|  |     expect(fs.existsSync(rcFile)).toBe(true); | ||||||
|  |     expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('Configures scoped npm registries', async () => { | ||||||
|  |     process.env['INPUT_SCOPE'] = 'myScope'; | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org'); | ||||||
|  |  | ||||||
|  |     expect(fs.existsSync(rcFile)).toBe(true); | ||||||
|  |     expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot(); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('Automatically configures GPR scope', async () => { | ||||||
|  |     await auth.configAuthentication('npm.pkg.github.com'); | ||||||
|  |  | ||||||
|  |     expect(fs.existsSync(rcFile)).toBe(true); | ||||||
|  |     expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @@ -4,7 +4,7 @@ import os = require('os'); | |||||||
| import path = require('path'); | import path = require('path'); | ||||||
|  |  | ||||||
| const toolDir = path.join( | const toolDir = path.join( | ||||||
|   process.cwd(), |   __dirname, | ||||||
|   'runner', |   'runner', | ||||||
|   path.join( |   path.join( | ||||||
|     Math.random() |     Math.random() | ||||||
| @@ -14,7 +14,7 @@ const toolDir = path.join( | |||||||
|   'tools' |   'tools' | ||||||
| ); | ); | ||||||
| const tempDir = path.join( | const tempDir = path.join( | ||||||
|   process.cwd(), |   __dirname, | ||||||
|   'runner', |   'runner', | ||||||
|   path.join( |   path.join( | ||||||
|     Math.random() |     Math.random() | ||||||
| @@ -36,15 +36,6 @@ describe('installer tests', () => { | |||||||
|     await io.rmRF(tempDir); |     await io.rmRF(tempDir); | ||||||
|   }, 100000); |   }, 100000); | ||||||
|  |  | ||||||
|   afterAll(async () => { |  | ||||||
|     try { |  | ||||||
|       await io.rmRF(toolDir); |  | ||||||
|       await io.rmRF(tempDir); |  | ||||||
|     } catch { |  | ||||||
|       console.log('Failed to remove test directories'); |  | ||||||
|     } |  | ||||||
|   }, 100000); |  | ||||||
|  |  | ||||||
|   it('Acquires version of node if no matching version is installed', async () => { |   it('Acquires version of node if no matching version is installed', async () => { | ||||||
|     await installer.getNode('10.16.0'); |     await installer.getNode('10.16.0'); | ||||||
|     const nodeDir = path.join(toolDir, 'node', '10.16.0', os.arch()); |     const nodeDir = path.join(toolDir, 'node', '10.16.0', os.arch()); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user