Repository: stratos Updated Branches: refs/heads/master ba5c3ca38 -> 3ff88d908
unit test - neutron networking api Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/3ff88d90 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/3ff88d90 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/3ff88d90 Branch: refs/heads/master Commit: 3ff88d908bd47b89924ab1ce6ab65b6afac50f3d Parents: ba5c3ca Author: R-Rajkumar <[email protected]> Authored: Fri Dec 5 00:01:26 2014 +0530 Committer: R-Rajkumar <[email protected]> Committed: Fri Dec 5 00:01:26 2014 +0530 ---------------------------------------------------------------------- .../networking/NeutronNetworkingApiTest.java | 125 +++++++++++++++++++ 1 file changed, 125 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/3ff88d90/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApiTest.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApiTest.java b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApiTest.java new file mode 100644 index 0000000..4b90add --- /dev/null +++ b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/stratos/cloud/controller/iaases/openstack/networking/NeutronNetworkingApiTest.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.stratos.cloud.controller.iaases.openstack.networking; + +import java.util.List; +import java.util.Map; + +import org.apache.stratos.cloud.controller.iaases.openstack.networking.NeutronNetworkingApi; +import org.apache.stratos.cloud.controller.domain.FloatingNetwork; +import org.apache.stratos.cloud.controller.domain.FloatingNetworks; +import org.apache.stratos.cloud.controller.domain.IaasProvider; +import org.apache.stratos.cloud.controller.domain.NetworkInterface; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import junit.framework.TestCase; + +public class NeutronNetworkingApiTest extends TestCase { + + private IaasProvider iaasProvider; + private NeutronNetworkingApi neutronNetworkingApi; + private NetworkInterface[] networkInterfaces; + private String validationError; + + @Before + public void setUp() { + iaasProvider = new IaasProvider(); + neutronNetworkingApi = new NeutronNetworkingApi(iaasProvider); + validationError = "Neutron Networking Api validation failed"; + + FloatingNetwork floatingNetwork_1 = new FloatingNetwork(); + floatingNetwork_1.setName("externalOne"); + floatingNetwork_1.setNetworkUuid("ba667f72-7ba8-4b24-b360-b74a0211c83c"); + + FloatingNetwork floatingNetwork_2 = new FloatingNetwork(); + floatingNetwork_2.setName("externalTwo"); + floatingNetwork_2.setFloatingIP("192.168.16.59"); + + FloatingNetwork floatingNetwork_3 = new FloatingNetwork(); + floatingNetwork_3.setName("externalThree"); + floatingNetwork_3.setNetworkUuid("er667f72-7ba8-4b24-b360-b74a0211c83c"); + floatingNetwork_3.setFloatingIP("192.165.198.12"); + + FloatingNetwork floatingNetwork_4 = new FloatingNetwork(); + floatingNetwork_4.setName("externalFour"); + floatingNetwork_4.setNetworkUuid("b3607ba8-7ba8-4b24-b360-b74a0211c83c"); + + FloatingNetworks floatingNetworks_1 = new FloatingNetworks(); + floatingNetworks_1.setFloatingNetworks(new FloatingNetwork[]{floatingNetwork_1}); + + FloatingNetworks floatingNetworks_2 = new FloatingNetworks(); + floatingNetworks_2.setFloatingNetworks(new FloatingNetwork[]{floatingNetwork_2, floatingNetwork_4}); + + FloatingNetworks floatingNetworks_3 = new FloatingNetworks(); + floatingNetworks_3.setFloatingNetworks(new FloatingNetwork[]{floatingNetwork_1, floatingNetwork_4}); + + FloatingNetworks floatingNetworks_4 = new FloatingNetworks(); + floatingNetworks_4.setFloatingNetworks(new FloatingNetwork[]{floatingNetwork_1, floatingNetwork_3, + floatingNetwork_4}); + + NetworkInterface networkInterface_1 = new NetworkInterface(); + networkInterface_1.setNetworkUuid("512e1f54-1e85-4dac-b2e6-f0b30fc552cf"); + networkInterface_1.setFloatingNetworks(floatingNetworks_1); + + NetworkInterface networkInterface_2 = new NetworkInterface(); + networkInterface_2.setNetworkUuid("68aab21d-fc9a-4c2f-8d15-b1e41f6f7bb8"); + networkInterface_2.setFloatingNetworks(floatingNetworks_2); + + NetworkInterface networkInterface_3 = new NetworkInterface(); + networkInterface_3.setNetworkUuid("b55f009a-1cc6-4b17-924f-4ae0ee18db5e"); + networkInterface_3.setFloatingNetworks(floatingNetworks_3); + + NetworkInterface networkInterface_4 = new NetworkInterface(); + networkInterface_4.setPortUuid("d343d343-1cc6-4b17-924f-4ae0ee18db5e"); + networkInterface_4.setFixedIp("10.5.62.3"); + networkInterface_4.setFloatingNetworks(floatingNetworks_4); + + networkInterfaces = new NetworkInterface[]{networkInterface_1, networkInterface_2, networkInterface_3, + networkInterface_4}; + } + + @Test + public void testGetAllPredefinedFloatingIPs() throws Exception { + List<String> allPredefinedFlotaingIPs = neutronNetworkingApi.getAllPredefinedFloatingIPs(networkInterfaces); + Assert.assertEquals(String.format("%s. Predefined floating IP count not valid", validationError), 1, + allPredefinedFlotaingIPs.size()); + Assert.assertTrue(String.format("%s. Predefined floating IP not returned", validationError), + allPredefinedFlotaingIPs.contains("192.168.16.59")); + } + + @Test + public void testGetNetworkUuidToFloatingNetworksMap() throws Exception { + Map<String, List<FloatingNetwork>> networkInterfaceToFloatingNetworksMap = + neutronNetworkingApi.getNetworkUuidToFloatingNetworksMap(networkInterfaces); + + Assert.assertEquals(String.format("%s. Network interfaces count not valid", validationError), 3, + networkInterfaceToFloatingNetworksMap.size()); + } + + @Test + public void testGetFixedIPToFloatingNetworksMap() throws Exception { + Map<String, List<FloatingNetwork>> fixedIPToFloatingNetworksMap = + neutronNetworkingApi.getFixedIPToFloatingNetworksMap(networkInterfaces); + + Assert.assertEquals(String.format("%s. Network interfaces count not valid", validationError), 1, + fixedIPToFloatingNetworksMap.size()); + } +} \ No newline at end of file
