1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.docker
21 
22 import com.whisk.docker.{DockerContainer, DockerReadyChecker}
23 import org.scalatest.Suite
24 
25 import java.util.concurrent.atomic.AtomicInteger
26 
27 trait DockerCockroachService extends DockerBaseTest {
28   self: Suite =>
29 
30   private val defaultCockroachPort = 26257
31   protected val cockroachExposedPort: Int = DockerCockroachService.CockroachPortProvider.getAndIncrement()
32 
33   private def cockroachContainer: DockerContainer =
34     DockerContainer(image = "cockroachdb/cockroach:v25.3.2", name = Some(s"${getClass.getSimpleName}-cockroach"))
35       .withPorts(defaultCockroachPort -> Some(cockroachExposedPort))
36       .withReadyChecker(DockerReadyChecker.LogLineContains("CockroachDB node starting at"))
37       .withCommand("start-single-node", "--insecure")
38 
39   abstract override def dockerContainers: List[DockerContainer] =
40     cockroachContainer :: super.dockerContainers
41 }
42 
43 object DockerCockroachService {
44   val CockroachPortProvider: AtomicInteger = new AtomicInteger(40000)
45 }
Line Stmt Id Pos Tree Symbol Tests Code
30 22112 1023 - 1028 Literal <nosymbol> 26257
31 22019 1073 - 1135 Apply java.util.concurrent.atomic.AtomicInteger.getAndIncrement DockerCockroachService.CockroachPortProvider.getAndIncrement()
37 22230 1193 - 1517 Apply com.whisk.docker.DockerContainer.withCommand org.make.api.databasetest com.whisk.docker.DockerContainer.apply("cockroachdb/cockroach:v25.3.2", scala.Some.apply[String](("".+(DockerCockroachService.this.getClass().getSimpleName()).+("-cockroach"): String)), com.whisk.docker.DockerContainer.apply$default$3, com.whisk.docker.DockerContainer.apply$default$4, com.whisk.docker.DockerContainer.apply$default$5, com.whisk.docker.DockerContainer.apply$default$6, com.whisk.docker.DockerContainer.apply$default$7, com.whisk.docker.DockerContainer.apply$default$8, com.whisk.docker.DockerContainer.apply$default$9, com.whisk.docker.DockerContainer.apply$default$10, com.whisk.docker.DockerContainer.apply$default$11, com.whisk.docker.DockerContainer.apply$default$12, com.whisk.docker.DockerContainer.apply$default$13, com.whisk.docker.DockerContainer.apply$default$14, com.whisk.docker.DockerContainer.apply$default$15, com.whisk.docker.DockerContainer.apply$default$16, com.whisk.docker.DockerContainer.apply$default$17).withPorts(scala.Predef.ArrowAssoc[Int](DockerCockroachService.this.defaultCockroachPort).->[Some[Int]](scala.Some.apply[Int](DockerCockroachService.this.cockroachExposedPort))).withReadyChecker(com.whisk.docker.DockerReadyChecker.LogLineContains.apply("CockroachDB node starting at")).withCommand("start-single-node", "--insecure")
40 22137 1608 - 1633 Apply scala.collection.immutable.List.:: org.make.api.databasetest DockerCockroachService.super.dockerContainers.::[com.whisk.docker.DockerContainer](rassoc$1)
44 22040 1714 - 1738 Apply java.util.concurrent.atomic.AtomicInteger.<init> new java.util.concurrent.atomic.AtomicInteger(40000)