1 package com.onap.sdnc.reports.service;
3 import static org.assertj.core.api.Assertions.assertThat;
4 import static org.junit.Assert.assertNotNull;
6 import java.util.ArrayList;
7 import java.util.Calendar;
11 import org.apache.logging.log4j.LogManager;
12 import org.apache.logging.log4j.Logger;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.junit.runner.RunWith;
16 import org.mockito.Mockito;
17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
19 import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
20 import org.springframework.boot.test.context.SpringBootTest;
21 import org.springframework.boot.test.context.TestConfiguration;
22 import org.springframework.boot.test.mock.mockito.MockBean;
23 import org.springframework.context.annotation.Bean;
24 import org.springframework.test.context.ContextConfiguration;
25 import org.springframework.test.context.junit4.SpringRunner;
27 import com.onap.sdnc.reports.Application;
28 import com.onap.sdnc.reports.config.EmbeddedMariaDbConfig;
29 import com.onap.sdnc.reports.model.DeviceConfig;
30 import com.onap.sdnc.reports.model.PreTestConfig;
31 import com.onap.sdnc.reports.repository.PreTestConfigRepository;
32 import com.onap.sdnc.reports.rest.model.PreTestModel;
34 import org.springframework.test.annotation.DirtiesContext;
36 @RunWith(SpringRunner.class)
37 @SpringBootTest(classes = Application.class)
38 @ContextConfiguration(classes = EmbeddedMariaDbConfig.class)
40 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
41 @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
42 public class ReportServiceImplTest {
44 private static final Logger logger = LogManager.getLogger(ReportServiceImplTest.class);
46 private Date startDate, endDate;
49 static class ReportServiceImplTestContextConfiguration {
51 public IReportService reportService() {
52 return new ReportServiceImpl();
57 private IReportService reportService;
60 private PreTestConfigRepository preTestConfigRepository;
63 public void reportServiceAutoWireTest() {
64 assertNotNull("Due to Application Context Fail", reportService);
68 public void preTestConfigRepositoryAutoWireTest() {
69 assertNotNull("Due to Application Context Fail", preTestConfigRepository);
74 DeviceConfig deviceConfig = new DeviceConfig();
75 deviceConfig.setDeviceIP("0.0.0.0");
76 deviceConfig.setPreTestConfig(null);
77 deviceConfig.setCreationDate(new Date().toLocaleString());
79 PreTestConfig obj = new PreTestConfig();
80 obj.setDevice(deviceConfig);
81 obj.setExecuationDetails("Ping Successful");
82 obj.setResult("Pass");
84 obj.setTestName("Network Layer");
85 obj.setTimestamp(new Date());
87 Calendar calendar = Calendar.getInstance();
89 calendar.add(Calendar.DATE, -7);
90 calendar.add(Calendar.HOUR_OF_DAY, 00);
91 calendar.add(Calendar.MINUTE, 00);
92 calendar.add(Calendar.SECOND, 00);
93 calendar.add(Calendar.MILLISECOND, 00);
94 startDate = calendar.getTime();
96 Calendar endDateCalendar = Calendar.getInstance();
98 endDateCalendar.add(Calendar.HOUR_OF_DAY, 23);
99 endDateCalendar.add(Calendar.MINUTE, 59);
100 calendar.add(Calendar.SECOND, 00);
101 endDateCalendar.add(Calendar.MILLISECOND, 00);
102 endDate = endDateCalendar.getTime();
105 "Before Call : startDate " + startDate.toLocaleString() + " endDate : " + endDate.toLocaleString());
106 List<PreTestConfig> configList = new ArrayList<>();
108 Mockito.when(preTestConfigRepository.findReportByDeviceIP(startDate, endDate, "0.0.0.0"))
109 .thenReturn(configList);
113 public void whenFindByDeviceName_thenReturPreTest() {
114 int expectedTestId = 0;
116 "Test Call : startDate " + startDate.toLocaleString() + " endDate : " + endDate.toLocaleString());
118 List<PreTestModel> testList;
120 testList = reportService.findReportByDeviceIP(startDate, endDate, "10.0.0.0");
121 assertThat(testList.get(0).getTestid()).isEqualTo(expectedTestId);
122 } catch (Exception e) {