enso/test/Base_Tests
Radosław Waśko 6e5b4d93a3
Implement refreshing the Cloud token in Enso libraries (#9390)
- Closes #9300
- Now the Enso libraries are themselves capable of refreshing the access token, thus there is no more problems if the token expires during a long running workflow.
- Adds `get_optional_field` sibling to `get_required_field` for more unified parsing of JSON responses from the Cloud.
- Adds `expected_type` that checks the type of extracted fields. This way, if the response is malformed we get a nice Enso Cloud error telling us what is wrong with the payload instead of a `Type_Error` later down the line.
- Fixes `Test.expect_panic_with` to actually catch only panics. Before it used to also handle dataflow errors - but these have `.should_fail_with` instead. We should distinguish these scenarios.
2024-03-19 19:26:34 +00:00
..
data Add xml.write tests and .write to XML_Element (#9332) 2024-03-11 16:26:06 +00:00
polyglot-sources/enso-test-java-helpers/src/main/java/org/enso Reproduce Float-passing problem (#9201) 2024-03-14 19:35:18 +00:00
src Implement refreshing the Cloud token in Enso libraries (#9390) 2024-03-19 19:26:34 +00:00
package.yaml Rename Tests to Base_Tests to be more descriptive (#8781) 2024-01-17 16:19:19 +01:00
README.md Rename Tests to Base_Tests to be more descriptive (#8781) 2024-01-17 16:19:19 +01:00

This is a set of tests for the Base library for Enso.

HTTP tests

The run test suite for the HTTP component requires an active helper server on the localhost. If it is present, the port it listens to should be provided by setting the ENSO_HTTP_TEST_HTTPBIN_URL environment variable to a value like http://localhost:8080. The URL may contain a trailing slash.

To run the test server, you may use the following command:

sbt 'http-test-helper/run localhost 8080'

You can stop the server via Ctrl-C.

See the server's documentation for more information.

Cloud tests

By default, a subset of cloud tests runs whenever the ENSO_HTTP_TEST_HTTPBIN_URL environment variable is set, using a mock of parts of the cloud logic running on the helper server.

To run a full set of cloud tests against a real deployment, you need to set the following 3 environment variables:

  • ENSO_CLOUD_API_URI to point to the root of the cloud API,
  • ENSO_CLOUD_CREDENTIALS_FILE to be a path to a file containing the credentials to use, e.g. ~/.enso/credentials,
  • ENSO_RUN_REAL_CLOUD_TEST=1 to tell the test suite to run against a real cloud deployment.

Note that some cloud tests (e.g. testing secrets in HTTP requests) still require the ENSO_HTTP_TEST_HTTPBIN_URL setup, even if running against a real cloud deployment.