daml/libs-scala/scalatest-utils/BUILD.bazel
Stephen Compall ddc4930f1a
explicit disclosure parameters for JSON API (#16529)
Adds a `disclosedContracts` optional list field to the `meta` argument
for `create`, `exercise` and `create-and-exercise` endpoints.

The argument is ignored in all cases but `exercise` (#16611 builds on
this PR to add `create-and-exercise` support). A single disclosed
contract looks more or less like follows:

    { 
      "contractId": "abcd", 
      "templateId": "Mod:Tmpl", 
      $argumentsJsonField, 
      "metadata": { 
        "createdAt": "2023-03-21T18:00:33.246813Z", 
        "contractKeyHash": "77656c6c2068656c6c6f", 
        "driverMetadata": "dGhlcmUgcmVhZGVy" 
      } 
    }

where `argumentsJsonField` may be either one of these, setting aside the
extra quotes added for these tests:

    "payload": {"owner": "Alice"}
    
    "payloadBlob": { 
      "typeUrl": "type.googleapis.com/com.daml.ledger.api.v1.Record", 
      "value": "Eg4KBW93bmVyEgVaA0JvYg==" 
    }

(Note that `typeUrl` is variable, not constant; use the actual blob's
`typeUrl` contents, **do not assume it is exactly the above example**.)

This PR uses base-64 for `payloadBlob.value` and
`metadata.driverMetadata`, and base-16 for `metadata.contractKeyHash`.
2023-03-30 20:41:36 +00:00

50 lines
1.4 KiB
Python

# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
load(
"//bazel_tools:scala.bzl",
"da_scala_library",
"da_scala_test",
"kind_projector_plugin",
"lf_scalacopts",
)
da_scala_library(
name = "scalatest-utils",
srcs = glob(["src/main/**/*.scala"]),
plugins = [
kind_projector_plugin,
],
scala_deps = [
"@maven//:org_scalacheck_scalacheck",
"@maven//:org_scalactic_scalactic",
"@maven//:org_scalatest_scalatest_core",
"@maven//:org_scalatest_scalatest_flatspec",
"@maven//:org_scalatest_scalatest_freespec",
"@maven//:org_scalatest_scalatest_matchers_core",
"@maven//:org_scalatest_scalatest_shouldmatchers",
"@maven//:org_scalatest_scalatest_wordspec",
"@maven//:org_scalatestplus_scalacheck_1_15",
"@maven//:org_scalaz_scalaz_core",
],
scalacopts = lf_scalacopts,
tags = ["maven_coordinates=com.daml:scalatest-utils:__VERSION__"],
visibility = ["//visibility:public"],
deps = [
"@maven//:org_scalatest_scalatest_compatible",
],
)
da_scala_test(
name = "test",
size = "small",
srcs = glob(["src/test/**/*.scala"]),
scala_deps = [
"@maven//:org_scalaz_scalaz_core",
],
scalacopts = lf_scalacopts,
deps = [
":scalatest-utils",
],
)