Skip to content

Commit

Permalink
feat(test) : h2 테스트
Browse files Browse the repository at this point in the history
  • Loading branch information
Astin01 committed May 7, 2024
1 parent c27c6a9 commit 39d377f
Show file tree
Hide file tree
Showing 7 changed files with 143 additions and 2 deletions.
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'com.h2database:h2'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/project/plateapi/user/domain/Users.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
Expand All @@ -27,6 +28,7 @@
@Getter
@Setter
@Entity(name = "user")
@Table(name = "users")
@AllArgsConstructor
@NoArgsConstructor
@Builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.transaction.annotation.Transactional;

@AutoConfigureMockMvc
@Transactional
@ActiveProfiles("test")
@Sql("classpath:init.sql")
@SpringBootTest
class RestaurantControllerTest {
private static final String BASE_URL = "/api/restaurants";
Expand Down
113 changes: 113 additions & 0 deletions src/test/resources/init.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
drop table if exists users CASCADE;
drop table if exists restaurant CASCADE;
drop table if exists notice CASCADE;
drop table if exists icon CASCADE;
drop table if exists discussion CASCADE;
drop table if exists comment CASCADE;
drop table if exists suggestion CASCADE;
drop table if exists role CASCADE;
drop table if exists user_role CASCADE;


create table users
(
id bigint generated by default as identity,
created_date timestamp not null,
deleted_date timestamp not null,
user_email varchar(255) not null,
user_name varchar(255) not null,
user_nickname varchar(255) not null,
user_id varchar(255) not null,
user_password varchar(255) not null,
enabled BOOLEAN not null,
primary key (id)
);

create table restaurant
(
id bigint generated by default as identity,
category varchar(255) null,
content text,
icon varchar(255) null,
name varchar(255) null,
primary key (id)
);

create table notice
(
id bigint generated by default as identity,
closed BOOLEAN null,
closed_date varchar(255) null,
content text,
created_date varchar(255) not null,
image varchar(255) null,
title varchar(20) not null,
primary key (id)
);
create table icon
(
id bigint generated by default as identity,
icon varchar(255) null,
link varchar(255) not null,
name varchar(255) null,
primary key (id)
);

create table discussion
(
id bigint generated by default as identity,
closed BOOLEAN null,
closed_date varchar(255) null,
content text,
created_date varchar(255) not null,
title varchar(20) not null,
user_id bigint null,
primary key (id),
foreign key (user_id) references users (id)
);

create table comment
(
id bigint generated by default as identity,
comment text,
created_date varchar(255) not null,
modified_date varchar(255) null,
discussion_id bigint null,
user_id bigint null,
primary key (id),
foreign key (user_id) references users (id),
foreign key (discussion_id) references discussion (id)
);

create table suggestion
(
id bigint generated by default as identity,
closed BOOLEAN null,
closed_date varchar(255) null,
content text,
created_date varchar(255) not null,
title varchar(20) not null,
restaurant_id bigint null,
user_id bigint null,
primary key (id),
foreign key (restaurant_id) references restaurant (id),
foreign key (user_id) references users (id)
);

create table role
(
id bigint generated by default as identity,
role varchar(255) null,
primary key (id)
);

create table user_role
(
user_role_id bigint generated by default as identity,
created timestamp null,
role_id bigint null,
user_id bigint null,
primary key (user_role_id),
foreign key (user_id) references users (id),
foreign key (role_id) references role (id)
);
10 changes: 10 additions & 0 deletions src/test/resources/security/application-datasource.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
spring:
datasource:
url: jdbc:h2:mem:test
driverClassName: org.h2.Driver
username: sa
password:

jpa:
properties:
hibernate.dialect: org.hibernate.dialect.H2Dialect
3 changes: 3 additions & 0 deletions src/test/resources/security/application.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
spring:
profiles:
active: test
10 changes: 10 additions & 0 deletions src/test/resources/truncate.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
truncate table user;
truncate table restaurant;
truncate table notice;
truncate table icon;
truncate table discussion;
truncate table comment;
truncate table suggestion;
truncate table role;
truncate table user_role;

0 comments on commit 39d377f

Please sign in to comment.