Skip to content

Commit

Permalink
Made some more unit tests pass.
Browse files Browse the repository at this point in the history
  • Loading branch information
zhoozhoo committed Sep 26, 2024
1 parent fe982f8 commit f1e1e2a
Show file tree
Hide file tree
Showing 17 changed files with 119 additions and 87 deletions.
52 changes: 13 additions & 39 deletions spring-cloud-reservation-service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,58 +25,22 @@
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<artifactId>spring-boot-starter-data-r2dbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-r2dbc</artifactId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

<!-- Spring Cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-ribbon</artifactId>
</exclusion>
<exclusion>
<groupId>com.netflix.ribbon</groupId>
<artifactId>ribbon-eureka</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-hystrix</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Other Spring-->
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>

<!-- Third parties -->
<dependency>
Expand All @@ -95,5 +59,15 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,17 @@

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.reactive.config.EnableWebFlux;

@SpringBootApplication
@SpringBootApplication(exclude = {
SecurityAutoConfiguration.class,
WebMvcAutoConfiguration.class,
ErrorMvcAutoConfiguration.class
})
@EnableWebFlux
@EnableDiscoveryClient
public class ReservationServiceApplication {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package ca.zhoozhoo.springcloud.reservations.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories;

@Configuration
@EnableR2dbcRepositories(basePackages = "ca.zhoozhoo.springcloud.reservations")
public class R2dbcConfig {
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity;
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
import org.springframework.security.config.web.server.ServerHttpSecurity;
Expand All @@ -12,6 +13,7 @@
@Configuration
@EnableWebFluxSecurity
@EnableReactiveMethodSecurity
@Profile({ "production" })
public class SecurityConfig {

@Bean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import ca.zhoozhoo.springcloud.reservations.dao.ReservationRepository;
import ca.zhoozhoo.springcloud.reservations.model.Reservation;
import ca.zhoozhoo.springcloud.reservations.repository.ReservationRepository;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,26 @@
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import reactor.util.annotation.NonNull;

@Table
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Reservation {

@Id
@Column("RESERVATION_ID")
private long id;
private Long id;

private long roomId;
@NonNull
private Long roomId;

private long guestId;
@NonNull
private Long guestId;

@Column("RES_DATE")
private LocalDate date;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ca.zhoozhoo.springcloud.reservations.dao;
package ca.zhoozhoo.springcloud.reservations.repository;

import java.time.LocalDate;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
spring:
application:
name: reservation-service
config:
import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/}
---
spring:
config:
activate:
on-profile: docker
import: configserver:http://config-server:8888
16 changes: 0 additions & 16 deletions spring-cloud-reservation-service/src/main/resources/bootstrap.yml

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;

@ActiveProfiles("test")
@SpringBootTest
class ReservationServiceApplicationTests {
@ActiveProfiles("test")
class ReservationServiceApplicationTest {

@Test
void contextLoads() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package ca.zhoozhoo.springcloud.reservations.repository;

import java.time.LocalDate;
import java.util.Arrays;
import java.util.List;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import ca.zhoozhoo.springcloud.reservations.model.Reservation;
import reactor.test.StepVerifier;

@SpringBootTest
public class ReservationRepositoryTest {

@Autowired
private ReservationRepository reservationRepository;

@Test
public void testFindAll() {
insertReservations();

reservationRepository.findAll()
.as(StepVerifier::create)
.expectNextCount(2)
.verifyComplete();
}

@Test
public void testDeleteAll() {
insertReservations();

reservationRepository.deleteAll()
.as(StepVerifier::create)
.expectNextCount(0)
.verifyComplete();
}

public void insertReservations() {
List<Reservation> reservations = Arrays.asList(
new Reservation(null, 1L, 1L, LocalDate.now()),
new Reservation(null, 2L, 2L, LocalDate.now()));

reservationRepository.saveAll(reservations).subscribe();
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
spring:
jpa:
hibernate:
ddl-auto: none
sql:
init:
schema-locations:
- classpath*:schema.sql
data-locations:
- classpath*:data.sql
cloud:
config:
enabled: false
r2dbc:
url: "r2dbc:h2:mem:///test;DB_CLOSE_DELAY=-1"
name: "sa"
security:
oauth2:
resourceserver:
jwt:
issuer-uri: http://localhost:8180/auth/realms/spring-cloud-gateway-realm
eureka:
client:
enabled: false

This file was deleted.

4 changes: 0 additions & 4 deletions spring-cloud-room-service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
</dependency>

<!-- Spring Cloud -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

@SpringBootTest
@ActiveProfiles("test")
class RoomServiceApplicationTests {
class RoomServiceApplicationTest {

@Test
void contextLoads() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,3 @@ spring:
eureka:
client:
enabled: false

logging.level.org.springframework: DEBUG

0 comments on commit f1e1e2a

Please sign in to comment.