test: テストを追加

This commit is contained in:
usbharu 2025-02-19 12:43:40 +09:00
parent c37e442dd7
commit 17cc92d344
Signed by: usbharu
GPG Key ID: 8CB1087135660B8D
1 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,55 @@
package wellknown
import dev.usbharu.hideout.SpringApplication
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.http.MediaType
import org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity
import org.springframework.test.context.jdbc.Sql
import org.springframework.test.web.servlet.MockMvc
import org.springframework.test.web.servlet.get
import org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder
import org.springframework.test.web.servlet.setup.MockMvcBuilders
import org.springframework.transaction.annotation.Transactional
import org.springframework.web.context.WebApplicationContext
@SpringBootTest(classes = [SpringApplication::class])
@AutoConfigureMockMvc
@Transactional
@Sql("/sql/actors.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_CLASS)
class WebFingerControllerTest {
@Autowired
private lateinit var context: WebApplicationContext
private lateinit var mockMvc: MockMvc
@BeforeEach
fun setUp() {
mockMvc = MockMvcBuilders.webAppContextSetup(context)
.apply<DefaultMockMvcBuilder>(springSecurity())
.build()
}
@Test
fun webfinger() {
mockMvc
.get("/.well-known/webfinger?resource=acct:test@example.com") {
accept(MediaType.APPLICATION_JSON)
}
.asyncDispatch()
.andDo { print() }
.andExpect { status { isOk() } }
}
@Test
fun `webfinger resourceが無いと400`() {
mockMvc
.get("/.well-known/webfinger") {
accept(MediaType.APPLICATION_JSON)
}
.andExpect { status { isBadRequest() } }
}
}