Port the rest of //ledger-service/... to 2.13 (#8836)

changelog_begin
changelog_end
This commit is contained in:
Moritz Kiefer 2021-02-12 17:26:19 +01:00 committed by GitHub
parent 34fe42237d
commit 153a23d315
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 149 additions and 142 deletions

View File

@ -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:

View File

@ -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",
],
)

View File

@ -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"))

View File

@ -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",
],
)

View File

@ -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] {

View File

@ -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")

View File

@ -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",
],
)

View File

@ -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,

View File

@ -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, _) =>

View File

@ -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
}
}

View File

@ -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
}

View File

@ -3,7 +3,6 @@
package com.daml.http
import org.scalatest._
import org.scalatest.freespec.AnyFreeSpec
import org.scalatest.matchers.should.Matchers

View File

@ -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}

View File

@ -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)
}

View File

@ -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