Skip to content

Commit eb4b1a0

Browse files
committed
Refactor existing unit tests
1 parent c156363 commit eb4b1a0

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

src/test/java/com/eternalcode/parcellockers/database/ParcelLockerIntegrationSpec.java renamed to src/test/java/com/eternalcode/parcellockers/database/IntegrationTestSpec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.util.concurrent.CompletableFuture;
44
import java.util.concurrent.TimeUnit;
55

6-
class ParcelLockerIntegrationSpec {
6+
class IntegrationTestSpec {
77

88
<T> T await(CompletableFuture<T> future) {
99
return future
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import static org.junit.jupiter.api.Assertions.assertTrue;
2929

3030
@Testcontainers
31-
class ParcelLockerDatabaseServiceIntegrationTest extends ParcelLockerIntegrationSpec {
31+
class LockerRepositoryIntegrationTest extends IntegrationTestSpec {
3232

3333
@Container
3434
private static final MySQLContainer mySQLContainer = new MySQLContainer(DockerImageName.parse("mysql:latest"));
@@ -74,6 +74,8 @@ void test() {
7474

7575
@AfterEach
7676
void tearDown() {
77-
databaseManager.disconnect();
77+
if (databaseManager != null) {
78+
databaseManager.disconnect();
79+
}
7880
}
7981
}

src/test/java/com/eternalcode/parcellockers/database/ParcelDatabaseServiceIntegrationTest.java renamed to src/test/java/com/eternalcode/parcellockers/database/ParcelRepositoryIntegrationTest.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@
1111
import com.eternalcode.parcellockers.parcel.repository.ParcelRepository;
1212
import com.eternalcode.parcellockers.parcel.repository.ParcelRepositoryOrmLite;
1313
import com.eternalcode.parcellockers.shared.Page;
14+
import org.junit.jupiter.api.AfterEach;
1415
import org.junit.jupiter.api.Test;
16+
import org.junit.jupiter.api.io.TempDir;
1517
import org.testcontainers.containers.MySQLContainer;
1618
import org.testcontainers.junit.jupiter.Container;
1719
import org.testcontainers.junit.jupiter.Testcontainers;
1820
import org.testcontainers.utility.DockerImageName;
1921

2022
import java.io.File;
23+
import java.nio.file.Path;
2124
import java.util.Collections;
2225
import java.util.List;
2326
import java.util.Optional;
@@ -28,16 +31,22 @@
2831
import static org.junit.jupiter.api.Assertions.assertTrue;
2932

3033
@Testcontainers
31-
class ParcelDatabaseServiceIntegrationTest extends ParcelLockerIntegrationSpec {
34+
class ParcelRepositoryIntegrationTest extends IntegrationTestSpec {
3235

3336
@Container
3437
private static final MySQLContainer mySQLContainer = new MySQLContainer(DockerImageName.parse("mysql:latest"));
3538

39+
@TempDir
40+
private Path tempDir;
41+
42+
private DatabaseManager databaseManager;
43+
3644
@Test
3745
void test() {
38-
File dataFolder = new File("run/plugins/ParcelLockers");
46+
File dataFolder = tempDir.resolve("ParcelLockers").toFile();
3947
PluginConfiguration config = new ConfigurationManager(dataFolder).load(new PluginConfiguration());
4048
DatabaseManager databaseManager = new DatabaseManager(config, Logger.getLogger("ParcelLockers"), dataFolder);
49+
this.databaseManager = databaseManager;
4150
ParcelCache cache = new ParcelCache();
4251

4352
ParcelRepository parcelRepository = new ParcelRepositoryOrmLite(databaseManager, new TestScheduler(), cache);
@@ -70,4 +79,11 @@ void test() {
7079
Optional<Parcel> removedParcel = this.await(parcelRepository.findByUUID(uuid));
7180
assertTrue(removedParcel.isEmpty());
7281
}
82+
83+
@AfterEach
84+
void tearDown() {
85+
if (this.databaseManager != null) {
86+
this.databaseManager.disconnect();
87+
}
88+
}
7389
}

0 commit comments

Comments
 (0)