This is an automated email from the ASF dual-hosted git repository.

pearl11594 pushed a commit to branch netris-integration-upstream
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 36f75ce3ef1f98c70ca9fee3ef7c619f78cf6c07
Author: nvazquez <nicovazque...@gmail.com>
AuthorDate: Fri Oct 11 10:05:01 2024 -0300

    List tenants
---
 .../java/org/apache/cloudstack/service/NetrisApiClient.java   |  4 +++-
 .../org/apache/cloudstack/service/NetrisApiClientImpl.java    | 11 ++++++++++-
 .../apache/cloudstack/service/NetrisApiClientImplTest.java    | 10 +++++++++-
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
index cc6ffee1102..1085b780a18 100644
--- 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
+++ 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
@@ -16,8 +16,10 @@
 // under the License.
 package org.apache.cloudstack.service;
 
+import io.netris.ApiException;
 import io.netris.model.GetSiteBody;
 import io.netris.model.VPCListing;
+import io.netris.model.response.TenantResponse;
 
 import java.util.List;
 
@@ -25,5 +27,5 @@ public interface NetrisApiClient {
     boolean isSessionAlive();
     List<GetSiteBody> listSites();
     List<VPCListing> listVPCs();
-
+    List<TenantResponse> listTenants() throws ApiException;
 }
diff --git 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
index 3be955954fe..233e1115826 100644
--- 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
+++ 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
@@ -22,6 +22,7 @@ import io.netris.ApiException;
 import io.netris.ApiResponse;
 import io.netris.api.v1.AuthenticationApi;
 import io.netris.api.v1.SitesApi;
+import io.netris.api.v1.TenantsApi;
 import io.netris.api.v2.VpcApi;
 import io.netris.model.AuthSchema;
 import io.netris.model.GetSiteBody;
@@ -29,6 +30,8 @@ import io.netris.model.SitesResponseOK;
 import io.netris.model.VPCListing;
 import io.netris.model.VPCResponseOK;
 import io.netris.model.response.AuthResponse;
+import io.netris.model.response.TenantResponse;
+import io.netris.model.response.TenantsResponse;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -53,7 +56,6 @@ public class NetrisApiClientImpl implements NetrisApiClient {
             ApiResponse<AuthResponse> authResponse = 
authenticationApi.apiAuthPost(authSchema);
             if (authResponse.getStatusCode() == 200) {
                 String cookie = 
authResponse.getHeaders().get("Set-Cookie").get(0).split(";")[0];
-                apiClient.setApiKey(cookie);
                 apiClient.addDefaultHeader("Cookie", cookie);
             } else {
                 String msg = String.format("Authentication to the Netris 
Controller %s failed, please check the credentials provided", 
apiClient.getBasePath());
@@ -107,4 +109,11 @@ public class NetrisApiClientImpl implements 
NetrisApiClient {
             throw new CloudRuntimeException(e);
         }
     }
+
+    @Override
+    public List<TenantResponse> listTenants() throws ApiException {
+        TenantsApi api = new TenantsApi(apiClient);
+        ApiResponse<TenantsResponse> response = api.apiTenantsGet();
+        return response.getData().getData();
+    }
 }
diff --git 
a/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
 
b/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
index dcdcafd18cb..760b25e53b7 100644
--- 
a/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
+++ 
b/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
@@ -16,8 +16,10 @@
 // under the License.
 package org.apache.cloudstack.service;
 
+import io.netris.ApiException;
 import io.netris.model.GetSiteBody;
 import io.netris.model.VPCListing;
+import io.netris.model.response.TenantResponse;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -29,7 +31,7 @@ public class NetrisApiClientImplTest {
     private static final String username = "netris";
     private static final String password = "qHHa$CZ2oJv*@!7mwoSR";
 
-    private NetrisApiClientImpl client = new NetrisApiClientImpl(endpointUrl, 
username, password);
+    private static final NetrisApiClientImpl client = new 
NetrisApiClientImpl(endpointUrl, username, password);
 
     @Test
     public void testNetrisAuthStatus() {
@@ -47,4 +49,10 @@ public class NetrisApiClientImplTest {
         List<VPCListing> vpcs = client.listVPCs();
         Assert.assertTrue(vpcs.size() > 0);
     }
+
+    @Test
+    public void testListTenants() throws ApiException {
+        List<TenantResponse> tenants = client.listTenants();
+        Assert.assertTrue(tenants.size() > 0);
+    }
 }

Reply via email to