add corresponding tests
This commit is contained in:
parent
dd9dd6bae0
commit
8efb0dddab
@ -18,14 +18,29 @@ package org.thingsboard.server.controller;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.rule.engine.api.MailService;
|
||||
import org.thingsboard.server.common.data.AdminSettings;
|
||||
import org.thingsboard.server.service.mail.DefaultMailService;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
|
||||
public abstract class BaseAdminControllerTest extends AbstractControllerTest {
|
||||
|
||||
@Autowired
|
||||
MailService mailService;
|
||||
|
||||
@Autowired
|
||||
DefaultMailService defaultMailService;
|
||||
|
||||
@Test
|
||||
public void testFindAdminSettingsByKey() throws Exception {
|
||||
loginSysAdmin();
|
||||
@ -101,4 +116,27 @@ public abstract class BaseAdminControllerTest extends AbstractControllerTest {
|
||||
.andExpect(status().isOk());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSendTestMailTimeout() throws Exception {
|
||||
loginSysAdmin();
|
||||
AdminSettings adminSettings = doGet("/api/admin/settings/mail", AdminSettings.class);
|
||||
ObjectNode objectNode = JacksonUtil.fromString(adminSettings.getJsonValue().toString(), ObjectNode.class);
|
||||
|
||||
objectNode.put("smtpHost", "mail.gandi.net");
|
||||
objectNode.put("timeout", 1_000);
|
||||
objectNode.put("username", "username");
|
||||
objectNode.put("password", "password");
|
||||
|
||||
adminSettings.setJsonValue(objectNode);
|
||||
|
||||
Mockito.doAnswer((invocations) -> {
|
||||
var jsonConfig = (JsonNode) invocations.getArgument(0);
|
||||
var email = (String) invocations.getArgument(1);
|
||||
|
||||
defaultMailService.sendTestMail(jsonConfig, email);
|
||||
return null;
|
||||
}).when(mailService).sendTestMail(Mockito.any(), Mockito.anyString());
|
||||
doPost("/api/admin/settings/testMail", adminSettings).andExpect(status().is5xxServerError());
|
||||
Mockito.doNothing().when(mailService).sendTestMail(Mockito.any(), Mockito.any());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user