Skip to content

Commit 295e8af

Browse files
authored
Add files via upload
1 parent 91be3f0 commit 295e8af

File tree

73 files changed

+2420
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+2420
-0
lines changed

invitation/HELP.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Getting Started
2+
3+
### Reference Documentation
4+
For further reference, please consider the following sections:
5+
6+
* [Official Gradle documentation](https://docs.gradle.org)
7+
* [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/3.2.2/gradle-plugin/reference/html/)
8+
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/3.2.2/gradle-plugin/reference/html/#build-image)
9+
* [Spring Web](https://docs.spring.io/spring-boot/docs/3.2.2/reference/htmlsingle/index.html#web)
10+
* [Spring Data JPA](https://docs.spring.io/spring-boot/docs/3.2.2/reference/htmlsingle/index.html#data.sql.jpa-and-spring-data)
11+
* [Spring Data JDBC](https://docs.spring.io/spring-boot/docs/3.2.2/reference/htmlsingle/index.html#data.sql.jdbc)
12+
13+
### Guides
14+
The following guides illustrate how to use some features concretely:
15+
16+
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
17+
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
18+
* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/)
19+
* [Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/)
20+
* [Using Spring Data JDBC](https://github.com/spring-projects/spring-data-examples/tree/master/jdbc/basics)
21+
22+
### Additional Links
23+
These additional references should also help you:
24+
25+
* [Gradle Build Scans – insights for your project's build](https://scans.gradle.com#gradle)
26+

invitation/build.gradle

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
plugins {
2+
id 'java'
3+
id 'org.springframework.boot' version '3.2.2'
4+
id 'io.spring.dependency-management' version '1.1.4'
5+
}
6+
7+
group = 'com.splab'
8+
version = '0.0.1-SNAPSHOT'
9+
10+
java {
11+
sourceCompatibility = '17'
12+
}
13+
14+
configurations {
15+
compileOnly {
16+
extendsFrom annotationProcessor
17+
}
18+
}
19+
20+
repositories {
21+
mavenCentral()
22+
}
23+
24+
dependencies {
25+
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
26+
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
27+
implementation 'org.springframework.boot:spring-boot-starter-web'
28+
implementation 'org.springframework.boot:spring-boot-starter-validation'
29+
30+
compileOnly 'org.projectlombok:lombok'
31+
annotationProcessor 'org.projectlombok:lombok'
32+
33+
// springdoc
34+
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'
35+
36+
// javaMailSender
37+
implementation 'org.springframework.boot:spring-boot-starter-mail'
38+
39+
// database
40+
runtimeOnly 'com.h2database:h2'
41+
42+
43+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
44+
}
45+
46+
tasks.named('test') {
47+
useJUnitPlatform()
48+
}
Binary file not shown.
Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
5+
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
6+
<title>Test results - MemberMvcTest</title>
7+
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
8+
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
9+
<script src="../js/report.js" type="text/javascript"></script>
10+
</head>
11+
<body>
12+
<div id="content">
13+
<h1>MemberMvcTest</h1>
14+
<div class="breadcrumbs">
15+
<a href="../index.html">all</a> &gt;
16+
<a href="../packages/com.splab.invitation.presentation.member.html">com.splab.invitation.presentation.member</a> &gt; MemberMvcTest</div>
17+
<div id="summary">
18+
<table>
19+
<tr>
20+
<td>
21+
<div class="summaryGroup">
22+
<table>
23+
<tr>
24+
<td>
25+
<div class="infoBox" id="tests">
26+
<div class="counter">1</div>
27+
<p>tests</p>
28+
</div>
29+
</td>
30+
<td>
31+
<div class="infoBox" id="failures">
32+
<div class="counter">1</div>
33+
<p>failures</p>
34+
</div>
35+
</td>
36+
<td>
37+
<div class="infoBox" id="ignored">
38+
<div class="counter">0</div>
39+
<p>ignored</p>
40+
</div>
41+
</td>
42+
<td>
43+
<div class="infoBox" id="duration">
44+
<div class="counter">0.884s</div>
45+
<p>duration</p>
46+
</div>
47+
</td>
48+
</tr>
49+
</table>
50+
</div>
51+
</td>
52+
<td>
53+
<div class="infoBox failures" id="successRate">
54+
<div class="percent">0%</div>
55+
<p>successful</p>
56+
</div>
57+
</td>
58+
</tr>
59+
</table>
60+
</div>
61+
<div id="tabs">
62+
<ul class="tabLinks">
63+
<li>
64+
<a href="#tab0">Failed tests</a>
65+
</li>
66+
<li>
67+
<a href="#tab1">Tests</a>
68+
</li>
69+
<li>
70+
<a href="#tab2">Standard output</a>
71+
</li>
72+
</ul>
73+
<div id="tab0" class="tab">
74+
<h2>Failed tests</h2>
75+
<div class="test">
76+
<a name="task1_returns_400()"></a>
77+
<h3 class="failures">이메일이 빈 값일 경우 예외가 발생한다.</h3>
78+
<span class="code">
79+
<pre>java.lang.AssertionError: No value at JSON path &quot;$.email&quot;
80+
at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:302)
81+
at org.springframework.test.util.JsonPathExpectationsHelper.assertValue(JsonPathExpectationsHelper.java:73)
82+
at org.springframework.test.web.servlet.result.JsonPathResultMatchers.lambda$value$0(JsonPathResultMatchers.java:87)
83+
at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)
84+
at com.splab.invitation.presentation.member.MemberMvcTest.task1_returns_400(MemberMvcTest.java:90)
85+
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
86+
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
87+
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
88+
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
89+
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
90+
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
91+
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
92+
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
93+
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
94+
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
95+
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
96+
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
97+
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
98+
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
99+
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
100+
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
101+
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
102+
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
103+
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218)
104+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
105+
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214)
106+
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139)
107+
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
108+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
109+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
110+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
111+
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
112+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
113+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
114+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
115+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
116+
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
117+
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
118+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
119+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
120+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
121+
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
122+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
123+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
124+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
125+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
126+
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
127+
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
128+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
129+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
130+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
131+
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
132+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
133+
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
134+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
135+
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
136+
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
137+
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
138+
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
139+
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
140+
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
141+
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
142+
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
143+
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
144+
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
145+
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
146+
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
147+
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
148+
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
149+
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
150+
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
151+
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
152+
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
153+
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
154+
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
155+
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
156+
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
157+
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
158+
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
159+
at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
160+
at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
161+
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
162+
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
163+
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
164+
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
165+
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
166+
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
167+
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
168+
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
169+
Caused by: java.lang.IllegalArgumentException: json can not be null or empty
170+
at com.jayway.jsonpath.internal.Utils.notEmpty(Utils.java:401)
171+
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:390)
172+
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:377)
173+
at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:299)
174+
... 88 more
175+
</pre>
176+
</span>
177+
</div>
178+
</div>
179+
<div id="tab1" class="tab">
180+
<h2>Tests</h2>
181+
<table>
182+
<thead>
183+
<tr>
184+
<th>Test</th>
185+
<th>Method name</th>
186+
<th>Duration</th>
187+
<th>Result</th>
188+
</tr>
189+
</thead>
190+
<tr>
191+
<td class="failures">이메일이 빈 값일 경우 예외가 발생한다.</td>
192+
<td class="failures">task1_returns_400()</td>
193+
<td class="failures">0.884s</td>
194+
<td class="failures">failed</td>
195+
</tr>
196+
</table>
197+
</div>
198+
<div id="tab2" class="tab">
199+
<h2>Standard output</h2>
200+
<span class="code">
201+
<pre>15:09:17.705 [Test worker] INFO org.hibernate.validator.internal.util.Version -- HV000001: Hibernate Validator 8.0.1.Final
202+
15:09:17.874 [Test worker] INFO org.springframework.mock.web.MockServletContext -- Initializing Spring TestDispatcherServlet ''
203+
15:09:17.874 [Test worker] INFO org.springframework.test.web.servlet.TestDispatcherServlet -- Initializing Servlet ''
204+
15:09:17.875 [Test worker] INFO org.springframework.test.web.servlet.TestDispatcherServlet -- Completed initialization in 1 ms
205+
15:09:17.969 [Test worker] WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver -- Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public com.splab.invitation.presentation.common.ApiResponse&lt;java.lang.Long&gt; com.splab.invitation.presentation.member.MemberController.invite(com.splab.invitation.domain.member.service.dto.InviteMemberCommand): [Field error in object 'inviteMemberCommand' on field 'email': rejected value []; codes [NotBlank.inviteMemberCommand.email,NotBlank.email,NotBlank.java.lang.String,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [inviteMemberCommand.email,email]; arguments []; default message [email]]; default message [이메일은 필수 항목입니다.]] ]
206+
</pre>
207+
</span>
208+
</div>
209+
</div>
210+
<div id="footer">
211+
<p>
212+
<div>
213+
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
214+
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
215+
</label>
216+
</div>Generated by
217+
<a href="http://www.gradle.org">Gradle 8.5</a> at 2024. 3. 17. 오후 3:09:18</p>
218+
</div>
219+
</div>
220+
</body>
221+
</html>

0 commit comments

Comments
 (0)