From 38a626da2cf388fdb8e7d7837ead1a3fa8349aed Mon Sep 17 00:00:00 2001 From: Kodai Doki <52027276+KodaiD@users.noreply.github.com> Date: Wed, 3 Sep 2025 05:34:19 +0000 Subject: [PATCH 1/2] Empty commit [skip ci] From 86a28f86960a8e1152263f6b5669cc48abb68758 Mon Sep 17 00:00:00 2001 From: Kodai Doki <52027276+KodaiD@users.noreply.github.com> Date: Wed, 3 Sep 2025 14:34:01 +0900 Subject: [PATCH 2/2] Resolve conflicts --- ...rageAdminPermissionIntegrationTestBase.java | 18 ++++++++++++++++++ ...edStoragePermissionIntegrationTestBase.java | 13 +++++++++++++ 2 files changed, 31 insertions(+) diff --git a/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminPermissionIntegrationTestBase.java b/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminPermissionIntegrationTestBase.java index d7fccd4754..3503c31979 100644 --- a/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminPermissionIntegrationTestBase.java +++ b/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminPermissionIntegrationTestBase.java @@ -120,6 +120,7 @@ public void getImportTableMetadata_WithSufficientPermission_ShouldSucceed() // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.getImportTableMetadata(NAMESPACE, TABLE)) .doesNotThrowAnyException(); @@ -131,6 +132,7 @@ public void addRawColumnToTable_WithSufficientPermission_ShouldSucceed() // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode( () -> @@ -142,6 +144,7 @@ public void addRawColumnToTable_WithSufficientPermission_ShouldSucceed() @Test public void createNamespace_WithSufficientPermission_ShouldSucceed() { // Arrange + // Act Assert assertThatCode(() -> adminForNormalUser.createNamespace(NAMESPACE, getCreationOptions())) .doesNotThrowAnyException(); @@ -151,6 +154,7 @@ public void createNamespace_WithSufficientPermission_ShouldSucceed() { public void createTable_WithSufficientPermission_ShouldSucceed() throws ExecutionException { // Arrange createNamespaceByRoot(); + // Act Assert assertThatCode( () -> @@ -164,6 +168,7 @@ public void dropTable_WithSufficientPermission_ShouldSucceed() throws ExecutionE // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.dropTable(NAMESPACE, TABLE)).doesNotThrowAnyException(); } @@ -172,6 +177,7 @@ public void dropTable_WithSufficientPermission_ShouldSucceed() throws ExecutionE public void dropNamespace_WithSufficientPermission_ShouldSucceed() throws ExecutionException { // Arrange createNamespaceByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.dropNamespace(NAMESPACE, true)) .doesNotThrowAnyException(); @@ -182,6 +188,7 @@ public void truncateTable_WithSufficientPermission_ShouldSucceed() throws Execut // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.truncateTable(NAMESPACE, TABLE)) .doesNotThrowAnyException(); @@ -192,6 +199,7 @@ public void createIndex_WithSufficientPermission_ShouldSucceed() throws Executio // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode( () -> adminForNormalUser.createIndex(NAMESPACE, TABLE, COL_NAME3, getCreationOptions())) @@ -203,6 +211,7 @@ public void dropIndex_WithSufficientPermission_ShouldSucceed() throws ExecutionE // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.dropIndex(NAMESPACE, TABLE, COL_NAME4)) .doesNotThrowAnyException(); @@ -213,6 +222,7 @@ public void indexExists_WithSufficientPermission_ShouldSucceed() throws Executio // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.indexExists(NAMESPACE, TABLE, COL_NAME4)) .doesNotThrowAnyException(); @@ -223,6 +233,7 @@ public void getTableMetadata_WithSufficientPermission_ShouldSucceed() throws Exe // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.getTableMetadata(NAMESPACE, TABLE)) .doesNotThrowAnyException(); @@ -234,6 +245,7 @@ public void getNamespaceTableNames_WithSufficientPermission_ShouldSucceed() // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.getNamespaceTableNames(NAMESPACE)) .doesNotThrowAnyException(); @@ -244,6 +256,7 @@ public void namespaceExists_WithSufficientPermission_ShouldSucceed() throws Exec // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.namespaceExists(NAMESPACE)).doesNotThrowAnyException(); } @@ -253,6 +266,7 @@ public void tableExists_WithSufficientPermission_ShouldSucceed() throws Executio // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.tableExists(NAMESPACE, TABLE)) .doesNotThrowAnyException(); @@ -270,6 +284,7 @@ public void repairTable_WithSufficientPermission_ShouldSucceed() throws Exceptio } finally { adminTestUtils.close(); } + // Act Assert assertThatCode( () -> @@ -284,6 +299,7 @@ public void addNewColumnToTable_WithSufficientPermission_ShouldSucceed() // Arrange createNamespaceByRoot(); createTableByRoot(); + // Act Assert assertThatCode( () -> @@ -303,6 +319,7 @@ public void importTable_WithSufficientPermission_ShouldSucceed() throws Exceptio } finally { adminTestUtils.close(); } + // Act Assert assertThatCode(() -> adminForNormalUser.importTable(NAMESPACE, TABLE, getCreationOptions())) .doesNotThrowAnyException(); @@ -312,6 +329,7 @@ public void importTable_WithSufficientPermission_ShouldSucceed() throws Exceptio public void getNamespaceNames_WithSufficientPermission_ShouldSucceed() throws ExecutionException { // Arrange createNamespaceByRoot(); + // Act Assert assertThatCode(() -> adminForNormalUser.getNamespaceNames()).doesNotThrowAnyException(); } diff --git a/integration-test/src/main/java/com/scalar/db/api/DistributedStoragePermissionIntegrationTestBase.java b/integration-test/src/main/java/com/scalar/db/api/DistributedStoragePermissionIntegrationTestBase.java index 660ecc052b..f90c5b66d2 100644 --- a/integration-test/src/main/java/com/scalar/db/api/DistributedStoragePermissionIntegrationTestBase.java +++ b/integration-test/src/main/java/com/scalar/db/api/DistributedStoragePermissionIntegrationTestBase.java @@ -118,6 +118,7 @@ public void get_WithSufficientPermission_ShouldSucceed() { .partitionKey(Key.ofInt(COL_NAME1, PARTITION_KEY_VALUE)) .clusteringKey(Key.ofText(COL_NAME2, CLUSTERING_KEY_VALUE1)) .build(); + // Act Assert assertThatCode(() -> storageForNormalUser.get(get)).doesNotThrowAnyException(); } @@ -131,6 +132,7 @@ public void get_WithIndexKey_WithSufficientPermission_ShouldSucceed() { .table(TABLE) .indexKey(Key.ofInt("c3", INT_COLUMN_VALUE1)) .build(); + // Act Assert assertThatCode(() -> storageForNormalUser.get(get)).doesNotThrowAnyException(); } @@ -144,6 +146,7 @@ public void scan_WithSufficientPermission_ShouldSucceed() { .table(TABLE) .partitionKey(Key.ofInt(COL_NAME1, PARTITION_KEY_VALUE)) .build(); + // Act Assert assertThatCode(() -> storageForNormalUser.scan(scan).close()).doesNotThrowAnyException(); } @@ -157,6 +160,7 @@ public void scan_WithIndexKey_WithSufficientPermission_ShouldSucceed() { .table(TABLE) .indexKey(Key.ofInt("c3", INT_COLUMN_VALUE1)) .build(); + // Act Assert assertThatCode(() -> storageForNormalUser.scan(scan).close()).doesNotThrowAnyException(); } @@ -165,6 +169,7 @@ public void scan_WithIndexKey_WithSufficientPermission_ShouldSucceed() { public void scanAll_WithSufficientPermission_ShouldSucceed() { // Arrange Scan scan = Scan.newBuilder().namespace(namespace).table(TABLE).all().build(); + // Act Assert assertThatCode(() -> storageForNormalUser.scan(scan).close()).doesNotThrowAnyException(); } @@ -173,6 +178,7 @@ public void scanAll_WithSufficientPermission_ShouldSucceed() { public void put_WithoutCondition_WithSufficientPermission_ShouldSucceed() { // Arrange Put put = createPut(CLUSTERING_KEY_VALUE1, INT_COLUMN_VALUE1, null); + // Act Assert assertThatCode(() -> storageForNormalUser.put(put)).doesNotThrowAnyException(); } @@ -182,6 +188,7 @@ public void put_WithPutIfNotExists_WithSufficientPermission_ShouldSucceed() { // Arrange Put putWithPutIfNotExists = createPut(CLUSTERING_KEY_VALUE1, INT_COLUMN_VALUE1, ConditionBuilder.putIfNotExists()); + // Act Assert assertThatCode(() -> storageForNormalUser.put(putWithPutIfNotExists)) .doesNotThrowAnyException(); @@ -195,6 +202,7 @@ public void put_WithPutIfExists_WithSufficientPermission_ShouldSucceed() storageForNormalUser.put(put); Put putWithPutIfExists = createPut(CLUSTERING_KEY_VALUE1, INT_COLUMN_VALUE2, ConditionBuilder.putIfExists()); + // Act Assert assertThatCode(() -> storageForNormalUser.put(putWithPutIfExists)).doesNotThrowAnyException(); } @@ -221,6 +229,7 @@ public void put_WithMultiplePuts_WithSufficientPermission_ShouldSucceed() { // Arrange Put put1 = createPut(CLUSTERING_KEY_VALUE1, INT_COLUMN_VALUE1, null); Put put2 = createPut(CLUSTERING_KEY_VALUE2, INT_COLUMN_VALUE2, null); + // Act Assert assertThatCode(() -> storageForNormalUser.put(Arrays.asList(put1, put2))) .doesNotThrowAnyException(); @@ -230,6 +239,7 @@ public void put_WithMultiplePuts_WithSufficientPermission_ShouldSucceed() { public void delete_WithSufficientPermission_ShouldSucceed() { // Arrange Delete delete = createDelete(CLUSTERING_KEY_VALUE1, null); + // Act Assert assertThatCode(() -> storageForNormalUser.delete(delete)).doesNotThrowAnyException(); } @@ -241,6 +251,7 @@ public void delete_WithDeleteIfExists_WithSufficientPermission_ShouldSucceed() Put put = createPut(CLUSTERING_KEY_VALUE1, INT_COLUMN_VALUE1, null); storageForNormalUser.put(put); Delete delete = createDelete(CLUSTERING_KEY_VALUE1, ConditionBuilder.deleteIfExists()); + // Act Assert assertThatCode(() -> storageForNormalUser.delete(delete)).doesNotThrowAnyException(); } @@ -266,6 +277,7 @@ public void delete_WithMultipleDeletes_WithSufficientPermission_ShouldSucceed() // Arrange Delete delete1 = createDelete(CLUSTERING_KEY_VALUE1, null); Delete delete2 = createDelete(CLUSTERING_KEY_VALUE2, null); + // Act Assert assertThatCode(() -> storageForNormalUser.delete(Arrays.asList(delete1, delete2))) .doesNotThrowAnyException(); @@ -276,6 +288,7 @@ public void mutate_WithSufficientPermission_ShouldSucceed() { // Arrange Put put = createPut(CLUSTERING_KEY_VALUE1, INT_COLUMN_VALUE1, null); Delete delete = createDelete(CLUSTERING_KEY_VALUE2, null); + // Act Assert assertThatCode(() -> storageForNormalUser.mutate(Arrays.asList(put, delete))) .doesNotThrowAnyException();