diff --git a/bindings/java/src/test/com/apple/foundationdb/test/AsyncStackTester.java b/bindings/java/src/test/com/apple/foundationdb/test/AsyncStackTester.java index 70263b510a..a66813524a 100644 --- a/bindings/java/src/test/com/apple/foundationdb/test/AsyncStackTester.java +++ b/bindings/java/src/test/com/apple/foundationdb/test/AsyncStackTester.java @@ -483,6 +483,14 @@ public class AsyncStackTester { inst.push(TenantManagement.deleteTenant(inst.context.db, tenantName)); }, FDB.DEFAULT_EXECUTOR); } + else if (op == StackOperation.TENANT_LIST) { + return inst.popParams(3).thenAcceptAsync(params -> { + byte[] begin = (byte[])params.get(0); + byte[] end = (byte[])params.get(1); + int limit = StackUtils.getInt(params.get(2)); + inst.push(TenantManagement.listTenants(inst.context.db, begin, end, limit)); + }, FDB.DEFAULT_EXECUTOR); + } else if (op == StackOperation.TENANT_SET_ACTIVE) { return inst.popParam().thenAcceptAsync(param -> { byte[] tenantName = (byte[])param; diff --git a/bindings/java/src/test/com/apple/foundationdb/test/StackOperation.java b/bindings/java/src/test/com/apple/foundationdb/test/StackOperation.java index 5cd013195d..e67d4cff81 100644 --- a/bindings/java/src/test/com/apple/foundationdb/test/StackOperation.java +++ b/bindings/java/src/test/com/apple/foundationdb/test/StackOperation.java @@ -76,6 +76,7 @@ enum StackOperation { // Tenants TENANT_CREATE, TENANT_DELETE, + TENANT_LIST, TENANT_SET_ACTIVE, TENANT_CLEAR_ACTIVE, diff --git a/bindings/java/src/test/com/apple/foundationdb/test/StackTester.java b/bindings/java/src/test/com/apple/foundationdb/test/StackTester.java index 0fc9141c96..002af5e97a 100644 --- a/bindings/java/src/test/com/apple/foundationdb/test/StackTester.java +++ b/bindings/java/src/test/com/apple/foundationdb/test/StackTester.java @@ -429,6 +429,13 @@ public class StackTester { byte[] tenantName = (byte[])inst.popParam().join(); inst.push(TenantManagement.deleteTenant(inst.context.db, tenantName)); } + else if (op == StackOperation.TENANT_LIST) { + List params = inst.popParams(3).join(); + byte[] begin = (byte[])params.get(0); + byte[] end = (byte[])params.get(1); + int limit = StackUtils.getInt(params.get(2)); + inst.push(TenantManagement.listTenants(inst.context.db, begin, end, limit)); + } else if (op == StackOperation.TENANT_SET_ACTIVE) { byte[] tenantName = (byte[])inst.popParam().join(); inst.context.setTenant(Optional.of(tenantName)); diff --git a/bindings/python/tests/tenant_tests.py b/bindings/python/tests/tenant_tests.py index 2af7dd3307..b1d883a5ed 100755 --- a/bindings/python/tests/tenant_tests.py +++ b/bindings/python/tests/tenant_tests.py @@ -59,6 +59,10 @@ def test_tenant_operations(db): fdb.tenant_management.create_tenant(db, b'tenant1') fdb.tenant_management.create_tenant(db, b'tenant2') + tenant_list = fdb.tenant_management.list_tenants(db, b'a', b'z', 10).to_list() + assert tenant_list[0] == b'tenant1' + assert tenant_list[1] == b'tenant2' + tenant1 = db.open_tenant(b'tenant1') tenant2 = db.open_tenant(b'tenant2')