mirror of
				https://gitea.com/actions/setup-node.git
				synced 2025-10-29 15:52:42 +08:00 
			
		
		
		
	Add unit tests
This commit is contained in:
		| @@ -123,6 +123,7 @@ describe('authutil tests', () => { | |||||||
|     expect(rc['registry']).toBe('https://registry.npmjs.org/'); |     expect(rc['registry']).toBe('https://registry.npmjs.org/'); | ||||||
|     expect(rc['always-auth']).toBe('true'); |     expect(rc['always-auth']).toBe('true'); | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|   it('It is already set the NODE_AUTH_TOKEN export it ', async () => { |   it('It is already set the NODE_AUTH_TOKEN export it ', async () => { | ||||||
|     process.env.NODE_AUTH_TOKEN = 'foobar'; |     process.env.NODE_AUTH_TOKEN = 'foobar'; | ||||||
|     await auth.configAuthentication('npm.pkg.github.com', 'false'); |     await auth.configAuthentication('npm.pkg.github.com', 'false'); | ||||||
| @@ -132,4 +133,84 @@ describe('authutil tests', () => { | |||||||
|     expect(rc['always-auth']).toBe('false'); |     expect(rc['always-auth']).toBe('false'); | ||||||
|     expect(process.env.NODE_AUTH_TOKEN).toEqual('foobar'); |     expect(process.env.NODE_AUTH_TOKEN).toEqual('foobar'); | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should overwrite non-scoped with non-scoped', async () => { | ||||||
|  |     fs.writeFileSync(rcFile, 'registry=NNN'); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should overwrite only non-scoped', async () => { | ||||||
|  |     fs.writeFileSync(rcFile, `registry=NNN${os.EOL}@myscope:registry=MMM`); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `@myscope:registry=MMM${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should add non-scoped to scoped', async () => { | ||||||
|  |     fs.writeFileSync(rcFile, '@myscope:registry=NNN'); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `@myscope:registry=NNN${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should overwrite scoped with scoped', async () => { | ||||||
|  |     process.env['INPUT_SCOPE'] = 'myscope'; | ||||||
|  |     fs.writeFileSync(rcFile, `@myscope:registry=NNN`); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}@myscope:registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should overwrite only scoped', async () => { | ||||||
|  |     process.env['INPUT_SCOPE'] = 'myscope'; | ||||||
|  |     fs.writeFileSync(rcFile, `registry=NNN${os.EOL}@myscope:registry=MMM`); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `registry=NNN${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}@myscope:registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should add scoped to non-scoped', async () => { | ||||||
|  |     process.env['INPUT_SCOPE'] = 'myscope'; | ||||||
|  |     fs.writeFileSync(rcFile, `registry=MMM`); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `registry=MMM${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}@myscope:registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should overwrite only one scoped', async () => { | ||||||
|  |     process.env['INPUT_SCOPE'] = 'myscope'; | ||||||
|  |     fs.writeFileSync( | ||||||
|  |       rcFile, | ||||||
|  |       `@otherscope:registry=NNN${os.EOL}@myscope:registry=MMM` | ||||||
|  |     ); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `@otherscope:registry=NNN${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}@myscope:registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('configAuthentication should add scoped to another scoped', async () => { | ||||||
|  |     process.env['INPUT_SCOPE'] = 'myscope'; | ||||||
|  |     fs.writeFileSync(rcFile, `@otherscope:registry=MMM`); | ||||||
|  |     await auth.configAuthentication('https://registry.npmjs.org/', 'true'); | ||||||
|  |     let contents = fs.readFileSync(rcFile, {encoding: 'utf8'}); | ||||||
|  |     expect(contents).toBe( | ||||||
|  |       `@otherscope:registry=MMM${os.EOL}//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}${os.EOL}@myscope:registry=https://registry.npmjs.org/${os.EOL}always-auth=true` | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
| }); | }); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user