Skip to content

Commit 0fc808e

Browse files
committed
fix: Fixed a bug in the timing of calling the handler.
1 parent 6e7ca54 commit 0fc808e

File tree

2 files changed

+39
-11
lines changed

2 files changed

+39
-11
lines changed

docker-controller-scala-core/src/main/scala/com/github/j5ik2o/dockerController/DockerControllerHelper.scala

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,14 @@ trait DockerControllerHelper {
3636
): Unit = {
3737
logger.debug(s"createDockerContainer --- $testName")
3838
dockerController.pullImageIfNotExists()
39+
beforeDockerContainerCreate(dockerController, testName)
3940
dockerController.createContainer()
4041
afterDockerContainerCreated(dockerController, testName)
4142
}
4243

4344
protected def startDockerContainer(dockerController: DockerController, testName: Option[String]): Unit = {
4445
logger.debug(s"startDockerContainer --- $testName")
46+
beforeDocketContainerStart(dockerController, testName)
4547
dockerController.startContainer()
4648
val waitPredicateOpt = waitPredicatesSettings.get(dockerController)
4749
waitPredicateOpt.foreach { waitPredicate =>
@@ -52,33 +54,51 @@ trait DockerControllerHelper {
5254

5355
protected def stopDockerContainer(dockerController: DockerController, testName: Option[String]): Unit = {
5456
logger.debug(s"stopDockerContainer --- $testName")
55-
beforeDockerContainerStopped(dockerController, testName)
57+
beforeDockerContainerStop(dockerController, testName)
5658
dockerController.stopContainer()
59+
afterDockerContainerStopped(dockerController, testName)
5760
}
5861

5962
protected def removeDockerContainer(
6063
dockerController: DockerController,
6164
testName: Option[String]
6265
): Unit = {
6366
logger.debug(s"removeDockerContainer --- $testName")
64-
beforeDockerContainerRemoved(dockerController, testName)
67+
beforeDockerContainerRemove(dockerController, testName)
6568
dockerController.removeContainer()
69+
afterDockerContainerRemoved(dockerController, testName)
70+
}
71+
72+
protected def beforeDockerContainerCreate(dockerController: DockerController, testName: Option[String]): Unit = {
73+
logger.debug(s"beforeDockerContainerCreate --- $testName")
6674
}
6775

6876
protected def afterDockerContainerCreated(dockerController: DockerController, testName: Option[String]): Unit = {
6977
logger.debug(s"afterDockerContainerCreated --- $testName")
7078
}
7179

72-
protected def beforeDockerContainerRemoved(dockerController: DockerController, testName: Option[String]): Unit = {
73-
logger.debug(s"beforeDockerContainerRemoved --- $testName")
80+
protected def beforeDockerContainerRemove(dockerController: DockerController, testName: Option[String]): Unit = {
81+
logger.debug(s"beforeDockerContainerRemove --- $testName")
82+
}
83+
84+
protected def afterDockerContainerRemoved(dockerController: DockerController, testName: Option[String]): Unit = {
85+
logger.debug(s"afterDockerContainerRemoved --- $testName")
86+
}
87+
88+
protected def beforeDocketContainerStart(dockerController: DockerController, testName: Option[String]): Unit = {
89+
logger.debug(s"beforeDocketContainerStart --- $testName")
7490
}
7591

7692
protected def afterDocketContainerStarted(dockerController: DockerController, testName: Option[String]): Unit = {
7793
logger.debug(s"afterDocketContainerStarted --- $testName")
7894
}
7995

80-
protected def beforeDockerContainerStopped(dockerController: DockerController, testName: Option[String]): Unit = {
96+
protected def beforeDockerContainerStop(dockerController: DockerController, testName: Option[String]): Unit = {
8197
logger.debug(s"beforeDockerContainerStopped --- $testName")
8298
}
8399

100+
protected def afterDockerContainerStopped(dockerController: DockerController, testName: Option[String]): Unit = {
101+
logger.debug(s"afterDockerContainerStopped --- $testName")
102+
}
103+
84104
}

docker-controller-scala-scalatest/src/main/scala/com/github/j5ik2o/dockerController/DockerControllerSpecSupport.scala

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ trait DockerControllerSpecSupport extends SuiteMixin with DockerControllerHelper
1515
testName: Option[String]
1616
): Boolean = {
1717
if (this.createRemoveLifecycle == createRemoveLifecycle) {
18+
beforeCreateContainers()
1819
for (dockerController <- dockerControllers) {
1920
createDockerContainer(dockerController, testName)
2021
}
22+
afterCreateContainers()
2123
true
2224
} else false
2325
}
@@ -27,9 +29,11 @@ trait DockerControllerSpecSupport extends SuiteMixin with DockerControllerHelper
2729
testName: Option[String]
2830
): Boolean = {
2931
if (this.startStopLifecycle == startStopLifecycle) {
32+
beforeStartContainers()
3033
for (dockerController <- dockerControllers) {
3134
startDockerContainer(dockerController, testName)
3235
}
36+
afterStartContainers()
3337
true
3438
} else false
3539
}
@@ -39,9 +43,11 @@ trait DockerControllerSpecSupport extends SuiteMixin with DockerControllerHelper
3943
testName: Option[String]
4044
): Boolean = {
4145
if (this.startStopLifecycle == startStopLifecycle) {
46+
beforeStopContainers()
4247
for (dockerController <- dockerControllers) {
4348
stopDockerContainer(dockerController, testName)
4449
}
50+
afterStopContainers()
4551
true
4652
} else false
4753
}
@@ -51,17 +57,23 @@ trait DockerControllerSpecSupport extends SuiteMixin with DockerControllerHelper
5157
testName: Option[String]
5258
): Boolean = {
5359
if (this.createRemoveLifecycle == createRemoveLifecycle) {
60+
beforeRemoveContainers()
5461
for (dockerController <- dockerControllers) {
5562
removeDockerContainer(dockerController, testName)
5663
}
64+
afterRemoveContainers()
5765
true
5866
} else false
5967
}
6068

6169
protected def beforeCreateContainers(): Unit = {}
62-
protected def afterRemoveContainers(): Unit = {}
70+
protected def afterCreateContainers(): Unit = {}
71+
protected def beforeStartContainers(): Unit = {}
6372
protected def afterStartContainers(): Unit = {}
6473
protected def beforeStopContainers(): Unit = {}
74+
protected def afterStopContainers(): Unit = {}
75+
protected def beforeRemoveContainers(): Unit = {}
76+
protected def afterRemoveContainers(): Unit = {}
6577

6678
abstract override def run(testName: Option[String], args: Args): Status = {
6779
(createRemoveLifecycle, startStopLifecycle) match {
@@ -75,13 +87,9 @@ trait DockerControllerSpecSupport extends SuiteMixin with DockerControllerHelper
7587
var created = false
7688
var started = false
7789
try {
78-
beforeCreateContainers()
7990
created = createDockerContainers(DockerContainerCreateRemoveLifecycle.ForAllTest, testName)
8091
started = startDockerContainers(DockerContainerStartStopLifecycle.ForAllTest, testName)
81-
afterStartContainers()
82-
val result = super.run(testName, args)
83-
beforeStopContainers()
84-
result
92+
super.run(testName, args)
8593
} finally {
8694
try {
8795
if (started)

0 commit comments

Comments
 (0)