Revise isGhes logic (#963)
				
					
				
			* Revise `isGhes` logic * ran `npm run format` * add unit test * ran `npm run format`
This commit is contained in:
		
							parent
							
								
									19dfb7b659
								
							
						
					
					
						commit
						f4c5a1183d
					
				| @ -13,6 +13,7 @@ import { | |||||||
|   getVersionInputFromPlainFile, |   getVersionInputFromPlainFile, | ||||||
|   getVersionInputFromTomlFile, |   getVersionInputFromTomlFile, | ||||||
|   getNextPageUrl, |   getNextPageUrl, | ||||||
|  |   isGhes, | ||||||
|   IS_WINDOWS, |   IS_WINDOWS, | ||||||
|   getDownloadFileName |   getDownloadFileName | ||||||
| } from '../src/utils'; | } from '../src/utils'; | ||||||
| @ -195,3 +196,41 @@ describe('getDownloadFileName', () => { | |||||||
|     } |     } | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  | 
 | ||||||
|  | describe('isGhes', () => { | ||||||
|  |   const pristineEnv = process.env; | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     jest.resetModules(); | ||||||
|  |     process.env = {...pristineEnv}; | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   afterAll(() => { | ||||||
|  |     process.env = pristineEnv; | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is not defined', async () => { | ||||||
|  |     delete process.env['GITHUB_SERVER_URL']; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is set to github.com', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://contoso.ghe.com'; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://mock-github.localhost'; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns true when the GITHUB_SERVER_URL environment variable is set to some other URL', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://src.onpremise.fabrikam.com'; | ||||||
|  |     expect(isGhes()).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -92017,7 +92017,11 @@ function validatePythonVersionFormatForPyPy(version) { | |||||||
| exports.validatePythonVersionFormatForPyPy = validatePythonVersionFormatForPyPy; | exports.validatePythonVersionFormatForPyPy = validatePythonVersionFormatForPyPy; | ||||||
| function isGhes() { | function isGhes() { | ||||||
|     const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com'); |     const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com'); | ||||||
|     return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM'; |     const hostname = ghUrl.hostname.trimEnd().toUpperCase(); | ||||||
|  |     const isGitHubHost = hostname === 'GITHUB.COM'; | ||||||
|  |     const isGitHubEnterpriseCloudHost = hostname.endsWith('.GHE.COM'); | ||||||
|  |     const isLocalHost = hostname.endsWith('.LOCALHOST'); | ||||||
|  |     return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost; | ||||||
| } | } | ||||||
| exports.isGhes = isGhes; | exports.isGhes = isGhes; | ||||||
| function isCacheFeatureAvailable() { | function isCacheFeatureAvailable() { | ||||||
|  | |||||||
| @ -116,7 +116,13 @@ export function isGhes(): boolean { | |||||||
|   const ghUrl = new URL( |   const ghUrl = new URL( | ||||||
|     process.env['GITHUB_SERVER_URL'] || 'https://github.com' |     process.env['GITHUB_SERVER_URL'] || 'https://github.com' | ||||||
|   ); |   ); | ||||||
|   return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM'; | 
 | ||||||
|  |   const hostname = ghUrl.hostname.trimEnd().toUpperCase(); | ||||||
|  |   const isGitHubHost = hostname === 'GITHUB.COM'; | ||||||
|  |   const isGitHubEnterpriseCloudHost = hostname.endsWith('.GHE.COM'); | ||||||
|  |   const isLocalHost = hostname.endsWith('.LOCALHOST'); | ||||||
|  | 
 | ||||||
|  |   return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function isCacheFeatureAvailable(): boolean { | export function isCacheFeatureAvailable(): boolean { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user