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); + } }