daml/ledger-api
Stefano Baghino afa4659292
New Ledger API test tool (#2282)
* New acceptance test tool prototype

* Fix transaction filter helper

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r308081386

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r308082432

Moreover, creates specific helpers for test DAML code.

* Move helpers from session to context

Remove a circular dependency between session and context, and limits the
usage of implicits.

* Run tests with ledgers out of process

* Prepare for drop in

* Temporary timeout increase

* Move bulk of the logic to the test runner

* Have a map of tests for CLI integration

* Timeout per-test, runner uses context, renaming

* Allow usage of time service, integrate semantic tests

* Integrate CLI SSL configuration

* Integrate failure expectation CLI option

* Integrate with failure output verbosity CLI option

* Integrate with test listing and picking CLI options

* Integrate with timeout scaling CLI option

* Integrate with command TTL CLI option

* Review CODEOWNERS

* Drop previously unimplemented CLI parameters

* Expand test todo list to encompass latest additions

* Deduplicate some testing infrastructure, swap in new test tool

* Remove unused rule

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r311045444

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r311051974

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r311035287

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r311055290

* WIP

* Make gRPC thread factory spawn non-deamon threads

* Remove debug prints, complete divulgence test (missing assertion messages)

* Try to detect assertion failure line number

* Add Sandbox binary that starts an ephemeral postgres instance

This allows us to use the client_server_test bazel macro to run against
the sandbox backed by postgres.

Fixes #1543

* Add Sandbox binary that starts an ephemeral postgres instance

This allows us to use the client_server_test bazel macro to run against
the sandbox backed by postgres.

Fixes #1543

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r311400695

* Remove TlsConfiguration duplicate, move original to commons

* Make assertion more readable

Co-Authored-By: Gerolf Seitz <gerolf.seitz@digitalasset.com>

* Fix build errors introduced in previous commit

- exclude time service tests from reference-v2
- add copyright header to TlsConfiguration

* Complete divulgence test and address review comments

Restores comments from original divulgence tests and strives to be as
close to them as possible.

- Address https://github.com/digital-asset/daml/pull/2282#discussion_r311429169
- Address https://github.com/digital-asset/daml/pull/2282#discussion_r311431156
- Address https://github.com/digital-asset/daml/pull/2282#discussion_r311431913

* Delete old divulgence tests

* Restore methods to fetch contracts by template identifier

* Run conformance tests on in-memory sandbox

* Run conformance tests on the persistent sandbox

* Remove workflow identifier workaround

* New contract keys test (#2452)

* Set channel type for LedgerSession

* Add ContractKeysIT

* Run tests against reference-server v2

* Removed the old ContractKeysIT. However, ...

... I cannot remove ContractKeysChecks completely, because we have
another test path for DARs created prior to DAML-LF 1.6, which doesn't
have the submitter == maintainer restriction for contract keys.

* Use codegen instead of custom code

* Add missing copyright headers

* Drop sandbox conformance test suite (seems to not work on Windows CI)

* Make time simpler

* Test tool tests to run only semantic tests

* Make CI behave more consistently

* Add missing files to run tests on Postrgres

* Fix flaky divulgence test, introduce readable identifiers

* Increase sandbox conformance tests timeout

* Address https://github.com/digital-asset/daml/pull/2282#discussion_r312363246

* Reintroduce test resource extraction

* Read semantic tests from the classpath rather than Bazel

* Use codegen types for ContractKeys integration test

allocateParty returns Primitive.Party and create and exercise also
accept Primitive.Party. This way we don't have to keep a String and
Primitive.Party representation around.

* Bump timeout for sandbox conformance tests

* Remove dependency on Bazel runfiles
2019-08-09 17:00:37 +02:00
..
grpc-definitions Remove ExercisedEvent#contract_creating_event_id. (#2262) 2019-07-29 11:30:01 +02:00
perf-testing Enforce consistent formatting of BUILD files. (#412) 2019-04-12 13:10:16 +02:00
rs-grpc-akka Enforce consistent formatting of BUILD files. (#412) 2019-04-12 13:10:16 +02:00
rs-grpc-bridge Fixes 895: Improve DA Bazel rules for building javadocs. (#896) 2019-05-14 09:40:30 +02:00
sample-service Enforce consistent formatting of BUILD files. (#412) 2019-04-12 13:10:16 +02:00
scripts open-sourcing daml 2019-04-04 09:33:38 +01:00
testing-utils New Ledger API test tool (#2282) 2019-08-09 17:00:37 +02:00
.gitignore open-sourcing daml 2019-04-04 09:33:38 +01:00
.sbtopts open-sourcing daml 2019-04-04 09:33:38 +01:00
BUILD.bazel Enforce consistent formatting of BUILD files. (#412) 2019-04-12 13:10:16 +02:00
README.md correct broken ledger-api-introduction links (#1565) 2019-06-07 15:18:21 -04:00
UNRELEASED.md open-sourcing daml 2019-04-04 09:33:38 +01:00

Ledger-API

This is the API code for the ledger, which contains:

  • gRPC API definitions
  • Generated Scala bindings
  • gRPC-RS bridge
  • gRPC-Akka bridge
  • Server API classes with validation
  • Prototype Server
  • Prototype Clients
    • Scala
    • Python
    • Node.js
  • Integration tests for all of the above

Documentation

The Ledger API Introduction contains introductory material as well as links to the protodocs reference documentation.

See the docs README for more about how to preview and publish documentation.