Skip to content

Latest commit

 

History

History
85 lines (54 loc) · 2.73 KB

README.md

File metadata and controls

85 lines (54 loc) · 2.73 KB

Quickstart: running integration tests locally on Mac/Docker

Running in docker

See firecloud-automated-testing.

Running directly (with real chrome)

Set Up

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
  • Vault auth token
    • Defaults to reading it from the .vault-token via $(cat ~/.vault-token).
  • env
    • Environment of your FiaB; defaults to dev
  • service root
    • the name of your local clone of rawls if not rawls
Using a local UI

Set LOCAL_UI=true before calling render-local-env.sh. When starting your UI, run:

FIAB=true ./config/docker-rsync-local-ui.sh

Run tests

From IntelliJ

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.)

From the command line

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.

Hotswapping Rawls jar in your fiab

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.

Troubleshooting

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.