mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
7270ee3c71
* Do not require redirect URI upfront changelog_begin changelog_end This allows users to configure the redirect URI after the middleware client binding occurred such that dynamic port selection can be taken into account. * Use port 0 in trigger service fixture changelog_begin changelog_end * Update triggers/service/auth/src/test/scala/com/daml/auth/middleware/oauth2/TestMiddleware.scala Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com> * Update triggers/service/auth/src/test/scala/com/daml/auth/middleware/oauth2/TestMiddleware.scala Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com> * Update triggers/service/auth/src/test/scala/com/daml/auth/middleware/oauth2/TestMiddleware.scala Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com> * Update triggers/service/auth/src/test/scala/com/daml/auth/middleware/oauth2/TestMiddleware.scala Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com> * Update triggers/service/auth/src/test/scala/com/daml/auth/middleware/oauth2/TestMiddleware.scala Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com> Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io> Co-authored-by: Stefano Baghino <43749967+stefanobaghino-da@users.noreply.github.com>
318 lines
11 KiB
Python
318 lines
11 KiB
Python
# Copyright (c) 2021 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
load("@oracle//:index.bzl", "oracle_testing")
|
|
load("@build_environment//:configuration.bzl", "sdk_version")
|
|
load("@os_info//:os_info.bzl", "is_windows")
|
|
load(
|
|
"//bazel_tools:scala.bzl",
|
|
"da_scala_binary",
|
|
"da_scala_library",
|
|
"da_scala_test",
|
|
"da_scala_test_suite",
|
|
)
|
|
|
|
triggerMain = "src/main/scala/com/digitalasset/daml/lf/engine/trigger/ServiceMain.scala"
|
|
|
|
da_scala_library(
|
|
name = "trigger-service",
|
|
srcs = glob(
|
|
["src/main/scala/**/*.scala"],
|
|
exclude = [triggerMain],
|
|
),
|
|
resources = glob(["src/main/resources/**/*"]),
|
|
scala_deps = [
|
|
"@maven//:com_chuusai_shapeless",
|
|
"@maven//:com_github_scopt_scopt",
|
|
"@maven//:com_typesafe_akka_akka_actor",
|
|
"@maven//:com_typesafe_akka_akka_actor_typed",
|
|
"@maven//:com_typesafe_akka_akka_http",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:com_typesafe_akka_akka_http_spray_json",
|
|
"@maven//:com_typesafe_akka_akka_parsing",
|
|
"@maven//:com_typesafe_akka_akka_stream",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging",
|
|
"@maven//:io_spray_spray_json",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
"@maven//:org_tpolecat_doobie_core",
|
|
"@maven//:org_tpolecat_doobie_free",
|
|
"@maven//:org_tpolecat_doobie_postgres",
|
|
"@maven//:org_typelevel_cats_core",
|
|
"@maven//:org_typelevel_cats_effect",
|
|
"@maven//:org_typelevel_cats_free",
|
|
"@maven//:org_typelevel_cats_kernel",
|
|
],
|
|
scala_runtime_deps = [
|
|
"@maven//:com_typesafe_akka_akka_slf4j",
|
|
"@maven//:org_tpolecat_doobie_postgres",
|
|
],
|
|
# Uncomment this if/when the target is published to maven.
|
|
# tags = ["maven_coordinates=com.daml:trigger-service:__VERSION__"],
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = [
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:ch_qos_logback_logback_core",
|
|
"@maven//:org_postgresql_postgresql",
|
|
],
|
|
deps = [
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//daml-lf/engine",
|
|
"//daml-lf/interpreter",
|
|
"//daml-lf/language",
|
|
"//language-support/scala/bindings",
|
|
"//ledger-api/rs-grpc-akka",
|
|
"//ledger-api/rs-grpc-bridge",
|
|
"//ledger-service/cli-opts",
|
|
"//ledger/ledger-api-client",
|
|
"//ledger/ledger-api-common",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/db-utils",
|
|
"//libs-scala/doobie-slf4j",
|
|
"//libs-scala/logging-entries",
|
|
"//libs-scala/scala-utils",
|
|
"//triggers/runner:trigger-runner-lib",
|
|
"//triggers/service/auth:middleware-api",
|
|
"@maven//:com_typesafe_config",
|
|
"@maven//:org_flywaydb_flyway_core",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
],
|
|
)
|
|
|
|
scala_binary_deps = [
|
|
"@maven//:com_typesafe_akka_akka_actor",
|
|
"@maven//:com_typesafe_akka_akka_actor_typed",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:com_typesafe_scala_logging_scala_logging",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
]
|
|
|
|
binary_deps = [
|
|
":trigger-service",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/concurrent",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//language-support/scala/bindings",
|
|
"//ledger/ledger-api-common",
|
|
"//libs-scala/contextualized-logging",
|
|
"//libs-scala/db-utils",
|
|
"//libs-scala/scala-utils",
|
|
"//triggers/service/auth:middleware-api",
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
]
|
|
|
|
da_scala_binary(
|
|
name = "trigger-service-binary-ce",
|
|
srcs = [triggerMain],
|
|
main_class = "com.daml.lf.engine.trigger.ServiceMain",
|
|
scala_deps = scala_binary_deps,
|
|
visibility = ["//visibility:public"],
|
|
deps = binary_deps + [
|
|
"//runtime-components/jdbc-drivers:jdbc-drivers-ce",
|
|
],
|
|
)
|
|
|
|
da_scala_binary(
|
|
name = "trigger-service-binary-ee",
|
|
srcs = [triggerMain],
|
|
main_class = "com.daml.lf.engine.trigger.ServiceMain",
|
|
scala_deps = scala_binary_deps,
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = [
|
|
"@maven//:com_oracle_database_jdbc_ojdbc8",
|
|
],
|
|
deps = binary_deps + [
|
|
"//runtime-components/jdbc-drivers:jdbc-drivers-ee",
|
|
],
|
|
)
|
|
|
|
da_scala_library(
|
|
name = "trigger-service-tests",
|
|
srcs = glob(["src/test/scala/com/digitalasset/daml/lf/engine/trigger/*.scala"]),
|
|
data = [
|
|
":test-model.dar",
|
|
] + (
|
|
[
|
|
"@toxiproxy_dev_env//:bin/toxiproxy-cmd",
|
|
] if not is_windows else [
|
|
"@toxiproxy_dev_env//:toxiproxy-server-windows-amd64.exe",
|
|
]
|
|
),
|
|
resources = glob(["src/test/resources/**/*"]),
|
|
scala_deps = [
|
|
"@maven//:io_spray_spray_json",
|
|
"@maven//:org_scalactic_scalactic",
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
"@maven//:org_scalatest_scalatest_flatspec",
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
"@maven//:com_typesafe_akka_akka_actor_typed",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:com_typesafe_akka_akka_parsing",
|
|
],
|
|
deps = [
|
|
":trigger-service",
|
|
":trigger-service-binary-ce",
|
|
"//bazel_tools/runfiles:scala_runfiles",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//language-support/scala/bindings-akka",
|
|
"//ledger-api/rs-grpc-bridge",
|
|
"//ledger-api/testing-utils",
|
|
"//ledger-service/jwt",
|
|
"//ledger/caching",
|
|
"//ledger/ledger-api-auth",
|
|
"//ledger/ledger-api-common",
|
|
"//ledger/ledger-configuration",
|
|
"//ledger/ledger-resources",
|
|
"//ledger/participant-integration-api",
|
|
"//ledger/participant-integration-api:participant-integration-api-tests-lib",
|
|
"//ledger/sandbox-classic",
|
|
"//ledger/sandbox-common",
|
|
"//libs-scala/adjustable-clock",
|
|
"//libs-scala/db-utils",
|
|
"//libs-scala/oracle-testing",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/postgresql-testing",
|
|
"//libs-scala/resources",
|
|
"//libs-scala/scala-utils",
|
|
"//libs-scala/timer-utils",
|
|
"//triggers/service/auth:middleware-api",
|
|
"//triggers/service/auth:oauth2-middleware",
|
|
"//triggers/service/auth:oauth2-test-server",
|
|
"@maven//:ch_qos_logback_logback_classic",
|
|
"@maven//:com_auth0_java_jwt",
|
|
"@maven//:eu_rekawek_toxiproxy_toxiproxy_java_2_1_3",
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
|
],
|
|
)
|
|
|
|
da_scala_test_suite(
|
|
name = "test",
|
|
srcs = glob(
|
|
["src/test-suite/scala/**/*.scala"],
|
|
exclude = ["**/*Oracle*"],
|
|
),
|
|
scala_deps = [
|
|
"@maven//:io_spray_spray_json",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
"@maven//:org_scalatest_scalatest_wordspec",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
"@maven//:com_github_scopt_scopt",
|
|
],
|
|
deps = [
|
|
":trigger-service",
|
|
":trigger-service-tests",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//language-support/scala/bindings-akka",
|
|
"//ledger-api/rs-grpc-bridge",
|
|
"//ledger-api/testing-utils",
|
|
"//ledger-service/cli-opts",
|
|
"//ledger-service/jwt",
|
|
"//ledger/ledger-api-auth",
|
|
"//ledger/ledger-api-common",
|
|
"//ledger/ledger-resources",
|
|
"//ledger/sandbox-classic",
|
|
"//ledger/sandbox-common",
|
|
"//libs-scala/adjustable-clock",
|
|
"//libs-scala/db-utils",
|
|
"//libs-scala/flyway-testing",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/postgresql-testing",
|
|
"//libs-scala/resources",
|
|
"//triggers/service/auth:oauth2-test-server",
|
|
"@maven//:eu_rekawek_toxiproxy_toxiproxy_java_2_1_3",
|
|
"@maven//:org_flywaydb_flyway_core",
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
|
],
|
|
)
|
|
|
|
da_scala_test_suite(
|
|
name = "test-oracle",
|
|
srcs = glob(["src/test-suite/scala/**/*Oracle*.scala"]),
|
|
scala_deps = [
|
|
"@maven//:io_spray_spray_json",
|
|
"@maven//:com_typesafe_akka_akka_http_core",
|
|
"@maven//:org_scalatest_scalatest_core",
|
|
"@maven//:org_scalatest_scalatest_matchers_core",
|
|
"@maven//:org_scalatest_scalatest_shouldmatchers",
|
|
"@maven//:org_scalatest_scalatest_wordspec",
|
|
"@maven//:org_scalaz_scalaz_core",
|
|
],
|
|
tags = [] if oracle_testing else ["manual"],
|
|
runtime_deps = [
|
|
"@maven//:com_oracle_database_jdbc_ojdbc8",
|
|
],
|
|
deps = [
|
|
":trigger-service",
|
|
":trigger-service-tests",
|
|
"//daml-lf/archive:daml_lf_archive_reader",
|
|
"//daml-lf/archive:daml_lf_dev_archive_proto_java",
|
|
"//daml-lf/data",
|
|
"//language-support/scala/bindings-akka",
|
|
"//ledger-api/rs-grpc-bridge",
|
|
"//ledger-api/testing-utils",
|
|
"//ledger-service/jwt",
|
|
"//ledger/ledger-api-auth",
|
|
"//ledger/ledger-api-common",
|
|
"//ledger/ledger-resources",
|
|
"//ledger/sandbox-classic",
|
|
"//ledger/sandbox-common",
|
|
"//libs-scala/adjustable-clock",
|
|
"//libs-scala/db-utils",
|
|
"//libs-scala/oracle-testing",
|
|
"//libs-scala/ports",
|
|
"//libs-scala/resources",
|
|
"//triggers/service/auth:oauth2-test-server",
|
|
"@maven//:eu_rekawek_toxiproxy_toxiproxy_java_2_1_3",
|
|
"@maven//:org_scalatest_scalatest_compatible",
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "test-model",
|
|
srcs =
|
|
glob(["test-model/*.daml"]) + [
|
|
"//triggers/daml:daml-trigger.dar",
|
|
"//daml-script/daml:daml-script.dar",
|
|
],
|
|
outs = ["test-model.dar"],
|
|
cmd = """
|
|
set -eou pipefail
|
|
TMP_DIR=$$(mktemp -d)
|
|
mkdir -p $$TMP_DIR/daml
|
|
cp -L $(location :test-model/TestTrigger.daml) $$TMP_DIR/daml
|
|
cp -L $(location :test-model/ErrorTrigger.daml) $$TMP_DIR/daml
|
|
cp -L $(location :test-model/LowLevelErrorTrigger.daml) $$TMP_DIR/daml
|
|
cp -L $(location //triggers/daml:daml-trigger.dar) $$TMP_DIR/
|
|
cp -L $(location //daml-script/daml:daml-script.dar) $$TMP_DIR
|
|
cat << EOF > $$TMP_DIR/daml.yaml
|
|
sdk-version: {sdk}
|
|
name: test-model
|
|
source: daml
|
|
version: 0.0.1
|
|
dependencies:
|
|
- daml-stdlib
|
|
- daml-prim
|
|
- daml-trigger.dar
|
|
- daml-script.dar
|
|
EOF
|
|
$(location //compiler/damlc) build --project-root=$$TMP_DIR --ghc-option=-Werror -o $$PWD/$(location test-model.dar)
|
|
rm -rf $$TMP_DIR
|
|
""".format(sdk = sdk_version),
|
|
tools = ["//compiler/damlc"],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
exports_files(["release/trigger-service-logback.xml"])
|