diff --git a/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_role.groovy b/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_role.groovy index 22b4f4a1f4f10e..ef61f802ae528a 100644 --- a/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_role.groovy +++ b/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_role.groovy @@ -100,8 +100,8 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { """ result = showRoles.call(roleName) - assertEquals(result.CloudClusterPrivs as String, "$testClusterA: Cluster_usage_priv " as String) - assertEquals(result.CloudStagePrivs as String, "$testStageA: Stage_usage_priv " as String) + assertEquals(result.CloudClusterPrivs as String, "$testClusterA: Cluster_usage_priv" as String) + assertEquals(result.CloudStagePrivs as String, "$testStageA: Stage_usage_priv" as String) assertEquals(result.Users as String, "") sql """ @@ -116,8 +116,8 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { GRANT SELECT_PRIV ON *.*.* TO ROLE '${roleName}' """ result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv " - assertEquals("[$testClusterA: Cluster_usage_priv ; $validCluster: Cluster_usage_priv ]" as String, result.CloudClusterPrivs as String) + commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv" + assertEquals("[$testClusterA: Cluster_usage_priv; $validCluster: Cluster_usage_priv]" as String, result.CloudClusterPrivs as String) def db = context.dbName sql """ @@ -159,25 +159,25 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { assertTrue(m.keySet().containsAll(Arrays.asList("${testClusterA}" as String, "%", "${validCluster}" as String)) as boolean) assertEquals(m.values().toUnique().asList().size(), 1) assertEquals(m.values().toUnique().asList().get(0) as String, "Cluster_usage_priv") - assertEquals(result.GlobalPrivs as String, "Select_priv " as String) + assertEquals(result.GlobalPrivs as String, "Select_priv" as String) m = splitCloudAuth(result.CloudStagePrivs as String) assertTrue(m.keySet().containsAll(Arrays.asList("${testStageA}" as String, "%")) as boolean) assertEquals(m.values().toUnique().asList().size(), 1) assertEquals(m.values().toUnique().asList().get(0) as String, "Stage_usage_priv") - assertEquals(result.GlobalPrivs as String, "Select_priv " as String) + assertEquals(result.GlobalPrivs as String, "Select_priv" as String) def matcher = result.Users =~ /.*${user1}.*/ assertTrue(matcher.matches()) result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv " + commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv" m = splitCloudAuth(result.CloudClusterPrivs[0] as String) log.info(m.keySet() as String) // clusterA: Cluster_usage_priv ; %: Cluster_usage_priv ; compute_cluster: Cluster_usage_priv assertTrue(m.keySet().containsAll(Arrays.asList("${testClusterA}" as String, "%", "${validCluster}" as String)) as boolean) assertEquals(m.values().toUnique().asList().size(), 1) assertEquals(m.values().toUnique().asList().get(0) as String, "Cluster_usage_priv") - assertEquals(result.GlobalPrivs[0] as String, "Select_priv " as String) + assertEquals(result.GlobalPrivs[0] as String, "Select_priv" as String) def otherRole = "testOtherRole" def testClusterB = "clusterB" @@ -192,8 +192,8 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { """ result = showRoles.call(otherRole) - assertEquals(result.CloudClusterPrivs as String, "$testClusterB: Cluster_usage_priv " as String) - assertEquals(result.CloudStagePrivs as String, "$testStageB: Stage_usage_priv " as String) + assertEquals(result.CloudClusterPrivs as String, "$testClusterB: Cluster_usage_priv" as String) + assertEquals(result.CloudStagePrivs as String, "$testStageB: Stage_usage_priv" as String) assertEquals(result.Users as String, "") // add more roles to user1 @@ -201,14 +201,14 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { GRANT '$otherRole' TO '$user1'; """ result = showRoles.call(otherRole) - assertEquals(result.CloudClusterPrivs as String, "$testClusterB: Cluster_usage_priv " as String) - assertEquals(result.CloudStagePrivs as String, "$testStageB: Stage_usage_priv " as String) + assertEquals(result.CloudClusterPrivs as String, "$testClusterB: Cluster_usage_priv" as String) + assertEquals(result.CloudStagePrivs as String, "$testStageB: Stage_usage_priv" as String) matcher = result.Users =~ /.*${user1}.*/ assertTrue(matcher.matches()) result = sql_return_maparray """show grants for '${user1}'""" log.info(result as String) - commonAuth result, "'${user1}'@'%'", "Yes", "testOtherRole,testRole", "Select_priv " + commonAuth result, "'${user1}'@'%'", "Yes", "testOtherRole,testRole", "Select_priv" // [%: Cluster_usage_priv ; clusterA: Cluster_usage_priv ; clusterB: Cluster_usage_priv ; compute_cluster: Cluster_usage_priv ] m = splitCloudAuth(result.CloudClusterPrivs[0] as String) assertTrue(m.keySet().containsAll(Arrays.asList("${testClusterA}" as String, "%", "${validCluster}" as String, "${testClusterB}" as String)) as boolean) @@ -236,7 +236,7 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { assertTrue(matcher.matches()) result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "testOtherRole,testRole", "Select_priv " + commonAuth result, "'${user1}'@'%'", "Yes", "testOtherRole,testRole", "Select_priv" log.info(result as String) // CloudClusterPrivs:%: Cluster_usage_priv ; clusterB: Cluster_usage_priv ; compute_cluster: Cluster_usage_priv m = splitCloudAuth(result.CloudClusterPrivs[0] as String) @@ -250,11 +250,11 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { """ result = showRoles.call(otherRole) - assertEquals(result.CloudClusterPrivs as String, "$testClusterB: Cluster_usage_priv " as String) + assertEquals(result.CloudClusterPrivs as String, "$testClusterB: Cluster_usage_priv" as String) assertEquals(result.Users as String, "") result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv " + commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv" log.info(result as String) // CloudClusterPrivs:%: Cluster_usage_priv ; compute_cluster: Cluster_usage_priv m = splitCloudAuth(result.CloudClusterPrivs[0] as String) @@ -283,7 +283,7 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { } result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv " + commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv" m = splitCloudAuth(result.CloudClusterPrivs[0] as String) assertTrue(m.keySet().containsAll(Arrays.asList("%")) as boolean) assertEquals(m.values().toUnique().asList().size(), 1) @@ -305,10 +305,10 @@ suite("test_grant_revoke_cluster_stage_to_role", "cloud_auth") { assertEquals(m.size(), 0) m = splitCloudAuth(result.CloudStagePrivs as String) assertEquals(m.size(), 0) - assertEquals(result.GlobalPrivs as String, "Select_priv " as String) + assertEquals(result.GlobalPrivs as String, "Select_priv" as String) result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv " + commonAuth result, "'${user1}'@'%'", "Yes", "testRole", "Select_priv" // can not use @cluster, because no cluster auth connect(user = "${user1}", password = 'Cloud12345', url = context.config.jdbcUrl) { diff --git a/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_to_user.groovy b/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_to_user.groovy index d3c46bf9868876..b85b2f1f8a8bf8 100644 --- a/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_to_user.groovy +++ b/regression-test/suites/cloud_p0/auth/test_grant_revoke_cluster_to_user.groovy @@ -68,7 +68,7 @@ suite("test_grant_revoke_cluster_to_user", "cloud_auth") { // ${user1} admin role sql """create user ${user1} identified by 'Cloud12345' default role 'admin'""" result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv " + commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv" assertNull(result.CloudClusterPrivs[0]) // ${user2} not admin role @@ -124,13 +124,13 @@ suite("test_grant_revoke_cluster_to_user", "cloud_auth") { // case run user(default root), and show grant again, should be same result result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv " - assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv " as String) + commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv" + assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv" as String) sql """GRANT USAGE_PRIV ON CLUSTER '${cluster1}' TO '${user1}'""" result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv " - assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv " as String) + commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv" + assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv" as String) connect(user = "${user1}", password = 'Cloud12345', url = context.config.jdbcUrl) { test { @@ -138,8 +138,8 @@ suite("test_grant_revoke_cluster_to_user", "cloud_auth") { exception "Cluster ${cluster1} not exist" } result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'", "Yes", "admin", "Admin_priv " - assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv " as String) + commonAuth result, "'${user1}'@'%'", "Yes", "admin", "Admin_priv" + assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv" as String) } @@ -214,8 +214,8 @@ suite("test_grant_revoke_cluster_to_user", "cloud_auth") { exception "USAGE denied to user" } result = sql_return_maparray """show grants for '${user2}'""" - commonAuth result, "'${user2}'@'%'" as String, "Yes", "", "Select_priv " - assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv " as String) + commonAuth result, "'${user2}'@'%'" as String, "Yes", "", "Select_priv" + assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv" as String) test { sql """REVOKE USAGE_PRIV ON CLUSTER 'NotExistCluster' FROM '${user2}'""" @@ -225,8 +225,8 @@ suite("test_grant_revoke_cluster_to_user", "cloud_auth") { sql """REVOKE USAGE_PRIV ON CLUSTER '${validCluster}' FROM '${user2}'""" result = sql_return_maparray """show grants for '${user2}'""" - commonAuth result, "'${user2}'@'%'" as String, "Yes", "", "Select_priv " - assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv " as String) + commonAuth result, "'${user2}'@'%'" as String, "Yes", "", "Select_priv" + assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv" as String) sql "sync" // 3. revoke cluster @@ -250,12 +250,12 @@ suite("test_grant_revoke_cluster_to_user", "cloud_auth") { } result = sql_return_maparray """show grants for '${user1}'""" - commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv " + commonAuth result, "'${user1}'@'%'" as String, "Yes", "admin", "Admin_priv" assertNull(result.CloudClusterPrivs[0]) result = sql_return_maparray """show grants for '${user2}'""" - commonAuth result, "'${user2}'@'%'" as String, "Yes", "", "Select_priv " - assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv " as String) + commonAuth result, "'${user2}'@'%'" as String, "Yes", "", "Select_priv" + assertEquals(result.CloudClusterPrivs[0] as String, "${cluster1}: Cluster_usage_priv" as String) // revoke user1 admin role sql """REVOKE 'admin' FROM ${user1}""" diff --git a/regression-test/suites/load_p0/stream_load/test_stream_load_move_memtable.groovy b/regression-test/suites/load_p0/stream_load/test_stream_load_move_memtable.groovy index cf8b7e63217626..3696bfea550e87 100644 --- a/regression-test/suites/load_p0/stream_load/test_stream_load_move_memtable.groovy +++ b/regression-test/suites/load_p0/stream_load/test_stream_load_move_memtable.groovy @@ -877,8 +877,17 @@ suite("test_stream_load_move_memtable", "p0") { PROPERTIES ("replication_allocation" = "tag.location.default: 1"); """ + sql "sync" + try_sql """DROP USER 'ddd'""" sql """create USER ddd IDENTIFIED BY '123456test!'""" sql """GRANT LOAD_PRIV ON *.* TO 'ddd'@'%';""" + //cloud-mode + if (isCloudMode()) { + def clusters = sql " SHOW CLUSTERS; " + assertTrue(!clusters.isEmpty()) + def validCluster = clusters[0][0] + sql """GRANT USAGE_PRIV ON CLUSTER ${validCluster} TO ddd"""; + } streamLoad { table "${tableName13}"