Редактирование: я создал другой класс "Utils" и переместил функцию в этот класс.
class Utils {
fun isMaintenanceFileExist(maintenanceFile: String) : Boolean {
/** method to check maintenance file, return True if found else False. */
return File(maintenanceFile).exists()
}
}
Я тестирую post API и проверяю метод, как показано ниже:
@Test
fun testMaintenanceMode() {
val mockUtil = Mockito.mock(Utils::class.java)
Mockito.`when`(mockUtil.isMaintenanceFileExist("maintenanceFilePath"))
.thenReturn(true)
// Request body
val body = "authId=123&email=a@mail.com&confirmationKey=86b498cb7a94a3555bc6ee1041a1c90a"
// When maintenance mode is on
mvc.perform(MockMvcRequestBuilders.post("/post")
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
.content(body))
.andExpect(MockMvcResultMatchers.status().isBadRequest)
.andReturn()
}
Но я не получаю ожидаемых результатов.
Код контроллера:
{
utilObj = Utils()
...
@PostMapping("/post")
fun registerByMail(@Valid data: RequestData) : ResponseEntity<Any>
{
// check for maintenance mode, if True return (error code : 9001)
if(utilObj.isMaintenanceFileExist("maintenanceFilePath")) {
println("-------- Maintenance file exist. Exiting. --------")
var error = ErrorResponse(Response(ResponseCode.MAINTENANCE,
ResponseCode.MAINTENANCE.toString()))
return ResponseEntity.badRequest().body(error)
}
...
}
Я хочу вернуть true из метода isMaintenanceFileExist () и хочу проверить на badRequest.Пожалуйста, объясните, как этого добиться.