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();
 | 
			
		||||
@ -100,5 +115,28 @@ public abstract class BaseAdminControllerTest extends AbstractControllerTest {
 | 
			
		||||
        doPost("/api/admin/settings/testMail", adminSettings)
 | 
			
		||||
        .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