Search in sources :

Example 1 with SysRemoteServerFilter

use of eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter in project CzechIdMng by bcvsolutions.

the class SysRemoteServerController method toFilter.

@Override
protected SysRemoteServerFilter toFilter(MultiValueMap<String, Object> parameters) {
    SysRemoteServerFilter filter = new SysRemoteServerFilter(parameters, getParameterConverter());
    filter.setContainsPassword(Boolean.TRUE);
    // 
    return filter;
}
Also used : SysRemoteServerFilter(eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter)

Example 2 with SysRemoteServerFilter

use of eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter in project CzechIdMng by bcvsolutions.

the class AccInitRemoteServerProcessorIntegrationTest method testInit.

@Test
public void testInit() {
    String host = getHelper().createName();
    String password = getHelper().createName();
    String description = getHelper().createName();
    // 
    SysConnectorServerDto remoteServer = new SysConnectorServerDto();
    remoteServer.setHost(host);
    remoteServer.setPassword(new GuardedString(password));
    remoteServer.setPort(2);
    remoteServer.setTimeout(2);
    remoteServer.setUseSsl(true);
    remoteServerService.save(remoteServer);
    // 
    SysRemoteServerFilter filter = new SysRemoteServerFilter();
    filter.setText(host);
    List<SysConnectorServerDto> results = remoteServerService.find(filter, null).getContent();
    Assert.assertEquals(1, results.size());
    SysConnectorServerDto existRemoteServer = results.get(0);
    // 
    // wee need to save system old way => repository is used
    SysSystem system = new SysSystem();
    system.setRemote(true);
    system.setName(getHelper().createName());
    system.setDescription(description);
    system.setConnectorServer(new SysConnectorServer());
    system.getConnectorServer().setHost(host);
    system.getConnectorServer().setPassword(new GuardedString(password));
    system.getConnectorServer().setPort(1);
    system.getConnectorServer().setTimeout(2);
    system.getConnectorServer().setUseSsl(true);
    system.setBlockedOperation(new SysBlockedOperation());
    SysSystemDto systemOne = systemService.get(systemRepository.save(system).getId());
    confidentialStorage.saveGuardedString(systemOne.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD, new GuardedString(password));
    // 
    system = new SysSystem();
    system.setRemote(true);
    system.setName(getHelper().createName());
    system.setDescription(description);
    system.setConnectorServer(new SysConnectorServer());
    system.getConnectorServer().setHost(host);
    system.getConnectorServer().setPassword(new GuardedString(password));
    system.getConnectorServer().setPort(1);
    system.getConnectorServer().setTimeout(2);
    system.getConnectorServer().setUseSsl(true);
    system.setBlockedOperation(new SysBlockedOperation());
    SysSystemDto systemTwo = systemService.get(systemRepository.save(system).getId());
    confidentialStorage.saveGuardedString(systemTwo.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD, new GuardedString(password));
    // 
    system = new SysSystem();
    system.setRemote(true);
    system.setName(getHelper().createName());
    system.setDescription(description);
    system.setConnectorServer(new SysConnectorServer());
    system.getConnectorServer().setHost(host);
    String differentPassword = getHelper().createName();
    // different password
    system.getConnectorServer().setPassword(new GuardedString(differentPassword));
    system.getConnectorServer().setPort(1);
    system.getConnectorServer().setTimeout(2);
    system.getConnectorServer().setUseSsl(true);
    system.setBlockedOperation(new SysBlockedOperation());
    SysSystemDto systemThree = systemService.get(systemRepository.save(system).getId());
    confidentialStorage.saveGuardedString(systemThree.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD, new GuardedString(differentPassword));
    // 
    system = new SysSystem();
    system.setRemote(true);
    system.setName(getHelper().createName());
    system.setDescription(description);
    system.setConnectorServer(new SysConnectorServer());
    system.getConnectorServer().setHost(host);
    system.getConnectorServer().setPassword(new GuardedString(password));
    system.getConnectorServer().setPort(1);
    system.getConnectorServer().setTimeout(2);
    // useSsl - different
    system.getConnectorServer().setUseSsl(false);
    system.setBlockedOperation(new SysBlockedOperation());
    SysSystemDto systemFour = systemService.get(systemRepository.save(system).getId());
    confidentialStorage.saveGuardedString(systemFour.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD, new GuardedString(password));
    // 
    system = new SysSystem();
    system.setRemote(true);
    system.setName(getHelper().createName());
    system.setDescription(description);
    system.setConnectorServer(new SysConnectorServer());
    system.getConnectorServer().setHost(host);
    system.getConnectorServer().setPassword(new GuardedString(password));
    system.getConnectorServer().setPort(2);
    system.getConnectorServer().setTimeout(2);
    // useSsl - different
    system.getConnectorServer().setUseSsl(true);
    system.setBlockedOperation(new SysBlockedOperation());
    SysSystemDto systemFive = systemService.get(systemRepository.save(system).getId());
    confidentialStorage.saveGuardedString(systemFive.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD, new GuardedString(password));
    // 
    SysSystemFilter systemFilter = new SysSystemFilter();
    systemFilter.setText(description);
    List<SysSystemDto> systems = systemService.find(systemFilter, null).getContent();
    Assert.assertEquals(5, systems.size());
    Assert.assertTrue(systems.stream().allMatch(s -> s.isRemote()));
    Assert.assertTrue(systems.stream().allMatch(s -> s.getRemoteServer() == null));
    // 
    // process migration
    initProcessor.process(new ModuleDescriptorEvent(ModuleDescriptorEventType.INIT, new ModuleDescriptorDto(AccModuleDescriptor.MODULE_ID)));
    // 
    systems = systemService.find(systemFilter, null).getContent();
    Assert.assertTrue(systems.stream().allMatch(s -> s.isRemote()));
    Assert.assertTrue(systems.stream().allMatch(s -> s.getRemoteServer() != null));
    results = remoteServerService.find(filter, null).getContent();
    Assert.assertEquals(4, results.size());
    // 
    // one - two => same
    systemOne = systemService.get(systemOne);
    systemTwo = systemService.get(systemTwo);
    Assert.assertEquals(systemOne.getRemoteServer(), systemTwo.getRemoteServer());
    Assert.assertEquals(password, confidentialStorage.getGuardedString(systemOne.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD).asString());
    Assert.assertEquals(password, confidentialStorage.getGuardedString(systemTwo.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD).asString());
    Assert.assertEquals(password, remoteServerService.getPassword(systemTwo.getRemoteServer()).asString());
    // 
    // three - different password
    systemThree = systemService.get(systemThree);
    Assert.assertEquals(differentPassword, confidentialStorage.getGuardedString(systemThree.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD).asString());
    Assert.assertEquals(differentPassword, remoteServerService.getPassword(systemThree.getRemoteServer()).asString());
    Assert.assertNotEquals(systemOne.getRemoteServer(), systemThree.getRemoteServer());
    // 
    // four - different ssl
    systemFour = systemService.get(systemFour);
    Assert.assertEquals(password, confidentialStorage.getGuardedString(systemOne.getId(), SysSystem.class, SysSystemService.REMOTE_SERVER_PASSWORD).asString());
    Assert.assertEquals(password, remoteServerService.getPassword(systemFour.getRemoteServer()).asString());
    Assert.assertNotEquals(systemOne.getRemoteServer(), systemFour.getRemoteServer());
    Assert.assertNotEquals(systemThree.getRemoteServer(), systemFour.getRemoteServer());
    // 
    // five - exists
    systemFive = systemService.get(systemFive);
    Assert.assertEquals(existRemoteServer.getId(), systemFive.getRemoteServer());
}
Also used : AccModuleDescriptor(eu.bcvsolutions.idm.acc.AccModuleDescriptor) SysSystem(eu.bcvsolutions.idm.acc.entity.SysSystem) SysConnectorServer(eu.bcvsolutions.idm.acc.entity.SysConnectorServer) SysSystemFilter(eu.bcvsolutions.idm.acc.dto.filter.SysSystemFilter) SysSystemService(eu.bcvsolutions.idm.acc.service.api.SysSystemService) Autowired(org.springframework.beans.factory.annotation.Autowired) Test(org.junit.Test) SysSystemDto(eu.bcvsolutions.idm.acc.dto.SysSystemDto) SysSystemRepository(eu.bcvsolutions.idm.acc.repository.SysSystemRepository) ModuleDescriptorEvent(eu.bcvsolutions.idm.core.api.event.ModuleDescriptorEvent) SysConnectorServerDto(eu.bcvsolutions.idm.acc.dto.SysConnectorServerDto) ModuleDescriptorEventType(eu.bcvsolutions.idm.core.api.event.ModuleDescriptorEvent.ModuleDescriptorEventType) List(java.util.List) ConfidentialStorage(eu.bcvsolutions.idm.core.api.service.ConfidentialStorage) SysRemoteServerFilter(eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest) SysRemoteServerService(eu.bcvsolutions.idm.acc.service.api.SysRemoteServerService) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) Assert(org.junit.Assert) SysBlockedOperation(eu.bcvsolutions.idm.acc.entity.SysBlockedOperation) ModuleDescriptorDto(eu.bcvsolutions.idm.core.api.dto.ModuleDescriptorDto) SysSystemFilter(eu.bcvsolutions.idm.acc.dto.filter.SysSystemFilter) SysRemoteServerFilter(eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter) SysConnectorServer(eu.bcvsolutions.idm.acc.entity.SysConnectorServer) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) ModuleDescriptorDto(eu.bcvsolutions.idm.core.api.dto.ModuleDescriptorDto) SysSystemDto(eu.bcvsolutions.idm.acc.dto.SysSystemDto) SysSystem(eu.bcvsolutions.idm.acc.entity.SysSystem) SysBlockedOperation(eu.bcvsolutions.idm.acc.entity.SysBlockedOperation) ModuleDescriptorEvent(eu.bcvsolutions.idm.core.api.event.ModuleDescriptorEvent) SysConnectorServerDto(eu.bcvsolutions.idm.acc.dto.SysConnectorServerDto) Test(org.junit.Test) AbstractIntegrationTest(eu.bcvsolutions.idm.test.api.AbstractIntegrationTest)

Example 3 with SysRemoteServerFilter

use of eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter in project CzechIdMng by bcvsolutions.

the class SysRemoteServerControllerRestTest method testFindByText.

@Test
public void testFindByText() {
    String text = getHelper().createName();
    SysConnectorServerDto remoteServer = prepareDto();
    remoteServer.setHost(text);
    remoteServer.setPassword(new GuardedString(getHelper().createName()));
    remoteServer.setDescription(getHelper().createName());
    SysConnectorServerDto remoteServerOne = createDto(remoteServer);
    remoteServer = prepareDto();
    remoteServer.setHost(getHelper().createName());
    remoteServer.setPassword(new GuardedString(getHelper().createName()));
    remoteServer.setDescription(text);
    SysConnectorServerDto remoteServerTwo = createDto(remoteServer);
    // other
    createDto();
    // 
    SysRemoteServerFilter filter = new SysRemoteServerFilter();
    filter.setText(text);
    List<SysConnectorServerDto> results = find(filter);
    Assert.assertEquals(2, results.size());
    Assert.assertTrue(results.stream().allMatch(r -> r.getPassword().asString().equals(GuardedString.SECRED_PROXY_STRING)));
    Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(remoteServerOne.getId())));
    Assert.assertTrue(results.stream().anyMatch(r -> r.getId().equals(remoteServerTwo.getId())));
}
Also used : Autowired(org.springframework.beans.factory.annotation.Autowired) Test(org.junit.Test) SysConnectorServerDto(eu.bcvsolutions.idm.acc.dto.SysConnectorServerDto) AbstractReadWriteDtoControllerRestTest(eu.bcvsolutions.idm.core.api.rest.AbstractReadWriteDtoControllerRestTest) List(java.util.List) AbstractReadWriteDtoController(eu.bcvsolutions.idm.core.api.rest.AbstractReadWriteDtoController) SecurityMockMvcRequestPostProcessors.authentication(org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.authentication) MockMvcResultMatchers.status(org.springframework.test.web.servlet.result.MockMvcResultMatchers.status) SysRemoteServerFilter(eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter) TestHelper(eu.bcvsolutions.idm.test.api.TestHelper) MockMvcRequestBuilders.get(org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) Assert(org.junit.Assert) SysRemoteServerFilter(eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) GuardedString(eu.bcvsolutions.idm.core.security.api.domain.GuardedString) SysConnectorServerDto(eu.bcvsolutions.idm.acc.dto.SysConnectorServerDto) Test(org.junit.Test) AbstractReadWriteDtoControllerRestTest(eu.bcvsolutions.idm.core.api.rest.AbstractReadWriteDtoControllerRestTest)

Aggregations

SysRemoteServerFilter (eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter)3 SysConnectorServerDto (eu.bcvsolutions.idm.acc.dto.SysConnectorServerDto)2 GuardedString (eu.bcvsolutions.idm.core.security.api.domain.GuardedString)2 List (java.util.List)2 Assert (org.junit.Assert)2 Test (org.junit.Test)2 Autowired (org.springframework.beans.factory.annotation.Autowired)2 AccModuleDescriptor (eu.bcvsolutions.idm.acc.AccModuleDescriptor)1 SysSystemDto (eu.bcvsolutions.idm.acc.dto.SysSystemDto)1 SysSystemFilter (eu.bcvsolutions.idm.acc.dto.filter.SysSystemFilter)1 SysBlockedOperation (eu.bcvsolutions.idm.acc.entity.SysBlockedOperation)1 SysConnectorServer (eu.bcvsolutions.idm.acc.entity.SysConnectorServer)1 SysSystem (eu.bcvsolutions.idm.acc.entity.SysSystem)1 SysSystemRepository (eu.bcvsolutions.idm.acc.repository.SysSystemRepository)1 SysRemoteServerService (eu.bcvsolutions.idm.acc.service.api.SysRemoteServerService)1 SysSystemService (eu.bcvsolutions.idm.acc.service.api.SysSystemService)1 ModuleDescriptorDto (eu.bcvsolutions.idm.core.api.dto.ModuleDescriptorDto)1 ModuleDescriptorEvent (eu.bcvsolutions.idm.core.api.event.ModuleDescriptorEvent)1 ModuleDescriptorEventType (eu.bcvsolutions.idm.core.api.event.ModuleDescriptorEvent.ModuleDescriptorEventType)1 AbstractReadWriteDtoController (eu.bcvsolutions.idm.core.api.rest.AbstractReadWriteDtoController)1