diff --git a/pom.xml b/pom.xml index 9d229f8..cf03999 100644 --- a/pom.xml +++ b/pom.xml @@ -164,7 +164,8 @@ commons-codec 1.10 - + + diff --git a/src/main/java/pl/cyfronet/ltos/rest/controller/RestController.java b/src/main/java/pl/cyfronet/ltos/rest/controller/RestController.java index e2bfe28..fa442aa 100644 --- a/src/main/java/pl/cyfronet/ltos/rest/controller/RestController.java +++ b/src/main/java/pl/cyfronet/ltos/rest/controller/RestController.java @@ -1,6 +1,5 @@ package pl.cyfronet.ltos.rest.controller; -import com.agreemount.slaneg.db.DocumentOperations; import lombok.extern.log4j.Log4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; @@ -30,12 +29,6 @@ public class RestController { @Autowired IndigoRestLogic indigoRestLogic; - - - - @Autowired - private DocumentOperations documentOperations; - @RequestMapping(value = "/preferences/{login}", method = RequestMethod.GET) public IndigoWrapper getUser(@PathVariable String login) { return indigoRestLogic.getDataForLogin(login); @@ -49,6 +42,7 @@ public List getUsers(@RequestParam(required = false) String custo @RequestMapping(value = "/sla/{id}", method = RequestMethod.GET) public Sla getSLA(@PathVariable String id) { + return indigoRestLogic.getSLA(id); } diff --git a/src/test/java/pl/cyfronet/ltos/rest/EngineExtensionControllerTest.java b/src/test/java/pl/cyfronet/ltos/rest/EngineExtensionControllerTest.java new file mode 100644 index 0000000..dfc4b7c --- /dev/null +++ b/src/test/java/pl/cyfronet/ltos/rest/EngineExtensionControllerTest.java @@ -0,0 +1,101 @@ +package pl.cyfronet.ltos.rest; + +import org.hibernate.SessionFactory; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + + +import org.springframework.transaction.annotation.Transactional; +import pl.cyfronet.ltos.bean.*; +import pl.cyfronet.ltos.repository.DocumentWeightRepository; +import pl.cyfronet.ltos.repository.MockMvcSecurityTest; +import pl.cyfronet.ltos.repository.UserRepository; +import pl.cyfronet.ltos.rest.controller.EngineExtensionController; +import pl.cyfronet.ltos.security.PortalUser; + +import java.util.ArrayList; +import java.util.List; + +import static org.mockito.Mockito.*; + +/** + * Created by marta on 7/19/17. + */ + + +public class EngineExtensionControllerTest extends MockMvcSecurityTest { + + + @InjectMocks + private EngineExtensionController controller; + + @Mock + private DocumentWeightRepository documentWeightRepository; + + @Mock + private UserRepository userRepository; + + @Mock + private SessionFactory hibernateSessionFactory; + + @Before + public void setUp(){ + MockitoAnnotations.initMocks(this); + + } + + @Test + public void getDocumentWeightsTest() throws Exception { + + User user = mock(User.class); + PortalUser portalUser = mock(PortalUser.class); + + List documentsWeights = getDocumentWeightList(); + + when(portalUser.getUserBean()).thenReturn(user); + when(user.getDocuments()).thenReturn(documentsWeights); + + List result = controller.getDocumentWeights(portalUser); + + Assert.assertEquals(documentsWeights, result); + } + + + @Test + @Transactional + public void setDocumentWeightsTest() throws Exception { + + + PortalUser portalUserMock = mock(PortalUser.class); + Long id = 11111L; + User user = mock(User.class); + + List documentWeights = getDocumentWeightList(); + when(user.getDocuments()).thenReturn(documentWeights); + when(portalUserMock.getUserBean()).thenReturn(user); + when(user.getId()).thenReturn(id); + + user.setDocuments(documentWeights); + + when(userRepository.findOne(user.getId())).thenReturn(user); + controller.setDocumentWeights(portalUserMock, documentWeights); + + } + + + private List getDocumentWeightList(){ + + DocumentWeight document = mock(DocumentWeight.class); + List docs = new ArrayList<>(); + docs.add(document); + return docs; + } + + + + +} diff --git a/src/test/java/pl/cyfronet/ltos/rest/RestControllerTest.java b/src/test/java/pl/cyfronet/ltos/rest/RestControllerTest.java index 8d9b417..d7c4717 100644 --- a/src/test/java/pl/cyfronet/ltos/rest/RestControllerTest.java +++ b/src/test/java/pl/cyfronet/ltos/rest/RestControllerTest.java @@ -1,26 +1,24 @@ package pl.cyfronet.ltos.rest; -import com.agreemount.EngineFacade; -import com.agreemount.bean.document.Document; -import com.agreemount.bean.identity.Identity; -import com.agreemount.bean.identity.provider.IdentityProvider; -import com.agreemount.slaneg.action.ActionContext; -import com.agreemount.slaneg.action.ActionContextFactory; +import com.agreemount.slaneg.db.DocumentOperations; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.web.servlet.MvcResult; -import pl.cyfronet.bazaar.engine.extension.bean.IndigoDocument; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import pl.cyfronet.ltos.repository.MockMvcSecurityTest; +import pl.cyfronet.ltos.repository.UserRepository; +import pl.cyfronet.ltos.rest.bean.IndigoWrapper; import pl.cyfronet.ltos.rest.bean.sla.Sla; +import pl.cyfronet.ltos.rest.controller.RestController; +import pl.cyfronet.ltos.rest.logic.IndigoRestLogic; +import pl.cyfronet.ltos.rest.util.IndigoConverter; -import java.util.ArrayList; -import java.util.HashMap; +import java.util.*; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.*; /** * Created by piotr on 18.07.16. @@ -28,64 +26,82 @@ public class RestControllerTest extends MockMvcSecurityTest { - @Test - public void testGetUsers() throws Exception { -// MvcResult result = mockMvc.perform(get("/rest/slam/preferences/test").session(user())) -// .andExpect(status().isOk()).andReturn(); -// -// String content = result.getResponse().getContentAsString(); -// Assert.assertTrue(content.contains("\"customer\":\"test\"")); - } - @Autowired - private ActionContextFactory actionContextFactory; - @Autowired - private EngineFacade engineFacade; + @InjectMocks + private RestController restController; + + @Mock + private UserRepository userRepository; - @Autowired - public IdentityProvider identityProvider; + @Mock + private IndigoRestLogic indigoRestLogic; + @Mock + private IndigoConverter converter; + @Mock + private DocumentOperations documentOperations; - private void addSLAEST() throws Exception { -// HashMap urlVariables = new HashMap(); -// urlVariables.put("site", "BARI"); -// urlVariables.put("id", "test_document"); -// mockMvc.perform(put("/api/sla", urlVariables).session(user())).andExpect(status().isOk()).andReturn(); + @Before + public void setup(){ + MockitoAnnotations.initMocks(this); -// mockMvc.perform(put("/api/sla", urlVariables).session(user())).andExpect(status().isOk()).andReturn(); + } + + @Test + public void GetSLAs() throws Exception { + Sla sla = mock(Sla.class); + when(sla.getId()).thenReturn("1111L"); + when(indigoRestLogic.getSLAs(null, null, null, null, null)).thenReturn(Arrays.asList(sla)); -// mockMvc.perform(get("/invoke?actionId=editPublicDragt-second-step-Buy+resources&documentId="+doc.getId()).session(user())) -// .andExpect(status().isOk()).andReturn() + HashMap urlVariables = new HashMap(); + urlVariables.put("site", "BARI"); + urlVariables.put("id", "test_document"); + + List result = restController.getSLAs(null, null, null, null, null); + Assert.assertEquals(Arrays.asList(sla), result); } -// @Test -// public void testGetSLA() throws Exception { - // add sla offer -// MvcResult result = null; -// addSLAEST(); -// result = mockMvc.perform(put("/pool/create", {id: "testPool", site: "VAL"}).session(user())) -// .andExpect(status().isOk()).andReturn(); -// -// result = mockMvc.perform(get("/rest/slam/sla/"+sla.getId()).session(user())) -// .andExpect(status().isOk()).andReturn(); -// -// String content = result.getResponse().getContentAsString(); -// } + @Test + public void getSLAsTest() throws Exception { + Sla sla = mock(Sla.class); + String id = anyString(); + + when(indigoRestLogic.getSLA(id)).thenReturn(sla); + Sla sla2 = restController.getSLA(id); + + Assert.assertEquals(sla2, sla); + + } @Test - public void testPreferences() { + public void getUserTest() throws Exception { + IndigoWrapper userWrapper = mock(IndigoWrapper.class); + + String login = anyString(); + + when(indigoRestLogic.getDataForLogin(login)).thenReturn(userWrapper); + + IndigoWrapper result = restController.getUser(login); + + Assert.assertEquals(userWrapper, result); + } @Test - public void testGetSLAs() throws Exception { - MvcResult result = mockMvc.perform(get("/rest/slam/sla").session(user())) - .andExpect(status().isOk()).andReturn(); + public void getUserInfoTest() throws Exception { + + List listUsers = new ArrayList(); + String login = "aaa"; + + List result = restController.getUsers(login); + + Assert.assertEquals(listUsers, result); + - String content = result.getResponse().getContentAsString(); } }