mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 01:07:18 +03:00
Port the rest of //ledger-service/... to 2.13 (#8836)
changelog_begin changelog_end
This commit is contained in:
parent
34fe42237d
commit
153a23d315
12
ci/build.yml
12
ci/build.yml
@ -184,11 +184,6 @@ jobs:
|
||||
//ledger-service/... \
|
||||
//triggers/... \
|
||||
//daml-script/... \
|
||||
-//ledger-service/http-json:tests \
|
||||
-//ledger-service/http-json:integration-tests \
|
||||
-//ledger-service/http-json:failure-tests \
|
||||
-//ledger-service/http-json-perf/... \
|
||||
-//ledger-service/http-json-testing/... \
|
||||
-//language-support/scala/examples/... \
|
||||
-//language-support/scala/codegen-sample-app/... \
|
||||
-//ledger/ledger-api-test-tool/... \
|
||||
@ -207,12 +202,7 @@ jobs:
|
||||
-//language-support/scala/examples/... \
|
||||
-//language-support/scala/codegen-sample-app/... \
|
||||
-//ledger/ledger-api-test-tool/... \
|
||||
-//ledger/ledger-api-test-tool-on-canton/... \
|
||||
-//ledger-service/http-json:tests \
|
||||
-//ledger-service/http-json:integration-tests \
|
||||
-//ledger-service/http-json:failure-tests \
|
||||
-//ledger-service/http-json-perf/... \
|
||||
-//ledger-service/http-json-testing/...
|
||||
-//ledger/ledger-api-test-tool-on-canton/...
|
||||
displayName: 'Build'
|
||||
- template: tell-slack-failed.yml
|
||||
parameters:
|
||||
|
@ -7,6 +7,7 @@ load(
|
||||
"da_scala_library",
|
||||
"lf_scalacopts",
|
||||
)
|
||||
load("@scala_version//:index.bzl", "scala_version_suffix")
|
||||
|
||||
scalacopts = lf_scalacopts + [
|
||||
"-P:wartremover:traverser:org.wartremover.warts.NonUnitStatements",
|
||||
@ -16,9 +17,19 @@ da_scala_library(
|
||||
name = "http-json-perf",
|
||||
srcs = glob(["src/main/scala/**/*.scala"]),
|
||||
plugins = [
|
||||
"@maven//:org_typelevel_kind_projector_2_12_12",
|
||||
"@maven//:org_typelevel_kind_projector_{}".format(scala_version_suffix),
|
||||
],
|
||||
resources = glob(["src/main/resources/**/*"]),
|
||||
scala_deps = [
|
||||
"@maven//:com_github_scopt_scopt",
|
||||
"@maven//:com_typesafe_akka_akka_actor",
|
||||
"@maven//:com_typesafe_akka_akka_http_core",
|
||||
"@maven//:com_typesafe_akka_akka_stream",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging",
|
||||
"@maven//:org_scalactic_scalactic",
|
||||
"@maven//:org_scalatest_scalatest",
|
||||
"@maven//:org_scalaz_scalaz_core",
|
||||
],
|
||||
scalacopts = scalacopts,
|
||||
tags = ["maven_coordinates=com.daml:http-json-perf:__VERSION__"],
|
||||
visibility = ["//visibility:public"],
|
||||
@ -37,19 +48,11 @@ da_scala_library(
|
||||
"//libs-scala/scala-utils",
|
||||
"@maven//:com_fasterxml_jackson_core_jackson_core",
|
||||
"@maven//:com_fasterxml_jackson_core_jackson_databind",
|
||||
"@maven//:com_github_scopt_scopt_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_actor_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_http_core_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_stream_2_12",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
|
||||
"@maven//:io_gatling_gatling_app",
|
||||
"@maven//:io_gatling_gatling_commons",
|
||||
"@maven//:io_gatling_gatling_core",
|
||||
"@maven//:io_gatling_gatling_http",
|
||||
"@maven//:io_gatling_gatling_http_client",
|
||||
"@maven//:org_scalactic_scalactic_2_12",
|
||||
"@maven//:org_scalatest_scalatest_2_12",
|
||||
"@maven//:org_scalaz_scalaz_core_2_12",
|
||||
"@maven//:org_slf4j_slf4j_api",
|
||||
],
|
||||
)
|
||||
@ -63,6 +66,16 @@ da_scala_binary(
|
||||
"-Dlogback.configurationFile=$(location :release/json-api-perf-logback.xml)",
|
||||
],
|
||||
main_class = "com.daml.http.perf.Main",
|
||||
scala_deps = [
|
||||
"@maven//:com_github_scopt_scopt",
|
||||
"@maven//:com_typesafe_akka_akka_actor",
|
||||
"@maven//:com_typesafe_akka_akka_http_core",
|
||||
"@maven//:com_typesafe_akka_akka_stream",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging",
|
||||
"@maven//:org_scalactic_scalactic",
|
||||
"@maven//:org_scalatest_scalatest",
|
||||
"@maven//:org_scalaz_scalaz_core",
|
||||
],
|
||||
scalacopts = scalacopts,
|
||||
tags = [
|
||||
"maven_coordinates=com.daml:http-json-perf-deploy:__VERSION__",
|
||||
@ -83,19 +96,11 @@ da_scala_binary(
|
||||
"//libs-scala/scala-utils",
|
||||
"@maven//:com_fasterxml_jackson_core_jackson_core",
|
||||
"@maven//:com_fasterxml_jackson_core_jackson_databind",
|
||||
"@maven//:com_github_scopt_scopt_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_actor_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_http_core_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_stream_2_12",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
|
||||
"@maven//:io_gatling_gatling_app",
|
||||
"@maven//:io_gatling_gatling_commons",
|
||||
"@maven//:io_gatling_gatling_core",
|
||||
"@maven//:io_gatling_gatling_http",
|
||||
"@maven//:io_gatling_gatling_http_client",
|
||||
"@maven//:org_scalactic_scalactic_2_12",
|
||||
"@maven//:org_scalatest_scalatest_2_12",
|
||||
"@maven//:org_scalaz_scalaz_core_2_12",
|
||||
"@maven//:org_slf4j_slf4j_api",
|
||||
],
|
||||
)
|
||||
|
@ -11,7 +11,6 @@ import scalaz.{Applicative, Traverse}
|
||||
import scopt.RenderingMode
|
||||
|
||||
import scala.concurrent.duration.{Duration, FiniteDuration}
|
||||
import scala.language.higherKinds
|
||||
|
||||
private[perf] final case class Config[+S](
|
||||
scenario: S,
|
||||
@ -52,7 +51,7 @@ private[perf] object Config {
|
||||
}
|
||||
}
|
||||
|
||||
def parseConfig(args: Seq[String]): Option[Config[String]] =
|
||||
def parseConfig(args: collection.Seq[String]): Option[Config[String]] =
|
||||
configParser.parse(args, Config.Empty)
|
||||
|
||||
@SuppressWarnings(Array("org.wartremover.warts.NonUnitStatements"))
|
||||
|
@ -6,7 +6,9 @@ load(
|
||||
"da_scala_library",
|
||||
"da_scala_test",
|
||||
"lf_scalacopts",
|
||||
"silencer_plugin",
|
||||
)
|
||||
load("@scala_version//:index.bzl", "scala_version_suffix")
|
||||
|
||||
hj_scalacopts = lf_scalacopts + [
|
||||
"-P:wartremover:traverser:org.wartremover.warts.NonUnitStatements",
|
||||
@ -16,9 +18,26 @@ da_scala_library(
|
||||
name = "http-json-testing",
|
||||
srcs = glob(["src/main/scala/**/*.scala"]),
|
||||
plugins = [
|
||||
"@maven//:org_typelevel_kind_projector_2_12_12",
|
||||
"@maven//:org_typelevel_kind_projector_{}".format(scala_version_suffix),
|
||||
silencer_plugin,
|
||||
],
|
||||
scala_deps = [
|
||||
"@maven//:com_typesafe_akka_akka_actor",
|
||||
"@maven//:com_typesafe_akka_akka_http_core",
|
||||
"@maven//:com_typesafe_akka_akka_stream",
|
||||
"@maven//:io_spray_spray_json",
|
||||
"@maven//:org_scalacheck_scalacheck",
|
||||
"@maven//:org_scalactic_scalactic",
|
||||
"@maven//:org_scalatest_scalatest",
|
||||
"@maven//:org_tpolecat_doobie_core",
|
||||
"@maven//:org_tpolecat_doobie_free",
|
||||
"@maven//:org_typelevel_cats_core",
|
||||
"@maven//:org_typelevel_cats_effect",
|
||||
"@maven//:org_typelevel_cats_free",
|
||||
],
|
||||
scalacopts = hj_scalacopts + [
|
||||
"-P:silencer:lineContentFilters=import scala.collection.compat",
|
||||
],
|
||||
scalacopts = hj_scalacopts,
|
||||
tags = ["maven_coordinates=com.daml:http-json-testing:__VERSION__"],
|
||||
visibility = ["//visibility:public"],
|
||||
runtime_deps = [
|
||||
@ -40,17 +59,5 @@ da_scala_library(
|
||||
"//ledger/sandbox-common",
|
||||
"//libs-scala/auth-utils",
|
||||
"//libs-scala/ports",
|
||||
"@maven//:com_typesafe_akka_akka_actor_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_http_core_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_stream_2_12",
|
||||
"@maven//:io_spray_spray_json_2_12",
|
||||
"@maven//:org_scalacheck_scalacheck_2_12",
|
||||
"@maven//:org_scalactic_scalactic_2_12",
|
||||
"@maven//:org_scalatest_scalatest_2_12",
|
||||
"@maven//:org_tpolecat_doobie_core_2_12",
|
||||
"@maven//:org_tpolecat_doobie_free_2_12",
|
||||
"@maven//:org_typelevel_cats_core_2_12",
|
||||
"@maven//:org_typelevel_cats_effect_2_12",
|
||||
"@maven//:org_typelevel_cats_free_2_12",
|
||||
],
|
||||
)
|
||||
|
@ -60,23 +60,26 @@ object Consume {
|
||||
// then step through any further steps until encountering
|
||||
// either the end or the next listen
|
||||
def go(steps: FCC[T, V], listened: Boolean): Future[FCC[T, V]] =
|
||||
steps.resume fold ({
|
||||
case listen @ Listen(f, _) =>
|
||||
if (listened) Future successful (Free roll listen) else go(f(t), true)
|
||||
case drain: Drain[s, T, FCC[T, V]] =>
|
||||
Future successful Free.roll {
|
||||
if (listened) drain
|
||||
else drain.copy(init = drain.next(drain.init, t))
|
||||
}
|
||||
case Emit(run) => run flatMap (go(_, listened))
|
||||
}, v =>
|
||||
if (listened) Future successful (Free point v)
|
||||
else
|
||||
Future.failed(
|
||||
new IllegalStateException(
|
||||
s"unexpected element $t, script already terminated with $v"
|
||||
)
|
||||
))
|
||||
steps.resume.fold(
|
||||
{
|
||||
case listen @ Listen(f, _) =>
|
||||
if (listened) Future successful (Free roll listen) else go(f(t), true)
|
||||
case drain: Drain[s, T, FCC[T, V]] =>
|
||||
Future successful Free.roll {
|
||||
if (listened) drain
|
||||
else drain.copy(init = drain.next(drain.init, t))
|
||||
}
|
||||
case Emit(run) => run flatMap (go(_, listened))
|
||||
},
|
||||
v =>
|
||||
if (listened) Future successful (Free point v)
|
||||
else
|
||||
Future.failed(
|
||||
new IllegalStateException(
|
||||
s"unexpected element $t, script already terminated with $v"
|
||||
)
|
||||
),
|
||||
)
|
||||
go(steps, false)
|
||||
}
|
||||
.mapMaterializedValue(_.flatMap(_.foldMap(Lambda[Consume[T, *] ~> Future] {
|
||||
|
@ -25,12 +25,8 @@ import scalaz.syntax.tag._
|
||||
import scalaz.syntax.traverse._
|
||||
import scalaz.syntax.std.option._
|
||||
import scalaz.std.vector._
|
||||
import scalaz.std.option._
|
||||
import scalaz.std.vector._
|
||||
import scalaz.syntax.std.option._
|
||||
import scalaz.syntax.tag._
|
||||
import scalaz.syntax.traverse._
|
||||
|
||||
import scala.collection.compat._
|
||||
import scala.concurrent.Future
|
||||
|
||||
private[http] object WebsocketTestFixture extends StrictLogging with Assertions {
|
||||
@ -66,7 +62,7 @@ private[http] object WebsocketTestFixture extends StrictLogging with Assertions
|
||||
for {
|
||||
JsObject(eventsWrapper) <- Some(jsv)
|
||||
JsArray(sums) <- eventsWrapper.get("events")
|
||||
pairs = sums collect { case JsObject(fields) => fields.filterKeys(tagKeys).head }
|
||||
pairs = sums collect { case JsObject(fields) => fields.view.filterKeys(tagKeys).toMap.head }
|
||||
if pairs.length == sums.length
|
||||
sets = pairs groupBy (_._1)
|
||||
creates = sets.getOrElse("created", Vector()) collect { case (_, JsObject(fields)) =>
|
||||
@ -167,8 +163,8 @@ private[http] object WebsocketTestFixture extends StrictLogging with Assertions
|
||||
(
|
||||
8 min size,
|
||||
Gen.chooseNum(1: Amount, x - 1) flatMap { split =>
|
||||
Gen zip (genSplit(split, size / 2), genSplit(x - split, size / 2)) map {
|
||||
case (l, r) => Node(x, l, r)
|
||||
Gen.zip(genSplit(split, size / 2), genSplit(x - split, size / 2)) map { case (l, r) =>
|
||||
Node(x, l, r)
|
||||
}
|
||||
},
|
||||
),
|
||||
@ -296,7 +292,7 @@ private[http] object WebsocketTestFixture extends StrictLogging with Assertions
|
||||
|
||||
final class MultipleJsValuesMatcher(right: Seq[JsValue]) extends Matcher[Seq[JsValue]] {
|
||||
override def apply(left: Seq[JsValue]): MatchResult = {
|
||||
val result = left.length == right.length && (left, right).zipped.forall { case (l, r) =>
|
||||
val result = left.length == right.length && left.lazyZip(right).forall { case (l, r) =>
|
||||
matchJsValue(r)(l).matches
|
||||
}
|
||||
MatchResult(result, s"$left did not match $right", s"$left matched $right")
|
||||
|
@ -130,9 +130,30 @@ da_scala_test(
|
||||
size = "medium",
|
||||
srcs = glob(["src/test/scala/**/*.scala"]),
|
||||
plugins = [
|
||||
"@maven//:org_typelevel_kind_projector_2_12_12",
|
||||
"@maven//:org_typelevel_kind_projector_{}".format(scala_version_suffix),
|
||||
silencer_plugin,
|
||||
],
|
||||
scala_deps = [
|
||||
"@maven//:com_chuusai_shapeless",
|
||||
"@maven//:com_lihaoyi_sourcecode",
|
||||
"@maven//:com_typesafe_akka_akka_http_core",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging",
|
||||
"@maven//:io_spray_spray_json",
|
||||
"@maven//:org_scalacheck_scalacheck",
|
||||
"@maven//:org_scalatest_scalatest",
|
||||
"@maven//:org_scalatestplus_scalacheck_1_14",
|
||||
"@maven//:org_scalaz_scalaz_core",
|
||||
"@maven//:org_scalaz_scalaz_scalacheck_binding",
|
||||
"@maven//:org_tpolecat_doobie_core",
|
||||
"@maven//:org_tpolecat_doobie_free",
|
||||
"@maven//:org_typelevel_cats_core",
|
||||
"@maven//:org_typelevel_cats_effect",
|
||||
"@maven//:org_typelevel_cats_free",
|
||||
"@maven//:org_typelevel_cats_kernel",
|
||||
],
|
||||
scalacopts = hj_scalacopts + [
|
||||
"-P:silencer:lineContentFilters=import scala.collection.compat",
|
||||
],
|
||||
scalacopts = hj_scalacopts,
|
||||
deps = [
|
||||
":http-json",
|
||||
"//daml-lf/data",
|
||||
@ -145,22 +166,6 @@ da_scala_test(
|
||||
"//ledger/ledger-api-common",
|
||||
"//libs-scala/scala-utils",
|
||||
"//libs-scala/scalatest-utils",
|
||||
"@maven//:com_chuusai_shapeless_2_12",
|
||||
"@maven//:com_lihaoyi_sourcecode_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_http_core_2_12",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
|
||||
"@maven//:io_spray_spray_json_2_12",
|
||||
"@maven//:org_scalacheck_scalacheck_2_12",
|
||||
"@maven//:org_scalatest_scalatest_2_12",
|
||||
"@maven//:org_scalatestplus_scalacheck_1_14_2_12",
|
||||
"@maven//:org_scalaz_scalaz_core_2_12",
|
||||
"@maven//:org_scalaz_scalaz_scalacheck_binding_2_12",
|
||||
"@maven//:org_tpolecat_doobie_core_2_12",
|
||||
"@maven//:org_tpolecat_doobie_free_2_12",
|
||||
"@maven//:org_typelevel_cats_core_2_12",
|
||||
"@maven//:org_typelevel_cats_effect_2_12",
|
||||
"@maven//:org_typelevel_cats_free_2_12",
|
||||
"@maven//:org_typelevel_cats_kernel_2_12",
|
||||
],
|
||||
)
|
||||
|
||||
@ -175,9 +180,24 @@ da_scala_test(
|
||||
"//ledger/test-common/test-certificates",
|
||||
],
|
||||
plugins = [
|
||||
"@maven//:org_typelevel_kind_projector_2_12_12",
|
||||
"@maven//:org_typelevel_kind_projector_{}".format(scala_version_suffix),
|
||||
],
|
||||
resources = glob(["src/it/resources/**/*"]),
|
||||
scala_deps = [
|
||||
"@maven//:com_chuusai_shapeless",
|
||||
"@maven//:com_lihaoyi_sourcecode",
|
||||
"@maven//:com_typesafe_akka_akka_http_core",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging",
|
||||
"@maven//:io_spray_spray_json",
|
||||
"@maven//:org_scalacheck_scalacheck",
|
||||
"@maven//:org_scalatest_scalatest",
|
||||
"@maven//:org_scalaz_scalaz_core",
|
||||
"@maven//:org_tpolecat_doobie_core",
|
||||
"@maven//:org_tpolecat_doobie_free",
|
||||
"@maven//:org_typelevel_cats_core",
|
||||
"@maven//:org_typelevel_cats_effect",
|
||||
"@maven//:org_typelevel_cats_free",
|
||||
],
|
||||
scalacopts = hj_scalacopts,
|
||||
silent_annotations = True,
|
||||
deps = [
|
||||
@ -198,19 +218,6 @@ da_scala_test(
|
||||
"//libs-scala/ports",
|
||||
"//libs-scala/postgresql-testing",
|
||||
"//libs-scala/scala-utils",
|
||||
"@maven//:com_chuusai_shapeless_2_12",
|
||||
"@maven//:com_lihaoyi_sourcecode_2_12",
|
||||
"@maven//:com_typesafe_akka_akka_http_core_2_12",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
|
||||
"@maven//:io_spray_spray_json_2_12",
|
||||
"@maven//:org_scalacheck_scalacheck_2_12",
|
||||
"@maven//:org_scalatest_scalatest_2_12",
|
||||
"@maven//:org_scalaz_scalaz_core_2_12",
|
||||
"@maven//:org_tpolecat_doobie_core_2_12",
|
||||
"@maven//:org_tpolecat_doobie_free_2_12",
|
||||
"@maven//:org_typelevel_cats_core_2_12",
|
||||
"@maven//:org_typelevel_cats_effect_2_12",
|
||||
"@maven//:org_typelevel_cats_free_2_12",
|
||||
],
|
||||
)
|
||||
|
||||
@ -225,9 +232,16 @@ da_scala_test(
|
||||
"@toxiproxy_dev_env//:bin/toxiproxy-cmd" if not is_windows else "@toxiproxy_dev_env//:toxiproxy-server-windows-amd64.exe",
|
||||
],
|
||||
plugins = [
|
||||
"@maven//:org_typelevel_kind_projector_2_12_12",
|
||||
"@maven//:org_typelevel_kind_projector_{}".format(scala_version_suffix),
|
||||
],
|
||||
resources = glob(["src/failure/resources/**/*"]),
|
||||
scala_deps = [
|
||||
"@maven//:com_typesafe_akka_akka_http_core",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging",
|
||||
"@maven//:io_spray_spray_json",
|
||||
"@maven//:org_scalatest_scalatest",
|
||||
"@maven//:org_scalaz_scalaz_core",
|
||||
],
|
||||
scalacopts = hj_scalacopts,
|
||||
silent_annotations = False,
|
||||
deps = [
|
||||
@ -253,12 +267,7 @@ da_scala_test(
|
||||
"//libs-scala/postgresql-testing",
|
||||
"//libs-scala/resources",
|
||||
"//libs-scala/timer-utils",
|
||||
"@maven//:com_typesafe_akka_akka_http_core_2_12",
|
||||
"@maven//:com_typesafe_scala_logging_scala_logging_2_12",
|
||||
"@maven//:eu_rekawek_toxiproxy_toxiproxy_java_2_1_3",
|
||||
"@maven//:io_spray_spray_json_2_12",
|
||||
"@maven//:org_scalatest_scalatest_2_12",
|
||||
"@maven//:org_scalaz_scalaz_core_2_12",
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -323,7 +323,7 @@ final class FailureTests
|
||||
ContractDelta(Vector((ctId, _)), Vector(), Some(newOffset)) <- readOne
|
||||
_ = ctId shouldBe accountCid.unwrap
|
||||
_ = newOffset.unwrap should be > offset.unwrap
|
||||
_ = stop.shutdown
|
||||
_ = stop.shutdown()
|
||||
_ <- drain
|
||||
} yield ()
|
||||
)
|
||||
@ -337,7 +337,7 @@ final class FailureTests
|
||||
uri,
|
||||
headers = headersWithParties(List(p.unwrap)),
|
||||
)
|
||||
_ = status shouldBe 'success
|
||||
_ = status shouldBe a[StatusCodes.Success]
|
||||
cid = getContractId(getResult(r))
|
||||
r <- (singleClientQueryStream(
|
||||
jwtForParties(List(p.unwrap), List(), ledgerId().unwrap),
|
||||
@ -357,7 +357,7 @@ final class FailureTests
|
||||
headers = headersWithParties(List(p.unwrap)),
|
||||
)
|
||||
cid = getContractId(getResult(r))
|
||||
_ = status shouldBe 'success
|
||||
_ = status shouldBe a[StatusCodes.Success]
|
||||
(stop, source) = singleClientQueryStream(
|
||||
jwtForParties(List(p.unwrap), List(), ledgerId().unwrap),
|
||||
uri,
|
||||
|
@ -60,8 +60,8 @@ trait ToxicSandboxFixture
|
||||
} yield (ledgerProxyPort.port, toxiproxyClient, proxy, toxiproxyServer)
|
||||
}
|
||||
def stop(r: (Port, ToxiproxyClient, Proxy, Process)) = Future {
|
||||
r._4.destroy
|
||||
val _ = r._4.exitValue
|
||||
r._4.destroy()
|
||||
val _ = r._4.exitValue()
|
||||
()
|
||||
}
|
||||
Resource(start())(stop).map { case (port, toxiproxyClient, proxy, _) =>
|
||||
|
@ -16,7 +16,6 @@ import com.daml.api.util.TimestampConversion
|
||||
import com.daml.bazeltools.BazelRunfiles.requiredResource
|
||||
import com.daml.lf.data.Ref
|
||||
import com.daml.grpc.adapter.{AkkaExecutionSequencerPool, ExecutionSequencerFactory}
|
||||
import HttpServiceTestFixture.{UseTls, jsonCodecs}
|
||||
import com.daml.http.domain.ContractId
|
||||
import com.daml.http.domain.TemplateId.OptionalPkg
|
||||
import com.daml.http.json.SprayJson.{decode, decode1, objectField}
|
||||
@ -434,7 +433,9 @@ trait AbstractHttpServiceIntegrationTestFuns extends StrictLogging {
|
||||
import encoder.implicits._
|
||||
|
||||
val expected: domain.CreateCommand[JsValue] =
|
||||
command.traverse(SprayJson.encode[v.Record]).getOrElse(fail)
|
||||
command
|
||||
.traverse(SprayJson.encode[v.Record])
|
||||
.getOrElse(fail(s"Failed to encode command: $command"))
|
||||
|
||||
inside(SprayJson.decode[domain.ActiveContract[JsValue]](jsVal)) { case \/-(activeContract) =>
|
||||
(activeContract.payload: JsValue) shouldBe (expected.payload: JsValue)
|
||||
@ -727,7 +728,7 @@ abstract class AbstractHttpServiceIntegrationTest
|
||||
private def expectOk[R](resp: domain.SyncResponse[R]): R = resp match {
|
||||
case ok: domain.OkResponse[_] =>
|
||||
ok.status shouldBe StatusCodes.OK
|
||||
ok.warnings shouldBe 'empty
|
||||
ok.warnings shouldBe empty
|
||||
ok.result
|
||||
case err: domain.ErrorResponse =>
|
||||
fail(s"Expected OK response, got: $err")
|
||||
@ -888,7 +889,7 @@ abstract class AbstractHttpServiceIntegrationTest
|
||||
decode1[domain.OkResponse, domain.ExerciseResponse[JsValue]](output)
|
||||
) { case \/-(response) =>
|
||||
response.status shouldBe StatusCodes.OK
|
||||
response.warnings shouldBe 'empty
|
||||
response.warnings shouldBe empty
|
||||
inside(response.result.events) {
|
||||
case List(
|
||||
domain.Contract(\/-(created0)),
|
||||
@ -1106,7 +1107,7 @@ abstract class AbstractHttpServiceIntegrationTest
|
||||
decode1[domain.OkResponse, List[domain.PartyDetails]](output)
|
||||
) { case \/-(response) =>
|
||||
response.status shouldBe StatusCodes.OK
|
||||
response.warnings shouldBe 'empty
|
||||
response.warnings shouldBe empty
|
||||
val actualIds: Set[domain.Party] = response.result.view.map(_.identifier).toSet
|
||||
actualIds shouldBe domain.Party.subst(partyIds.toSet)
|
||||
response.result.toSet shouldBe
|
||||
@ -1273,7 +1274,7 @@ abstract class AbstractHttpServiceIntegrationTest
|
||||
status shouldBe StatusCodes.BadRequest
|
||||
inside(decode[domain.ErrorResponse](output)) { case \/-(response) =>
|
||||
response.status shouldBe StatusCodes.BadRequest
|
||||
response.warnings shouldBe 'empty
|
||||
response.warnings shouldBe empty
|
||||
response.errors.length shouldBe 1
|
||||
}
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
(preOffset, 2)
|
||||
}
|
||||
|
||||
_ = kill.shutdown
|
||||
_ = kill.shutdown()
|
||||
heartbeats <- drain
|
||||
hbCount = (heartbeats.iterator.map {
|
||||
case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset
|
||||
@ -341,11 +341,11 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
|
||||
for {
|
||||
creation <- initialCreate
|
||||
_ = creation._1 shouldBe 'success
|
||||
_ = creation._1 shouldBe a[StatusCodes.Success]
|
||||
iouCid = getContractId(getResult(creation._2))
|
||||
(kill, source) = singleClientQueryStream(jwt, uri, query)
|
||||
.viaMat(KillSwitches.single)(Keep.right)
|
||||
.preMaterialize
|
||||
.preMaterialize()
|
||||
lastState <- source via parseResp runWith resp(iouCid, kill)
|
||||
liveOffset = inside(lastState) { case ShouldHaveEnded(liveStart, 2, lastSeen) =>
|
||||
lastSeen.unwrap should be > liveStart.unwrap
|
||||
@ -427,7 +427,7 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
number shouldBe "def567"
|
||||
}
|
||||
}
|
||||
_ = kill.shutdown
|
||||
_ = kill.shutdown()
|
||||
heartbeats <- drain
|
||||
hbCount = (heartbeats.iterator.map {
|
||||
case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset
|
||||
@ -445,11 +445,11 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
|
||||
for {
|
||||
r1 <- f1
|
||||
_ = r1._1 shouldBe 'success
|
||||
_ = r1._1 shouldBe a[StatusCodes.Success]
|
||||
cid1 = getContractId(getResult(r1._2))
|
||||
|
||||
r2 <- f2
|
||||
_ = r2._1 shouldBe 'success
|
||||
_ = r2._1 shouldBe a[StatusCodes.Success]
|
||||
cid2 = getContractId(getResult(r2._2))
|
||||
|
||||
(kill, source) = singleClientQueryStream(
|
||||
@ -516,7 +516,7 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
(off, 0)
|
||||
}
|
||||
|
||||
_ = kill.shutdown
|
||||
_ = kill.shutdown()
|
||||
heartbeats <- drain
|
||||
hbCount = (heartbeats.iterator.map {
|
||||
case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset
|
||||
@ -534,16 +534,16 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
|
||||
for {
|
||||
r1 <- f1
|
||||
_ = r1._1 shouldBe 'success
|
||||
_ = r1._1 shouldBe a[StatusCodes.Success]
|
||||
cid1 = getContractId(getResult(r1._2))
|
||||
|
||||
r2 <- f2
|
||||
_ = r2._1 shouldBe 'success
|
||||
_ = r2._1 shouldBe a[StatusCodes.Success]
|
||||
cid2 = getContractId(getResult(r2._2))
|
||||
|
||||
(kill, source) = singleClientFetchStream(jwt, uri, fetchRequest())
|
||||
.viaMat(KillSwitches.single)(Keep.right)
|
||||
.preMaterialize
|
||||
.preMaterialize()
|
||||
|
||||
lastState <- source
|
||||
.via(parseResp) runWith resp(cid1, cid2, kill)
|
||||
@ -684,7 +684,7 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
)
|
||||
ContractDelta(Vector(), Vector(archivedCid2), Some(lastSeenOffset)) <- readOne
|
||||
_ = archivedCid2.contractId shouldBe cid2
|
||||
_ = kill.shutdown
|
||||
_ = kill.shutdown()
|
||||
heartbeats <- drain
|
||||
hbCount = (heartbeats.iterator.map {
|
||||
case ContractDelta(Vector(), Vector(), Some(currentOffset)) => currentOffset
|
||||
@ -702,18 +702,18 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
|
||||
for {
|
||||
r1 <- f1
|
||||
_ = r1._1 shouldBe 'success
|
||||
_ = r1._1 shouldBe a[StatusCodes.Success]
|
||||
cid1 = getContractId(getResult(r1._2))
|
||||
|
||||
r2 <- f2
|
||||
_ = r2._1 shouldBe 'success
|
||||
_ = r2._1 shouldBe a[StatusCodes.Success]
|
||||
cid2 = getContractId(getResult(r2._2))
|
||||
|
||||
(kill, source) = singleClientFetchStream(
|
||||
jwtForParties(List("Alice", "Bob"), List(), testId),
|
||||
uri,
|
||||
query,
|
||||
).viaMat(KillSwitches.single)(Keep.right).preMaterialize
|
||||
).viaMat(KillSwitches.single)(Keep.right).preMaterialize()
|
||||
lastState <- source via parseResp runWith resp(cid1, cid2, kill)
|
||||
liveOffset = inside(lastState) { case ShouldHaveEnded(liveStart, 5, lastSeen) =>
|
||||
lastSeen.unwrap should be > liveStart.unwrap
|
||||
@ -773,7 +773,7 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
]"""
|
||||
val (kill, source) = singleClientQueryStream(jwt, uri, query)
|
||||
.viaMat(KillSwitches.single)(Keep.right)
|
||||
.preMaterialize
|
||||
.preMaterialize()
|
||||
source
|
||||
.via(parseResp)
|
||||
.map(iouSplitResult)
|
||||
@ -841,7 +841,7 @@ sealed abstract class AbstractWebsocketServiceIntegrationTest
|
||||
\/-((Vector((genesisCid, amt)), Vector())) <- readOne
|
||||
_ = amt should ===(ss.x)
|
||||
last <- go(genesisCid, ss)
|
||||
_ = kill.shutdown
|
||||
_ = kill.shutdown()
|
||||
} yield last
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
package com.daml.http
|
||||
|
||||
import org.scalatest._
|
||||
import org.scalatest.freespec.AnyFreeSpec
|
||||
import org.scalatest.matchers.should.Matchers
|
||||
|
||||
|
@ -4,7 +4,6 @@
|
||||
package com.daml.http
|
||||
|
||||
import domain._
|
||||
import org.scalatest._
|
||||
import org.scalatest.freespec.AnyFreeSpec
|
||||
import org.scalatest.matchers.should.Matchers
|
||||
import scalaz.{NonEmptyList, OneAnd}
|
||||
|
@ -35,9 +35,8 @@ class ApiValueToLfValueConverterTest
|
||||
implicit val arbInj: Arbitrary[va.Inj[CidSrc]] = va.injarb
|
||||
forAll(minSuccessful(20)) { v: va.Inj[CidSrc] =>
|
||||
val vv = va.inj(v)
|
||||
val roundTrip = lfValueToApiValue(true, vv).right.toOption flatMap (x =>
|
||||
apiValueToLfValue(x).toMaybe.toOption
|
||||
)
|
||||
val roundTrip =
|
||||
lfValueToApiValue(true, vv).toOption flatMap (x => apiValueToLfValue(x).toMaybe.toOption)
|
||||
assert(Equal[Option[V[Cid]]].equal(roundTrip, Some(vv)))
|
||||
}
|
||||
}
|
||||
@ -68,7 +67,7 @@ object ApiValueToLfValueConverterTest {
|
||||
case V.ValueList(fs) => V.ValueList(fs map go)
|
||||
case V.ValueOptional(o) => V.ValueOptional(o map go)
|
||||
case V.ValueTextMap(m) => V.ValueTextMap(m mapValue go)
|
||||
case V.ValueGenMap(m) => V.ValueGenMap(m map (_ bimap (go, go)))
|
||||
case V.ValueGenMap(m) => V.ValueGenMap(m map (_.bimap(go, go)))
|
||||
}
|
||||
go(fa)
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ class FlowUtilTest
|
||||
val expected: Vector[String \/ Int] =
|
||||
xs.take(1).map(\/-(_)) ++ Vector.fill(errorNum)(-\/(error))
|
||||
val input: Source[String \/ Int, NotUsed] =
|
||||
Source.fromIterator(() => xs.toIterator).map(\/-(_))
|
||||
Source.fromIterator(() => xs.iterator).map(\/-(_))
|
||||
|
||||
val actualF: Future[Vector[String \/ Int]] =
|
||||
input
|
||||
|
Loading…
Reference in New Issue
Block a user