(improvement)(Demo) The demo opens data query permission to new user by default (#1197)

Co-authored-by: lxwcodemonkey
This commit is contained in:
LXW
2024-06-23 21:57:49 +08:00
committed by GitHub
parent 6a66db7c0e
commit 871c88d167
9 changed files with 39 additions and 24 deletions

View File

@@ -12,6 +12,8 @@ import com.tencent.supersonic.headless.api.pojo.request.QuerySqlReq;
import com.tencent.supersonic.headless.api.pojo.request.QueryStructReq;
import com.tencent.supersonic.headless.api.pojo.request.SemanticQueryReq;
import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
import com.tencent.supersonic.headless.server.persistence.dataobject.DomainDO;
import com.tencent.supersonic.headless.server.persistence.repository.DomainRepository;
import com.tencent.supersonic.headless.server.service.SemanticLayerService;
import com.tencent.supersonic.util.DataUtils;
import org.apache.commons.collections.CollectionUtils;
@@ -28,6 +30,9 @@ public class BaseTest extends BaseApplication {
@Autowired
protected SemanticLayerService semanticLayerService;
@Autowired
private DomainRepository domainRepository;
protected SemanticQueryResp queryBySql(String sql) throws Exception {
return queryBySql(sql, User.getFakeUser());
}
@@ -97,4 +102,11 @@ public class BaseTest extends BaseApplication {
return queryStructReq;
}
protected void setDomainNotOpenToAll() {
Long s2Domain = 1L;
DomainDO domainDO = domainRepository.getDomainById(s2Domain);
domainDO.setIsOpen(0);
domainRepository.updateDomain(domainDO);
}
}

View File

@@ -1,10 +1,5 @@
package com.tencent.supersonic.headless;
import static java.time.LocalDate.now;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
@@ -13,6 +8,11 @@ import com.tencent.supersonic.util.DataUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static java.time.LocalDate.now;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
public class QueryBySqlTest extends BaseTest {
@Test
@@ -93,6 +93,7 @@ public class QueryBySqlTest extends BaseTest {
@Test
public void testAuthorization_model() {
User alice = DataUtils.getUserAlice();
setDomainNotOpenToAll();
assertThrows(InvalidPermissionException.class,
() -> queryBySql("SELECT SUM(pv) FROM 超音数PVUV统计 WHERE department ='HR'", alice));
}

View File

@@ -103,7 +103,8 @@ public class QueryByStructTest extends BaseTest {
@Test
public void testAuthorization_model() {
User alice = new User(2L, "alice", "alice", "alice@email", 0);
User alice = DataUtils.getUserAlice();
setDomainNotOpenToAll();
QueryStructReq queryStructReq1 = buildQueryStructReq(Arrays.asList("department"));
assertThrows(InvalidPermissionException.class,
() -> semanticLayerService.queryByReq(queryStructReq1, alice));

View File

@@ -30,6 +30,7 @@ public class SchemaAuthTest extends BaseTest {
@Test
public void test_getDomainList_alice() {
User user = DataUtils.getUserAlice();
setDomainNotOpenToAll();
List<DomainResp> domainResps = domainService.getDomainListWithAdminAuth(user);
List<String> expectedDomainBizNames = Lists.newArrayList("supersonic", "visit_info", "singer", "singer_info");
Assertions.assertEquals(expectedDomainBizNames,