Search in sources :

Example 1 with SysConnectorServer

use of eu.bcvsolutions.idm.acc.entity.SysConnectorServer 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)

Aggregations

AccModuleDescriptor (eu.bcvsolutions.idm.acc.AccModuleDescriptor)1 SysConnectorServerDto (eu.bcvsolutions.idm.acc.dto.SysConnectorServerDto)1 SysSystemDto (eu.bcvsolutions.idm.acc.dto.SysSystemDto)1 SysRemoteServerFilter (eu.bcvsolutions.idm.acc.dto.filter.SysRemoteServerFilter)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 ConfidentialStorage (eu.bcvsolutions.idm.core.api.service.ConfidentialStorage)1 GuardedString (eu.bcvsolutions.idm.core.security.api.domain.GuardedString)1 AbstractIntegrationTest (eu.bcvsolutions.idm.test.api.AbstractIntegrationTest)1 List (java.util.List)1 Assert (org.junit.Assert)1 Test (org.junit.Test)1