@Override public void removeById(String id) { LOG.debug("Try to remove endpoint user by id {}", id); CassandraEndpointUser endpointUser = new CassandraEndpointUser(id); removeByExternalIdAndTenantId(endpointUser.getExternalId(), endpointUser.getTenantId()); }
@Override public boolean checkAccessToken(String externalId, String tenantId, String accessToken) { LOG.debug("Check access token [{}] for endpoint user with external id {} and tenant id {}", accessToken, externalId, tenantId); boolean result = false; CassandraEndpointUser endpointUser = findByExternalIdAndTenantId(externalId, tenantId); if (endpointUser != null && accessToken != null) { result = accessToken.equals(endpointUser.getAccessToken()); } return result; }
@Override public CassandraEndpointUser save(CassandraEndpointUser object) { if (isBlank(object.getId())) { object.generateId(); } LOG.trace("Save endpoint user {}", object); return super.save(object); }
protected EndpointUserDto generateEndpointUser(List<String> endpointIds) { EndpointUserDto endpointUserDto = new EndpointUserDto(); endpointUserDto.setExternalId(UUID.randomUUID().toString()); endpointUserDto.setUsername("Test username"); endpointUserDto.setTenantId(UUID.randomUUID().toString()); endpointUserDto.setEndpointIds(endpointIds); return endpointUserDao.save(new CassandraEndpointUser(endpointUserDto)).toDto(); }
@Override public CassandraEndpointUser save(EndpointUserDto dto) { return save(new CassandraEndpointUser(dto)); }
@Test public void testSave() throws Exception { EndpointUserDto expected = generateEndpointUser(); CassandraEndpointUser found = endpointUserDao.findById(expected.getId()); Assert.assertEquals(expected, found.toDto()); }
@Override public List<CassandraEndpointProfile> findByEndpointUserId(String endpointUserId) { LOG.debug("Try to find endpoint profiles by endpoint user id [{}]", endpointUserId); List<CassandraEndpointProfile> profileList = Collections.emptyList(); CassandraEndpointUser endpointUser = endpointUserDao.findById(endpointUserId); if (endpointUser != null) { List<String> ids = endpointUser.getEndpointIds(); if (ids != null && !ids.isEmpty()) { Statement select = select().from(getColumnFamilyName()) .where(in(EP_EP_KEY_HASH_PROPERTY, convertStringIds(ids))); LOG.trace("Execute statements {}", select); profileList = findListByStatement(select); } } if (LOG.isTraceEnabled()) { LOG.trace("Found endpoint profiles {}", Arrays.toString(profileList.toArray())); } return profileList; }
@Test public void testFindByExternalIdAndTenantId() throws Exception { EndpointUserDto expected = generateEndpointUser(); CassandraEndpointUser found = endpointUserDao.findByExternalIdAndTenantId(expected.getExternalId(), expected.getTenantId()); Assert.assertEquals(expected, found.toDto()); }
@Override public CassandraEndpointUser findById(String id) { LOG.debug("Try to find endpoint user by id {}", id); CassandraEndpointUser endpointUser = new CassandraEndpointUser(id); endpointUser = findByExternalIdAndTenantId( endpointUser.getExternalId(), endpointUser.getTenantId() ); LOG.trace("Found endpoint user {} by id {}", endpointUser, id); return endpointUser; }
@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()); }