Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
package org.openstack4j.api.network;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;

import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import okhttp3.mockwebserver.RecordedRequest;
import org.openstack4j.api.AbstractTest;
import org.openstack4j.api.Builders;
import org.openstack4j.model.common.ActionResponse;
import org.openstack4j.model.network.Agent;
import org.openstack4j.model.network.Agent.Type;
import org.openstack4j.model.network.Network;
import org.openstack4j.model.network.NetworkType;
import org.openstack4j.model.network.State;
import org.openstack4j.model.common.ActionResponse;
import org.testng.annotations.Test;

import okhttp3.mockwebserver.RecordedRequest;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static org.testng.Assert.*;

/**
* Tests the Compute -> Network API against the mock webserver and spec based
Expand All @@ -37,6 +35,7 @@ public class NetworkTests extends AbstractTest {
private static final String JSON_NETWORK_ZONE = "/network/network_zone.json";
private static final String NETWORK_NAME = "net1";
private static final String NETWORK_ID = "4e8e5957-649f-477b-9e5b-f1f75b21c03c";
private static final Date DATE = new Date(1604096161000L);

@Test
public void getNetwork() throws Exception {
Expand All @@ -45,7 +44,9 @@ public void getNetwork() throws Exception {
server.takeRequest();
assertEquals(n.getName(), NETWORK_NAME);
assertEquals(n.getStatus(), State.ACTIVE);
assertEquals(n.isRouterExternal(), false);
assertFalse(n.isRouterExternal());
assertEquals(n.getCreatedTime(), DATE);
assertEquals(n.getUpdatedTime(), DATE);
}

@Test
Expand All @@ -56,7 +57,7 @@ public void createNetwork() throws Exception {
server.takeRequest();
assertEquals(n.getName(), NETWORK_NAME);
assertEquals(n.getStatus(), State.ACTIVE);
assertEquals(n.isRouterExternal(), true);
assertTrue(n.isRouterExternal());
}

@Test
Expand All @@ -78,8 +79,8 @@ public void agentList() throws Exception {
Agent agent = agentList.get(0);
assertEquals(agentList.size(), 12);
assertEquals(agent.getBinary(), "neutron-dhcp-agent");
assertEquals(agent.getAdminStateUp(), true);
assertEquals(agent.getAlive(), true);
assertTrue(agent.getAdminStateUp());
assertTrue(agent.getAlive());
assertEquals(agent.getAgentType(), Type.DHCP);
assertEquals(agent.getHost(), "cic-0-3");
assertEquals(agent.getId(), "086d8a3d-ef23-4708-909b-0c459528e2a6");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
import org.openstack4j.api.Builders;
import org.openstack4j.model.network.Port;
import org.testng.annotations.Test;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import static org.testng.Assert.assertEquals;
Expand All @@ -20,6 +22,7 @@ public class PortTests extends AbstractTest {
private static final String JSON_PORTS_EXTERNAL = "/network/ports_external.json";
private static final String JSON_PORT_EXTERNAL = "/network/port_external.json";
private static final String NETWORK_ID = "a87cc70a-3e15-4acf-8205-9b711a3531b7";
private static final Date DATE = new Date(1604096161000L);

@Test
public void createPorts() throws Exception {
Expand All @@ -39,6 +42,8 @@ public void createPort() throws Exception {

private void validatePort(Port port) {
assertEquals(port.getNetworkId(), NETWORK_ID);
assertEquals(port.getCreatedTime(), DATE);
assertEquals(port.getUpdatedTime(), DATE);
}

private Port getPort() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package org.openstack4j.api.network;

import static org.testng.Assert.assertEquals;

import org.openstack4j.api.AbstractTest;
import org.openstack4j.model.network.Ipv6AddressMode;
import org.openstack4j.model.network.Ipv6RaMode;
import org.openstack4j.model.network.Subnet;
import org.testng.annotations.Test;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;

/**
* Tests the Neutron -> Subnet API against the mock webserver and spec based
* json responses
Expand All @@ -20,8 +21,8 @@ public class SubnetTests extends AbstractTest {
private static final String JSON_GET_SUBNET = "/network/subnet_ipv6.json";

private static final String SUBNET_NAME = "sub1";
private static final String SUBNET_ID = "3b80198d-4f7b-4f77-9ef5-774d54e17126";
private static final String SUBNET_ID = "3b80198d-4f7b-4f77-9ef5-774d54e17126";

@Test
public void getSubnetIpV6() throws Exception {
respondWith(JSON_GET_SUBNET);
Expand All @@ -30,6 +31,8 @@ public void getSubnetIpV6() throws Exception {
assertEquals(n.getName(), SUBNET_NAME);
assertEquals(n.getIpv6AddressMode(), Ipv6AddressMode.DHCPV6_STATEFUL);
assertEquals(n.getIpv6RaMode(), Ipv6RaMode.DHCPV6_STATEFUL);
assertNotNull(n.getCreatedTime());
assertNotNull(n.getUpdatedTime());
}

@Override
Expand Down
4 changes: 3 additions & 1 deletion core-test/src/main/resources/network/network-external.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
"router:external": true,
"shared": false,
"port_security_enabled": true,
"id": "4e8e5957-649f-477b-9e5b-f1f75b21c03c"
"id": "4e8e5957-649f-477b-9e5b-f1f75b21c03c",
"created_at": "2016-03-08T20:19:41",
"updated_at": "2016-03-08T20:19:41"
}
}
4 changes: 3 additions & 1 deletion core-test/src/main/resources/network/network.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
],
"shared": false,
"port_security_enabled": true,
"id": "4e8e5957-649f-477b-9e5b-f1f75b21c03c"
"id": "4e8e5957-649f-477b-9e5b-f1f75b21c03c",
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
}
}
6 changes: 3 additions & 3 deletions core-test/src/main/resources/network/network_zone.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
"admin_state_up": true,
"availability_zone_hints": ["nova"],
"availability_zones": [],
"created_at": "2016-03-08T20:19:41",
"id": "4e8e5957-649f-477b-9e5b-f1f75b21c03c",
"mtu": 0,
"name": "net1",
Expand All @@ -15,8 +14,9 @@
"status": "ACTIVE",
"subnets": [],
"tenant_id": "9bacb3c5d39d41a79512987f338cf177",
"updated_at": "2016-03-08T20:19:41",
"vlan_transparent": false,
"description": ""
"description": "",
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
}
}
4 changes: 3 additions & 1 deletion core-test/src/main/resources/network/networks_filtered.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
"shared": true,
"provider:network_type": "vxlan",
"id": "73f6f1ac-5e58-4801-88c3-7e12c6ddfb39",
"provider:segmentation_id": 101101
"provider:segmentation_id": 101101,
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
}]
}
4 changes: 3 additions & 1 deletion core-test/src/main/resources/network/port_external.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
},
"binding:vnic_type": "baremetal",
"device_id": "d90a13da-be41-461f-9f99-1dbcf438fdf2",
"device_owner": "baremetal:none"
"device_owner": "baremetal:none",
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
}
}
8 changes: 6 additions & 2 deletions core-test/src/main/resources/network/ports_external.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@
"f0ac4394-7e4a-4409-9701-ba8be283dbc3"
],
"status": "DOWN",
"tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa"
"tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
},
{
"admin_state_up": false,
Expand All @@ -46,7 +48,9 @@
"f0ac4394-7e4a-4409-9701-ba8be283dbc3"
],
"status": "DOWN",
"tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa"
"tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
}
]
}
4 changes: 2 additions & 2 deletions core-test/src/main/resources/network/subnet_ipv6.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@
"gateway_ip": "2620:0:2d0:200::1",
"cidr": "2620:0:2d0:200::/64",
"id": "3b80198d-4f7b-4f77-9ef5-774d54e17126",
"created_at": "2016-10-10T14:35:47Z",
"description": "",
"ipv6_address_mode": "dhcpv6-stateful",
"ipv6_ra_mode": "dhcpv6-stateful",
"revision_number": 2,
"service_types": [],
"subnetpool_id": null,
"updated_at": "2016-10-10T14:35:47Z"
"created_at": "2020-10-30T22:16:01Z",
"updated_at": "2020-10-30T22:16:01Z"
}
}
26 changes: 26 additions & 0 deletions core/src/main/java/org/openstack4j/model/common/TimeEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package org.openstack4j.model.common;

import java.util.Date;

/**
* A simple entity which supports time data
*
* @author bboyHan
*/
public interface TimeEntity {

/**
* created time
*
* @return created time
*/
Date getCreatedTime();

/**
* updated time
*
* @return updated time
*/
Date getUpdatedTime();

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@

import org.openstack4j.common.Buildable;
import org.openstack4j.model.common.Resource;
import org.openstack4j.model.common.TimeEntity;
import org.openstack4j.model.network.builder.NetworkBuilder;

/**
* An OpenStack (Neutron) network
*
* @author Jeremy Unruh
*/
public interface Network extends Resource, Buildable<NetworkBuilder> {
public interface Network extends Resource, TimeEntity, Buildable<NetworkBuilder> {

/**
* @return the status of the network
Expand Down
3 changes: 2 additions & 1 deletion core/src/main/java/org/openstack4j/model/network/Port.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@

import org.openstack4j.common.Buildable;
import org.openstack4j.model.common.Resource;
import org.openstack4j.model.common.TimeEntity;
import org.openstack4j.model.network.builder.PortBuilder;

/**
* A Network (Neutron) Port
*
* @author Jeremy Unruh
*/
public interface Port extends Resource, Buildable<PortBuilder> {
public interface Port extends Resource, TimeEntity, Buildable<PortBuilder> {

/**
* @return the current state of the port
Expand Down
3 changes: 2 additions & 1 deletion core/src/main/java/org/openstack4j/model/network/Subnet.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@

import org.openstack4j.common.Buildable;
import org.openstack4j.model.common.Resource;
import org.openstack4j.model.common.TimeEntity;
import org.openstack4j.model.network.builder.SubnetBuilder;

/**
* A Subnet is a network with Pools and network based settings
*
* @author Jeremy Unruh
*/
public interface Subnet extends Resource, Buildable<SubnetBuilder> {
public interface Subnet extends Resource, TimeEntity, Buildable<SubnetBuilder> {

/**
* @return true if DHCP is enabled for this subnet, false if not.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import org.openstack4j.model.murano.v1.builder.EnvironmentBuilder;
import org.openstack4j.model.murano.v1.domain.Application;
import org.openstack4j.model.murano.v1.domain.Environment;
import org.openstack4j.openstack.common.ListResult;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;

import java.util.List;

Expand Down
Loading