Skip to content
This repository has been archived by the owner on Dec 1, 2024. It is now read-only.

Commit

Permalink
add flakes, envrc, fix mockserver to 1.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
jjba23 committed Oct 17, 2024
1 parent 02a2ebf commit 0b6170d
Show file tree
Hide file tree
Showing 7 changed files with 91 additions and 10 deletions.
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ThisBuild / sonatypeCredentialHost := sonatypeCentralHost

ThisBuild / publishTo := sonatypePublishToBundle.value

ThisBuild / version := "0.9.1"
ThisBuild / version := "0.9.3"

ThisBuild / resolvers += "Mulesoft".at(
"https://repository.mulesoft.org/nexus/content/repositories/public/"
Expand Down
43 changes: 43 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default";
};
outputs = { systems, nixpkgs, ... }:
let
eachSystem = f:
nixpkgs.lib.genAttrs (import systems)
(system: f nixpkgs.legacyPackages.${system});
in {
devShells = eachSystem (pkgs: {
default = pkgs.mkShell {
buildInputs = with pkgs; [
scala_2_13
jdk21
metals
sbt
scalafmt
scalafix
scala-cli
coursier
];
};
});
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ object MockServer {

case class Client(value: MockServerClient)
}

Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,42 @@ import zio._

object MockServerContainer {

val layer: ZLayer[
def layer(
image: String = "docker.io/xdevsoftware/mockserver",
version: String = "1.0.5"
): ZLayer[
Network with Slf4jLogConsumer,
Throwable,
Container,
] = ZLayer.scoped {
for {
network <- ZIO.service[Network]
logConsumer <- ZIO.service[Slf4jLogConsumer]
mockServer <- scopedTestContainer(logConsumer, network)
_ <-
mockServer <- scopedTestContainer(
DockerImageName
.parse(image)
.withTag(version),
logConsumer,
network
)

_ <-
ZIO.logInfo(
s"[ZZSpec] MockServer started at: http://${mockServer.getHost}:${mockServer.getMappedPort(1080)})"
)
} yield Container(mockServer)
}
private val mockServerVersion = "latest"
private val image: DockerImageName = DockerImageName
.parse("docker.io/xdevsoftware/mockserver")
.withTag(mockServerVersion)

private def scopedTestContainer(
dockerImageName: DockerImageName,
logConsumer: Slf4jLogConsumer,
network: Network,
): URIO[Any with Scope, GenericContainer[_]] =
ZIO.acquireRelease(
ZIO
.attempt(new GenericContainer(image))
.attempt(
new GenericContainer(dockerImageName)
)
.tap(container =>
ZIO.attempt(containerSetup(container, logConsumer, network))
)
Expand Down
2 changes: 1 addition & 1 deletion zzspec/src/test/scala/mockservertest/MockServerSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ object MockServerSpec extends ZIOSpecDefault {
Scope.default,
networkLayer,
containerLogger(),
MockServerContainer.layer,
MockServerContainer.layer(),
MockServer.layer,
Client.default,
) @@ TestAspect.withLiveClock
Expand Down

0 comments on commit 0b6170d

Please sign in to comment.