/** * Create new instance of <code>MongoEndpointUser</code>. * @param dto data transfer object contain data that * assign on fields of new instance */ public MongoEndpointUser(EndpointUserDto dto) { this.id = dto.getId(); this.username = dto.getUsername(); this.externalId = dto.getExternalId(); this.tenantId = dto.getTenantId(); this.accessToken = dto.getAccessToken(); this.endpointIds = dto.getEndpointIds(); this.version = dto.getVersion(); }
@Override public EndpointUserDto saveEndpointUser(EndpointUserDto endpointUserDto) { EndpointUserDto endpointUser = null; if (isValidObject(endpointUserDto)) { EndpointUser user = endpointUserDao.findByExternalIdAndTenantId(endpointUserDto .getExternalId(), endpointUserDto.getTenantId()); if (user == null || user.getId().equals(endpointUserDto.getId())) { endpointUser = getDto(endpointUserDao.save(endpointUserDto)); } else { throw new IncorrectParameterException("Can't save endpoint user with same external id"); } } return endpointUser; }
/** * Create new instance of <code>CassandraEndpointUser</code>. * * @param dto data transfer object contain data that * assign on fields of new instance */ public CassandraEndpointUser(EndpointUserDto dto) { this.id = dto.getId(); this.username = dto.getUsername(); this.externalId = dto.getExternalId(); this.tenantId = dto.getTenantId(); this.accessToken = dto.getAccessToken(); this.endpointIds = dto.getEndpointIds(); this.version = dto.getVersion(); }
@Test public void testRemoveByExternalIdAndTenantId() throws Exception { EndpointUserDto expected = generateEndpointUser(); endpointUserDao.removeByExternalIdAndTenantId(expected.getExternalId(), expected.getTenantId()); CassandraEndpointUser found = endpointUserDao.findByExternalIdAndTenantId(expected.getExternalId(), expected.getTenantId()); Assert.assertNull(found); }
@Test public void testCheckAccessToken() throws Exception { EndpointUserDto expected = generateEndpointUser(); String accessToken = endpointUserDao.generateAccessToken(expected.getExternalId(), expected.getTenantId()); Boolean result = endpointUserDao.checkAccessToken(expected.getExternalId(), expected.getTenantId(), accessToken); Assert.assertTrue(result); result = endpointUserDao.checkAccessToken(expected.getExternalId(), expected.getTenantId(), ""); Assert.assertFalse(result); } }
@Test public void testGenerateAccessToken() throws Exception { EndpointUserDto expected = generateEndpointUser(); String accessToken = endpointUserDao.generateAccessToken(expected.getExternalId(), expected.getTenantId()); CassandraEndpointUser found = endpointUserDao.findByExternalIdAndTenantId(expected.getExternalId(), expected.getTenantId()); Assert.assertEquals(accessToken, found.getAccessToken()); }
@Test public void testFindByExternalIdAndTenantId() throws Exception { EndpointUserDto expected = generateEndpointUser(); CassandraEndpointUser found = endpointUserDao.findByExternalIdAndTenantId(expected.getExternalId(), expected.getTenantId()); Assert.assertEquals(expected, found.toDto()); }
@Test public void generateAccessTokenTest() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); Assert.assertNotNull(dto); String accessToken = endpointUserDao.generateAccessToken(dto.getExternalId(), dto.getTenantId().toString()); MongoEndpointUser found = endpointUserDao.findById(dto.getId()); Assert.assertEquals(accessToken, found.getAccessToken()); Assert.assertTrue(endpointUserDao.checkAccessToken(found.getExternalId(), found.getTenantId().toString(), accessToken)); Assert.assertFalse(endpointUserDao.checkAccessToken(found.getTenantId().toString(), found.getExternalId(), "invalid")); }
@Test public void attachEndpointToNewUserByExternalIdTest() { TenantDto tenant = generateTenantDto(); String endpointGroupId = "124"; EndpointProfileDto endpointProfile = generateEndpointProfileWithGroupIdDto(endpointGroupId); String userExternalId = UUID.randomUUID().toString(); String tenantId = tenant.getId(); EndpointProfileDto savedEndpointProfile = endpointService.attachEndpointToUser(userExternalId, tenantId, endpointProfile); Assert.assertNotNull(savedEndpointProfile); Assert.assertNotNull(savedEndpointProfile.getEndpointUserId()); EndpointUserDto attachedEndpointUser = endpointService.findEndpointUserById(savedEndpointProfile.getEndpointUserId()); Assert.assertNotNull(attachedEndpointUser); Assert.assertEquals(userExternalId, attachedEndpointUser.getExternalId()); Assert.assertEquals(userExternalId, attachedEndpointUser.getUsername()); Assert.assertEquals(tenantId, attachedEndpointUser.getTenantId()); List<String> endpointIds = attachedEndpointUser.getEndpointIds(); Assert.assertNotNull(endpointIds); Assert.assertEquals(1, endpointIds.size()); Assert.assertEquals(endpointProfile.getId(), endpointIds.get(0)); }
@Test public void generateEndpointUserAccessTokenTest() { TenantDto tenantDto = generateTenantDto(); EndpointUserDto savedEndpointUserDto = generateEndpointUserDto(tenantDto.getId()); Assert.assertNull(savedEndpointUserDto.getAccessToken()); String generatedAccessToken = endpointService.generateEndpointUserAccessToken(savedEndpointUserDto.getExternalId(), savedEndpointUserDto.getTenantId()); EndpointUserDto endpointUser = endpointService.findEndpointUserById(savedEndpointUserDto.getId()); Assert.assertNotNull(generatedAccessToken); Assert.assertEquals(generatedAccessToken, endpointUser.getAccessToken()); }
@Test public void attachEndpointToExistingUserByExternalIdTest() { TenantDto tenant = generateTenantDto(); String endpointGroupId = "124"; EndpointProfileDto endpointProfile = generateEndpointProfileWithGroupIdDto(endpointGroupId); String tenantId = tenant.getId(); EndpointUserDto endpointUserDto = generateEndpointUserDto(tenantId); String userExternalId = endpointUserDto.getExternalId(); EndpointProfileDto savedEndpointProfile = endpointService.attachEndpointToUser(userExternalId, tenantId, endpointProfile); Assert.assertNotNull(savedEndpointProfile); Assert.assertNotNull(savedEndpointProfile.getEndpointUserId()); EndpointUserDto attachedEndpointUser = endpointService.findEndpointUserById(savedEndpointProfile.getEndpointUserId()); Assert.assertNotNull(attachedEndpointUser); Assert.assertEquals(userExternalId, attachedEndpointUser.getExternalId()); Assert.assertEquals(tenantId, attachedEndpointUser.getTenantId()); List<String> endpointIds = attachedEndpointUser.getEndpointIds(); Assert.assertNotNull(endpointIds); Assert.assertEquals(1, endpointIds.size()); Assert.assertEquals(endpointProfile.getId(), endpointIds.get(0)); }
@Test public void attachEndpointToAlreadyAttachedUserByExternalIdTest() { TenantDto tenant = generateTenantDto(); String endpointGroupId = "124"; EndpointProfileDto endpointProfile = generateEndpointProfileWithGroupIdDto(endpointGroupId); String tenantId = tenant.getId(); EndpointUserDto endpointUserDto = generateEndpointUserDto(tenantId); String userExternalId = endpointUserDto.getExternalId(); EndpointProfileDto savedEndpointProfile = endpointService.attachEndpointToUser(userExternalId, tenantId, endpointProfile); savedEndpointProfile = endpointService.attachEndpointToUser(userExternalId, tenantId, savedEndpointProfile); Assert.assertNotNull(savedEndpointProfile); Assert.assertNotNull(savedEndpointProfile.getEndpointUserId()); EndpointUserDto attachedEndpointUser = endpointService.findEndpointUserById(savedEndpointProfile.getEndpointUserId()); Assert.assertNotNull(attachedEndpointUser); Assert.assertEquals(userExternalId, attachedEndpointUser.getExternalId()); Assert.assertEquals(tenantId, attachedEndpointUser.getTenantId()); List<String> endpointIds = attachedEndpointUser.getEndpointIds(); Assert.assertNotNull(endpointIds); Assert.assertEquals(1, endpointIds.size()); Assert.assertEquals(endpointProfile.getId(), endpointIds.get(0)); }