Quickstart: running integration tests locally on Mac/Docker
See firecloud-automated-testing.
brew install chromedriver
Note: Leonardo integration tests are not currently web-based but may fail due to dependencies without chromedriver
Render configs:
./render-local-env.sh [branch of firecloud-automated-testing] [vault token] [env] [service root]
Arguments: (arguments are positional)
- branch of firecloud-automated-testing
- Configs branch; defaults to
master
- Configs branch; defaults to
- Vault auth token
- Defaults to reading it from the .vault-token via
$(cat ~/.vault-token)
.
- Defaults to reading it from the .vault-token via
- env
- Environment of your FiaB; defaults to
dev
- Environment of your FiaB; defaults to
- service root
- the name of your local clone of rawls if not
rawls
- the name of your local clone of rawls if not
Set LOCAL_UI=true
before calling render-local-env.sh
. When starting your UI, run:
FIAB=true ./config/docker-rsync-local-ui.sh
In IntelliJ, go to Run
> Edit Configurations...
, select ScalaTest
under Templates
, and make sure there is a Build
task configured to run before launch.
Now, simply open the test spec, right-click on the class name or a specific test string, and select Run
or Debug
as needed. A good one to start with is SnapshotAPISpec > should be able to contact Data Repo
to make sure your base configuration is correct. All test code lives in automation/src/test/scala
. FireCloud test suites can be found in automation/src/test/scala/org/broadinstitute/dsde/firecloud/test
.
In order to run the tests, you need to open the Automation folder as a separate IntelliJ project. (File -> Open -> select the automation
folder.)
To run all tests:
sbt test -l ExcludeInFiab
To run a single suite:
sbt "testOnly *GoogleSpec"
To run a single test within a suite:
# matches test via substring
sbt "testOnly *GoogleSpec -- -z \"have a search field\""
For more information see SBT's documentation.
To avoid the lengthy cycle of updating your fiab via fiab-stop and fiab-start, you can instead run the automation/hotswap.sh script from the repo's root folder.
If you see an error like this:
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- Then check to make sure that your test config does not include
enableSNIExtension
. This flag is no longer needed.
- Then check to make sure that your test config does not include