Commit Graph

38 Commits

Author SHA1 Message Date
Zach Bloomquist 85569fab04 Remove accidentally-pushed screenshots (#5636)
* remove accidentally added screenshots

* create driver gitignore
2019-11-07 14:08:23 -05:00
Chris Breiding 6ba8d7cc93 Electron v5.0.10 (#4720)
* fix specs

* use debugger protocol for cookie handling in electron

* use latest gulp

* use rimraf instead of gulp-clean

* use electron 3.1.8 and node 10.2.1

* use gulp 4 in packages/static

* fix sendCommandAsync, log Schema.getDomains on CDP connect

* autofill e2e test name [skip ci]

* electron@5.0.7, see what new failures exist

* --no-sandbox for launching Electron

* update cookies logic for electron

* node 12

* update snapshot for new node

* update error message for new node

* stub sendCommandAsync

* only connect to socket if path has been replaced, fixes #4776

* update node-sass to support node 12

* skip wacky socket tests for now

* snapshot

* fix run_plugins_spec snapshot, don't include stack trace

* use --no-sandbox on linux to run as root

* allow sendCommandAsync to resolve

* use euid for root check

* log domains even if undefined

* don't worry about ending 1xx responses immediately anymore

* use --max-http-header-size, change max size from 8kb to 1mb, fix #76

* do not send 502 on failed websocket, just send back ECONNRESET

* update websocket spec port to not collide with other test

* update outdated expect

* Revert "only connect to socket if path has been replaced, fixes #4776"

This reverts commit f179eda5ca.

* update gulp in root

* update https-proxy unit tests

* update network spec to properly close server

* update reporter spec

* update https-proxy-agent to fix node 10.10.0 change

discussion: https://github.com/nodejs/node/issues/24474\#issuecomment-511963799

* only pass --max-http-header-size on node >=12

* use own server-destroy implementation that supports secureConnect events

* oops

* update socket_spec

* electron 6.0.0

* console.table introduced in node 10

* change browserify entry to init.js

* handle edge case when no response body

* console.table added in node 10

* do not exit app when all BrowserWindows are closed

* update e2e snapshots

* value may not be null

* update plugins spec

* correct cookie expiry, use browser.getversion for CDP version check

* fix snapshotting for require stacks

* reorder cookies in spec

* warn when depreated electron callback apis are used

* only report 1 plugin error per process

* cleanup

* node 12.4.0, cypress/browsers:node12.4.0-chrome76 docker image

* update shell.openExternal to promisified

* update dialog.showOpenDialog to promisified

* update webContents.session.setProxy to promisified

* updating native dependencies since we don't need ancient node ABI support anymore

* WIP: switch cookies to simpler, jar-less approach

* WIP: switch cookies to simpler, jar-less approach

* making tests pass

* improve cookie filtering logic

* Remove unneeded Promise.try

* filter what makes it to the extension

* properly re-set superdomain cookies on cross-origin cy.visit

* allow comma-separated list of e2e tests

* sort cookies in order of expiration date, ascending

* updating tests, cleanup

* update tests

* version electron as a devDependency, electron@6.0.1

* cleanup, remove old automation

* cleanup, remove old automation

* bump chokidar to fix win10 + node12 issue

was seeing this on windows:
https://github.com/nuxt/nuxt.js/issues/6035

fixed with version bump

* enable now-supported quit role, re-enable old tests

* don't need that arg there

* remove last deprecated callback electron invocations

* Delete cypress.json

* responding to PR feedback

* cleanup

* invoke

* use 'quit' role

* Use new appMenu role for Cypress menu on mac

* electron@6.0.2

* electron@6.0.3

* remove domain: cookie.domain and see what happens

* remove setErrorHandler

* Revert "remove domain: cookie.domain and see what happens"

This reverts commit 49e916896d.

* add unit tests for cookies

* ci

* fix project-content css

* electron@6.0.4

* fix specs_list test

* electron@6.0.7

* some cleanup

* electron@6.0.9

* Update 8_reporters_spec.coffee.js

* electron@5.0.10 - Chromium 73, Node 12

* cli: fix the STDIN pipe on Windows (#5045)

* cli: pipe stdin

* uggh, here is the actual change

* update cli unit tests

* add unit test

* more permissive check for json to include application/vnd.api+j… (#5166)

* more permissive check for json to include

* add json test for content-type application/vnd.api+json

* cruder solution passes e2e tests locally, so let's go with that

* Remove 'charset' from content-type before checking if JSON

* fix eslint for fixture specs (#5176)

* update eslint to lint files within 'fixtures' in support files

- ignore some edge cases like jquery, jsx and obvious js files we wrote
with broken code

* Fixes from eslint to 'fixtures' files

* Catch env variable with reserved name CYPRESS_ENV 1621 (#1626)

* server: check CYPRESS_ENV variable when merging configs

* catch invalid CYPRESS_ENV value in CLI, close #1621

* linting

* sanitize platform in test snapshot

* linting

* update error message text

* add missing comma

* fix finally merge in JS code

* pass CLI linter

* fix log reference, should be debug

* use correct sinon reference

* update message, show first part in red

* update error message text

* Addresses #2953 (#5174)

* Addresses #2953

* Added proper test for new error message

* Didn't realize it ran this test as well, whoops

* Implementing changes as suggested by @jennifer-shehane

* Fixing tests and error output. Moved the checks to the start of the get command to ensure we always catch improper options

* Removing issue test since the querying spec covers it

* Using coffescript isArray check

* depromisify things that were promisified b/t electron 5 <=> 6

Revert "update shell.openExternal to promisified"

This reverts commit 8b6460d015.

Revert "update dialog.showOpenDialog to promisified"

This reverts commit 5f178b075b.

Revert "update webContents.session.setProxy to promisified"

This reverts commit 727df3a4e5.

* node12.4.0-chrome76 => node12.0.0-chrome75

* fix tests for electron downgrade

* node12.0.0-chrome75 => node12.0.0-chrome73


Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-09-24 14:35:24 -04:00
Brian Mann 680a2fccd2 gitignore packages/example/cypress (#4862)
- this prevents a situation where after running npm install and then
npm run build, the diff of cypress shows up as changes in git
2019-07-29 14:35:52 -04:00
Ben Kucera 48393bf128 Decaffeinate helper scripts (#4781)
* decaf script setup

* update gitignore

* fix conflicts, remove decaffeinate script hooks


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-07-23 14:49:36 -04:00
Ben Kucera fbd523615e [internal] Lint typescript, json, new eslint rules (#4449)
* temp 07/01/19 [skip ci] main lint files

* use lint-staged scripts

* fix all auto-fixable eslint errors

* manually fix lint issues in files

* temp 07/01/19 [skip ci]

* bump eslint plugin versions, update circle.yml

* [lint fix] remaining js files

* update vscode/settings.json

* add back stop-only

* use stop-only for linting .onlys

* fix verify_spec, build_spec

* update json plugin

* relint & apply corrections

* fix appveyor.yml not cleansing env vars (very bad)

* dont echo commit message in appveyor script

* retry build &

* re-add & upgrade lint-staged

* update contributing docs

* only let stop-only catch staged changes
2019-07-12 13:59:44 -04:00
Zach Bloomquist 9147e4f988 Fix sending forms with large request bodies (#4241)
* add e2e test for submitting forms over https on localhost

* add multipart/form-data test

* add multiparty to parse multipart/form-data streams

* test form submission with attachments

* add repro for #4253

* stream_buffer failing on large body size

* wip: stream buffer fixes

* add eslint + require spec helper

* always cleanup on error and on response

* WIP: continue refactoring stream buffer

- utilize ‘finish’ and ‘chunk’ events to know when to push into
internal readable buffer instead of using `readable.push(‘’)`
- recursively call readable.push(…) until it returns false
- add tests for recursive push calls
- add tests for ensuring readables don’t end until writeable buffer does

* fix remaining tests after stream buffer refactor

* use path.resolve not path.join for handling cy.readFile + cy.writeFile

* consolidate e2e form multipart tests with existing ones

- use env var for passing around path to large earth image
- dynamically fetch large earth.jpg img and gitignore it prior to
running tests
- finish tests + passing implementation

* reader() -> createReadStream()

* guard against reqBodyBuffer being null


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-05-22 04:19:14 -04:00
Gleb Bahmutov f81dc7a6b2 move 3rd party types to dev dependencies in CLI NPM package (#3425)
* wip: move lodash types to dev dependencies

* move blob-util types

* move types for minimatch

* do not lint types from minimatch

* move types sinon to dev dependencies

* move sinon-chai types to dev dependencies

* update tslint

* move types bluebird to dev dependencies

* move mocha types

* move jquery types to dev dependencies

* rename moment local wrapper

* move chai and chai-jquery

* refactor code for building CLI and dealing with folders

* linting

* include types subfolders

* replace types with relative paths

* transform sinon path to relative

* linting

* do not delete d.ts files

* linting

* chore: build npm package from this branch

* add minimatch relative reference

* work around minimatch

* set sinon to be relative load

* add readme to CLI

* linting readme
2019-03-05 12:49:42 -05:00
Jennifer Shehane d4965076e6 Support webcam/WebRTC testing (#3060)
* Add 'use-fake' flags to chrome

* Update README to properly link to files and packages mentioned.

* skip tests that actually do not run

* Add reference to where unit tests are

* Try to add a e2e webcam test

* Started writing tests for driver for webcams

- push args to Electron also

* remove cypress/videos from commit


Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2019-01-23 01:52:30 -05:00
Jennifer Shehane 66e2d28134 Do not require user gesture for audio and video that has autoplay set (#3022)
* No not require user gesture for audio and video that has autoplay set

- There is outdated documentation that claims only
`—no-user-gesture-required` is sufficient, but as of Chrome 66, the
autoplay policy requires flag
`--autoplay-policy=no-user-gesture-required`.
- Should avoid instances of errors “failed because the user didn't
interact with the document first”
- Close #2376
- Addresses #2188

* git ignore cypress/videos folder in driver

* Add test cases for video to ensure play doesn't throw in autoplay with new flags

* replace larger video with smaller mp4 (180kb)

- remove unecessary .then and .catch from within .then cypress command

* fix autoplay being commented out in electron

add comment to github issue in test
2019-01-22 20:57:48 -05:00
Zach Bloomquist a6ba60b266 Improve empty search results display (#3147)
* Make it clearer when search returns no results, add a button to clear search

* Add yarn.lock to gitignore

* it.doesn't.only

* Fix failing test

* Add times icon
2019-01-16 13:55:49 -05:00
Brian Mann 2333d04a54 secure cookie error crash (#2685)
- fixes #1264 
- fixes #1321 
- fixes #1799  
- fixes #2689
- fixes #2688
- fixes #2687 	
- fixes #2686
2018-11-01 12:34:37 -04:00
Ben Kucera 8a55864ae9 CLI caching (#1699)
* WIP [skip ci] tests passing -1

* WIP [skip ci] tests passing -1

* [WIP] [skip ci] more passing tests

* add run,open,verify cli tests

* fix package.json

* fix install_spec

* rename info_spec -> state_spec

* refactor cli options

* more useful logging

* change binary location, change folder name

* fix --binary-path arg

* update error message for cache

* lib/tasks/install.js changes

* add progress for direct unzip, prefer cache with override version with url/zip

* update cli logs

* prettier logs, remove arg

* fix failing test- stub os.release

* fix cli_spec snapshot, remove group and groupid args
2018-05-16 04:34:12 -04:00
Gleb Bahmutov 4b5722a75d use latest ci and commit objects in runs schema (#1633)
* use latest ci and commit objects in runs schema

* update runs tab to handle commit & ci data as object || null

- update tests to reflects changes

* desktop-gui schema commit

* update instance data to match schema

- group os and browser info into platform
- update osIcon lookup to ‘win32’ instead of ‘windows’
- add dep schema-tools
- write test for displaying platform info of a run
- rename ‘api_schemas’ test to ‘fixtures’

* remove unused util methods

* bump schema tests

* fixed err where length could be wrongly checked on type number

* bump schema / add osCpus + other missing keys

* bump schema - update assertSchema require statement.

* update desktop-gui runs to schema 2.0.0

* git ignore .history files (from local history plugin)

* update timers so they tick independently from each other timer

- add test to ensure timers are not singleton

* just check duration in order to display duration.

* ignore jsconfig.json within desktop-gui [skip ci]

* update runs to had duration / createdAt / completedAt

* add duration keys to runs.json

* bump schema

* remove calculated duration from model / this is now returned directly from API

* Fix env so that it is vertically centered in runs row

* Fix failing tests / fix cy chain formatting of project_nav_spec
2018-05-14 13:21:29 -04:00
Brian Mann 72cc5885a6 server: fixes #1334, tighten up security regexp, add 44 lib tests to ensure nothing is modified (#1337)
* server: fixes #1334, tighten up security regexp, add 44 lib tests to ensure nothing is modified

* server: fix failing test
2018-02-17 23:40:53 -05:00
Brian Mann 2f8da7a7f0 server: fix runaway regexp fails parsing a massive JS file (#1331)
* server: fix runaway regexp fails parsing a massive JS file

* server: fix linting errors, better debug logs

* server: lint fix again
2018-02-17 00:26:38 -05:00
Brian Mann 114e7fda6c root: move up one dir [skip ci] 2017-11-20 00:17:52 -05:00
Gleb Bahmutov 67bac0f369 delete binary-url.json file 2017-10-05 10:20:44 -04:00
Gleb Bahmutov 3b549aaa63 pass variables on Windows CI 2017-10-03 08:48:14 -07:00
Gleb Bahmutov a0c08bbdf3 Windows support (#484)
* try installing on Windows

* Handle windows setup

- no browser detection on windows yet, just placeholder code
- symlink types

* add appveyor file

* add appveyor windows build

* use execa to run server unit tests

* run server unit tests on appveyor

* ignore root install errors

* upgrade rebuild-node-sass

and work on Json unit test that fails on Windows

* print npm version

before installing, commented out caching node modules in the root

* a few small tweaks for windows support

* fix bin-up in launcher project

use bin-up@1.1.0 for windows support, close #491

* cli: build script on Windows, close #492

* cli: build errors are fatal

* use cross-env in extension

Fixes environment variables on Windows in #490

* extension: fix 3 tests on Windows

1 more broken test remaining

* extension: use EOL before comparing text

* example: update test for Windows

* example: replace build.sh with build.js

Close #488

* remove trailing whitespace

* cli: build script again

* server: work on unit tests for windows

* binary: add windows as build platform

* windows: try building binary

started work on building on CI for windows
2017-09-25 10:17:28 -04:00
Brian Mann a74429536a docs: remove docs from monorepo -> move to cypress-documentation 2017-09-06 01:25:14 -04:00
Brian Mann 2a399e3acb root: ignore cypress.zip 2017-08-31 22:27:48 -04:00
Chris Breiding 028bc42d53 server: ignore server/.projects 2017-07-07 14:58:25 -04:00
Gleb Bahmutov c7fafe2456 binary: move support folder into scripts/binary to avoid wide ignore 2017-06-30 14:06:27 -04:00
Brian Mann 6f8247866c root: cannot ignore support (valid files are in support) 2017-06-30 12:34:04 -04:00
Chris Breiding b796192858 Merge branch 'master' of github.com:cypress-io/cypress-monorepo 2017-06-27 09:55:23 -04:00
Gleb Bahmutov d9fc7f68a5 working on binary zip and unzip (#222)
* working on binary zip and unzip

* ignore support folder
2017-06-27 09:40:10 -04:00
Brian Mann fc57090b8d deploy: ignore build 2017-06-23 14:26:21 -04:00
Chris Breiding b6cb14cf22 server: ensure project path generated by tests is ignored 2017-06-23 09:40:00 -04:00
Gleb Bahmutov 59f9e894a7 deploy: list all dev dependencies 2017-06-19 15:46:37 -04:00
Gleb Bahmutov b331cb54f0 Issue 156 cli node 0.12 (#158)
* cli: set engines node > 0.12

* cli: trying to transpile using babel-register on the fly

* downgrading fs-extras to 1.0.0 to let it work on Node 0.12

* lint and enforce single quote on strings

* remove individual plugins

* cli: include dist folder in the npm package

* cli: add build step on prepublish, add readme

* cli: use default options, because code is transpiled

* cli: output into es5

* cli: see published size, a few missing requires

* cli: replace const with var in node 0.12

* cli: cache node_modules on CircleCI

* cli: back to use const that is not changed to let by eslint

* cli: build separate package for npm publishing

* remove postinstall step

* cli: remove npm vs dev install check
2017-06-19 12:14:06 -04:00
Brian Mann 42fa71509f docs: gitignore explicit docs/support 2017-06-12 11:04:12 -04:00
Brian Mann f6aa6a5094 docs: ignore support folders 2017-06-10 17:22:30 -04:00
Gleb Bahmutov e8d6ba6fa0 all: remove individual .gitignore files (#133)
* all: remove individual .gitignore files

* remove .gitignore from docs folder
2017-06-05 17:15:35 -04:00
Gleb Bahmutov 92f0cae349 bundles are saved and served from subfolders 2017-06-01 13:33:27 -04:00
Chris Breidng 890742c6ac WIP get driver tests running and passing 2017-04-25 16:49:03 -04:00
Chris Breiding 4816f27420 ignore timestamp appended logs 2016-10-20 16:21:12 -04:00
Chris Breiding 1e5439bd23 add to gitignore 2016-10-05 13:36:48 -04:00
Brian Mann c4ba9a2b5b WIP experimental monorepo 2016-09-27 10:21:09 -04:00