Skip to content

Commit 7c96d2f

Browse files
committed
add ArchitectureTest, use FakerExtended and add annotations
1 parent 066ce65 commit 7c96d2f

8 files changed

Lines changed: 35 additions & 2 deletions

File tree

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@
109109
<artifactId>archunit-toolbox</artifactId>
110110
<scope>test</scope>
111111
</dependency>
112+
<dependency>
113+
<groupId>it.aboutbits</groupId>
114+
<artifactId>spring-boot-testing</artifactId>
115+
<version>2.5.0</version>
116+
</dependency>
112117
</dependencies>
113118

114119
<build>

src/main/java/it/aboutbits/springboot/emailservice/lib/EmailState.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package it.aboutbits.springboot.emailservice.lib;
22

3+
import org.jspecify.annotations.NullMarked;
4+
5+
@NullMarked
36
public enum EmailState {
47
PENDING,
58
SENT,
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package it.aboutbits.springboot.emailservice;
2+
3+
import com.tngtech.archunit.junit.AnalyzeClasses;
4+
import com.tngtech.archunit.junit.CacheMode;
5+
import it.aboutbits.archunit.toolbox.ArchitectureTestBase;
6+
import org.jspecify.annotations.NullMarked;
7+
8+
@AnalyzeClasses(
9+
packages = ArchitectureTest.PACKAGE,
10+
cacheMode = CacheMode.PER_CLASS
11+
)
12+
@NullMarked
13+
class ArchitectureTest extends ArchitectureTestBase {
14+
static final String PACKAGE = "it.aboutbits.springboot.emailservice";
15+
}

src/test/java/it/aboutbits/springboot/emailservice/TestApplication.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package it.aboutbits.springboot.emailservice;
22

3+
import org.jspecify.annotations.NullMarked;
34
import org.springframework.boot.SpringApplication;
45
import org.springframework.boot.autoconfigure.SpringBootApplication;
56

67
@SuppressWarnings("checkstyle:HideUtilityClassConstructor")
78
@SpringBootApplication
89
@EnableEmailService
10+
@NullMarked
911
public class TestApplication {
1012
public static void main(final String[] args) {
1113
SpringApplication.run(TestApplication.class, args);

src/test/java/it/aboutbits/springboot/emailservice/lib/application/ManageEmailTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import it.aboutbits.springboot.emailservice.lib.exception.EmailException;
77
import it.aboutbits.springboot.emailservice.support.database.WithPostgres;
88
import jakarta.mail.internet.MimeMessage;
9+
import org.jspecify.annotations.NullMarked;
910
import org.junit.jupiter.api.BeforeEach;
1011
import org.junit.jupiter.api.Test;
1112
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +31,7 @@
3031

3132
@SpringBootTest
3233
@WithPostgres
34+
@NullMarked
3335
class ManageEmailTest {
3436
@MockitoSpyBean
3537
JavaMailSender javaMailSender;

src/test/java/it/aboutbits/springboot/emailservice/lib/application/QueryEmailTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import it.aboutbits.springboot.emailservice.lib.jpa.EmailRepository;
66
import it.aboutbits.springboot.emailservice.support.database.WithPostgres;
77
import it.aboutbits.springboot.emailservice.support.database.factory.EmailFactory;
8+
import org.jspecify.annotations.NullMarked;
89
import org.junit.jupiter.api.Test;
910
import org.springframework.beans.factory.annotation.Autowired;
1011
import org.springframework.boot.test.context.SpringBootTest;
@@ -19,6 +20,7 @@
1920

2021
@SpringBootTest
2122
@WithPostgres
23+
@NullMarked
2224
class QueryEmailTest {
2325
@MockitoBean
2426
JavaMailSender javaMailSender;

src/test/java/it/aboutbits/springboot/emailservice/support/database/PostgresTestcontainer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import lombok.Data;
44
import lombok.extern.log4j.Log4j2;
5+
import org.jspecify.annotations.NullMarked;
56
import org.junit.jupiter.api.extension.AfterEachCallback;
67
import org.junit.jupiter.api.extension.BeforeAllCallback;
78
import org.junit.jupiter.api.extension.ExtensionContext;
@@ -17,6 +18,7 @@
1718
import java.util.StringJoiner;
1819

1920
@Log4j2
21+
@NullMarked
2022
public class PostgresTestcontainer implements BeforeAllCallback, AfterEachCallback {
2123
public static final PostgreSQLContainer<?> POSTGRES_CONTAINER;
2224
private static final Set<String> TABLES_TO_IGNORE = Set.of(

src/test/java/it/aboutbits/springboot/emailservice/support/database/factory/EmailFactory.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
import it.aboutbits.springboot.emailservice.lib.EmailState;
44
import it.aboutbits.springboot.emailservice.lib.model.Email;
5-
import net.datafaker.Faker;
5+
import it.aboutbits.springboot.testing.testdata.FakerExtended;
6+
import org.jspecify.annotations.NullMarked;
67

78
import java.time.OffsetDateTime;
89
import java.util.List;
910

11+
@NullMarked
1012
public final class EmailFactory {
11-
private static final Faker FAKER = new Faker();
13+
private static final FakerExtended FAKER = new FakerExtended();
1214

1315
private EmailFactory() {
1416
}

0 commit comments

Comments
 (0)