diff --git a/cli/__snapshots__/download_spec.js b/cli/__snapshots__/download_spec.js index eb89d7910848..847a98dda18b 100644 --- a/cli/__snapshots__/download_spec.js +++ b/cli/__snapshots__/download_spec.js @@ -40,3 +40,7 @@ https://download.cypress.io/desktop?platform=OS&arch=ARCH exports['specific version desktop url 1'] = ` https://download.cypress.io/desktop/0.20.2?platform=OS&arch=ARCH ` + +exports['desktop url with path params'] = ` +https://download.cypress.io/desktop/0.20.2/OS-ARCH/cypress.zip +` diff --git a/cli/lib/tasks/download.js b/cli/lib/tasks/download.js index c7d60f9931ba..4c41a3ae312d 100644 --- a/cli/lib/tasks/download.js +++ b/cli/lib/tasks/download.js @@ -63,8 +63,9 @@ const getCA = () => { const prepend = (urlPath) => { const endpoint = url.resolve(getBaseUrl(), urlPath) const platform = os.platform() + const pathParams = util.getEnv('CYPRESS_DOWNLOAD_PATH_PARAMS') - return `${endpoint}?platform=${platform}&arch=${arch()}` + return pathParams ? `${endpoint}/${platform}-${arch()}/cypress.zip` : `${endpoint}?platform=${platform}&arch=${arch()}`; } const getUrl = (version) => { diff --git a/cli/test/lib/tasks/download_spec.js b/cli/test/lib/tasks/download_spec.js index 02d1c9aac015..965742abd191 100644 --- a/cli/test/lib/tasks/download_spec.js +++ b/cli/test/lib/tasks/download_spec.js @@ -65,6 +65,13 @@ describe('lib/tasks/download', function () { snapshot('specific version desktop url 1', normalize(url)) }) + it('returns url with path params', () => { + process.env.CYPRESS_DOWNLOAD_PATH_PARAMS = 'true' + const url = download.getUrl('0.20.2') + + snapshot('desktop url with path params', normalize(url)) + }) + it('returns input if it is already an https link', () => { const url = 'https://somewhere.com' const result = download.getUrl(url)