diff --git a/pom.xml b/pom.xml index 622e927..61c5e3b 100644 --- a/pom.xml +++ b/pom.xml @@ -41,29 +41,8 @@ org.springframework.boot spring-boot-starter-web - - org.springframework.boot - spring-boot-starter-data-jpa - - - - - org.projectlombok - lombok - provided - - - - - org.hsqldb - hsqldb - - - org.springframework.boot - spring-boot-starter-test - org.junit.jupiter junit-jupiter diff --git a/src/main/java/eu/ztsh/wymiana/Main.java b/src/main/java/eu/ztsh/wymiana/Main.java index c6e067d..7687607 100644 --- a/src/main/java/eu/ztsh/wymiana/Main.java +++ b/src/main/java/eu/ztsh/wymiana/Main.java @@ -2,12 +2,8 @@ package eu.ztsh.wymiana; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.boot.context.properties.EnableConfigurationProperties; @SpringBootApplication -@EnableConfigurationProperties -@ConfigurationPropertiesScan public class Main { public static void main(String[] args) { diff --git a/src/main/java/eu/ztsh/wymiana/data/config/DatabaseConfiguration.java b/src/main/java/eu/ztsh/wymiana/data/config/DatabaseConfiguration.java deleted file mode 100644 index 64ed335..0000000 --- a/src/main/java/eu/ztsh/wymiana/data/config/DatabaseConfiguration.java +++ /dev/null @@ -1,54 +0,0 @@ -package eu.ztsh.wymiana.data.config; - -import com.zaxxer.hikari.HikariConfig; -import com.zaxxer.hikari.HikariDataSource; -import org.hsqldb.persist.HsqlProperties; -import org.hsqldb.server.Server; -import org.hsqldb.server.ServerAcl; -import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.io.IOException; - -@Configuration -public class DatabaseConfiguration { - - /** - * Create HSQL Database instance that is accessible from outside of application - * - * @return server instance - * @throws ServerAcl.AclFormatException when instantiating ServerAcl - * @throws IOException when instantiating ServerAcl - */ - @Bean - public Server hsqlServer(HsqlDbProperties properties) throws ServerAcl.AclFormatException, IOException { - var server = new Server(); - var props = new HsqlProperties(); - props.setProperty("server.database.0", String.format("mem:%s", properties.name())); - props.setProperty("server.dbname.0", properties.name()); - props.setProperty("server.no_system_exit", true); - props.setProperty("server.port", properties.port()); - server.setProperties(props); - server.start(); - return server; - } - - /** - * As we manually create database instance, we need also create datasource instance. - * HSQL instance is passed to force spring to create {@link Server} before pool. - * - * @param dataSourceProperties spring.datasource.* properties - * @return datasource instance - */ - @Bean - public HikariDataSource hikariDataSource(DataSourceProperties dataSourceProperties, Server ignore) { - var config = new HikariConfig(); - config.setJdbcUrl(dataSourceProperties.getUrl()); - config.setUsername(dataSourceProperties.getUsername()); - config.setPassword(dataSourceProperties.getPassword()); - config.setDriverClassName(dataSourceProperties.getDriverClassName()); - return new HikariDataSource(config); - } - -} diff --git a/src/main/java/eu/ztsh/wymiana/data/config/HsqlDbProperties.java b/src/main/java/eu/ztsh/wymiana/data/config/HsqlDbProperties.java deleted file mode 100644 index b510225..0000000 --- a/src/main/java/eu/ztsh/wymiana/data/config/HsqlDbProperties.java +++ /dev/null @@ -1,8 +0,0 @@ -package eu.ztsh.wymiana.data.config; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -@ConfigurationProperties("hsqldb") -public record HsqlDbProperties(String name, int port) { - -} diff --git a/src/main/java/eu/ztsh/wymiana/data/entity/CurrencyEntity.java b/src/main/java/eu/ztsh/wymiana/data/entity/CurrencyEntity.java deleted file mode 100644 index 441b224..0000000 --- a/src/main/java/eu/ztsh/wymiana/data/entity/CurrencyEntity.java +++ /dev/null @@ -1,23 +0,0 @@ -package eu.ztsh.wymiana.data.entity; - -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Entity -@Table(name = "currency") -public class CurrencyEntity { - - @Id - String pesel; - @Id - String symbol; - Double amount; - -} diff --git a/src/main/java/eu/ztsh/wymiana/data/entity/UserEntity.java b/src/main/java/eu/ztsh/wymiana/data/entity/UserEntity.java deleted file mode 100644 index a77e3c7..0000000 --- a/src/main/java/eu/ztsh/wymiana/data/entity/UserEntity.java +++ /dev/null @@ -1,29 +0,0 @@ -package eu.ztsh.wymiana.data.entity; - -import jakarta.persistence.CascadeType; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.OneToMany; -import jakarta.persistence.Table; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Entity -@Table(name = "user") -public class UserEntity { - - @Id - String pesel; - String name; - String surname; - - @OneToMany(cascade = CascadeType.ALL, mappedBy = "pesel") - List currencies; - -} diff --git a/src/main/java/eu/ztsh/wymiana/data/repository/UserRepository.java b/src/main/java/eu/ztsh/wymiana/data/repository/UserRepository.java deleted file mode 100644 index e77f9e9..0000000 --- a/src/main/java/eu/ztsh/wymiana/data/repository/UserRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package eu.ztsh.wymiana.data.repository; - -import eu.ztsh.wymiana.data.entity.UserEntity; -import org.springframework.data.repository.CrudRepository; - -public interface UserRepository extends CrudRepository { - -} diff --git a/src/main/java/eu/ztsh/wymiana/model/Currency.java b/src/main/java/eu/ztsh/wymiana/model/Currency.java deleted file mode 100644 index 0cc6b16..0000000 --- a/src/main/java/eu/ztsh/wymiana/model/Currency.java +++ /dev/null @@ -1,5 +0,0 @@ -package eu.ztsh.wymiana.model; - -public record Currency(String symbol, double amount) { - -} diff --git a/src/main/java/eu/ztsh/wymiana/model/User.java b/src/main/java/eu/ztsh/wymiana/model/User.java deleted file mode 100644 index a1f28f1..0000000 --- a/src/main/java/eu/ztsh/wymiana/model/User.java +++ /dev/null @@ -1,7 +0,0 @@ -package eu.ztsh.wymiana.model; - -import java.util.Map; - -public record User(String name, String surname, String pesel, Map currencies) { - -} diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index ae6306d..e69de29 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,13 +0,0 @@ -hsqldb: - name: db - port: 9090 - -spring: - datasource: - username: sa - password: - url: jdbc:hsqldb:hsql://localhost:${hsqldb.port}/${hsqldb.name} - driver-class-name: org.hsqldb.jdbc.JDBCDriver - jpa: - hibernate: - ddl-auto: create diff --git a/src/test/java/.gitkeep b/src/test/java/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/eu/ztsh/wymiana/data/repository/UserRepositoryTest.java b/src/test/java/eu/ztsh/wymiana/data/repository/UserRepositoryTest.java deleted file mode 100644 index 1da3e81..0000000 --- a/src/test/java/eu/ztsh/wymiana/data/repository/UserRepositoryTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package eu.ztsh.wymiana.data.repository; - -import eu.ztsh.wymiana.data.entity.CurrencyEntity; -import eu.ztsh.wymiana.data.entity.UserEntity; -import jakarta.transaction.Transactional; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit.jupiter.SpringExtension; - -import java.util.List; - -import static org.assertj.core.api.Assertions.assertThat; - -@SpringBootTest -@ExtendWith(SpringExtension.class) -class UserRepositoryTest { - - private final UserRepository userRepository; - - @Autowired - UserRepositoryTest(UserRepository userRepository) { - this.userRepository = userRepository; - } - - @BeforeEach - void prepareTest() { - userRepository.deleteAll(); - } - - @Test - @Transactional - @DisplayName("Basic insert & get test") - void basicTest() { - var pesel = "00281018264"; - var entity = new UserEntity(pesel, "Janina", "Kowalska", - List.of(new CurrencyEntity(pesel, "PLN", 20.10))); - userRepository.save(entity); - assertThat(userRepository.findById(pesel)) - .isNotEmpty() - .get() - .usingRecursiveComparison() - .isEqualTo(entity); - } - -}