diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java')
-rw-r--r-- | framework/src/onos/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/framework/src/onos/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java b/framework/src/onos/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java deleted file mode 100644 index 3cb2c83f..00000000 --- a/framework/src/onos/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed 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.onosproject.vtnweb.resources; - -import static org.easymock.EasyMock.anyObject; -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.hamcrest.Matchers.containsString; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; - -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.util.HashSet; -import java.util.List; -import java.util.Objects; -import java.util.Set; - -import javax.ws.rs.core.MediaType; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onlab.osgi.ServiceDirectory; -import org.onlab.osgi.TestServiceDirectory; -import org.onlab.rest.BaseResource; -import org.onosproject.codec.CodecService; -import org.onosproject.vtnrsc.FlowClassifierId; -import org.onosproject.vtnrsc.PortChain; -import org.onosproject.vtnrsc.PortChainId; -import org.onosproject.vtnrsc.PortPairGroupId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.portchain.PortChainService; -import org.onosproject.vtnweb.web.SfcCodecContext; - -import com.eclipsesource.json.JsonObject; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.sun.jersey.api.client.ClientResponse; -import com.sun.jersey.api.client.UniformInterfaceException; -import com.sun.jersey.api.client.WebResource; - -/** - * Unit tests for port chain REST APIs. - */ -public class PortChainResourceTest extends VtnResourceTest { - - final PortChainService portChainService = createMock(PortChainService.class); - - PortChainId portChainId1 = PortChainId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - TenantId tenantId1 = TenantId.tenantId("d382007aa9904763a801f68ecf065cf5"); - private final List<PortPairGroupId> portPairGroupList1 = Lists.newArrayList(); - private final List<FlowClassifierId> flowClassifierList1 = Lists.newArrayList(); - - - final MockPortChain portChain1 = new MockPortChain(portChainId1, tenantId1, "portChain1", - "Mock port chain", portPairGroupList1, - flowClassifierList1); - - /** - * Mock class for a port chain. - */ - private static class MockPortChain implements PortChain { - - private final PortChainId portChainId; - private final TenantId tenantId; - private final String name; - private final String description; - private final List<PortPairGroupId> portPairGroupList; - private final List<FlowClassifierId> flowClassifierList; - - public MockPortChain(PortChainId portChainId, TenantId tenantId, - String name, String description, - List<PortPairGroupId> portPairGroupList, - List<FlowClassifierId> flowClassifierList) { - - this.portChainId = portChainId; - this.tenantId = tenantId; - this.name = name; - this.description = description; - this.portPairGroupList = portPairGroupList; - this.flowClassifierList = flowClassifierList; - } - - @Override - public PortChainId portChainId() { - return portChainId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public String name() { - return name; - } - - @Override - public String description() { - return description; - } - - @Override - public List<PortPairGroupId> portPairGroups() { - return ImmutableList.copyOf(portPairGroupList); - } - - @Override - public List<FlowClassifierId> flowClassifiers() { - return ImmutableList.copyOf(flowClassifierList); - } - - @Override - public boolean exactMatch(PortChain portChain) { - return this.equals(portChain) && - Objects.equals(this.portChainId, portChain.portChainId()) && - Objects.equals(this.tenantId, portChain.tenantId()); - } - } - - /** - * Sets up the global values for all the tests. - */ - @Before - public void setUpTest() { - SfcCodecContext context = new SfcCodecContext(); - ServiceDirectory testDirectory = new TestServiceDirectory() - .add(PortChainService.class, portChainService) - .add(CodecService.class, context.codecManager()); - BaseResource.setServiceDirectory(testDirectory); - - } - - /** - * Cleans up. - */ - @After - public void tearDownTest() { - } - - /** - * Tests the result of the rest api GET when there are no port chains. - */ - @Test - public void testPortChainsEmpty() { - - expect(portChainService.getPortChains()).andReturn(null).anyTimes(); - replay(portChainService); - final WebResource rs = resource(); - final String response = rs.path("port_chains").get(String.class); - assertThat(response, is("{\"port_chains\":[]}")); - } - - /** - * Tests the result of a rest api GET for port chain id. - */ - @Test - public void testGetPortChainId() { - - final Set<PortChain> portChains = new HashSet<>(); - portChains.add(portChain1); - - expect(portChainService.exists(anyObject())).andReturn(true).anyTimes(); - expect(portChainService.getPortChain(anyObject())).andReturn(portChain1).anyTimes(); - replay(portChainService); - - final WebResource rs = resource(); - final String response = rs.path("port_chains/1278dcd4-459f-62ed-754b-87fc5e4a6751").get(String.class); - final JsonObject result = JsonObject.readFrom(response); - assertThat(result, notNullValue()); - } - - /** - * Tests that a fetch of a non-existent port chain object throws an exception. - */ - @Test - public void testBadGet() { - expect(portChainService.getPortChain(anyObject())) - .andReturn(null).anyTimes(); - replay(portChainService); - WebResource rs = resource(); - try { - rs.path("port_chains/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae").get(String.class); - fail("Fetch of non-existent port chain did not throw an exception"); - } catch (UniformInterfaceException ex) { - assertThat(ex.getMessage(), - containsString("returned a response status of")); - } - } - - /** - * Tests creating a port chain with POST. - */ - @Test - public void testPost() { - - expect(portChainService.createPortChain(anyObject())) - .andReturn(true).anyTimes(); - replay(portChainService); - - WebResource rs = resource(); - InputStream jsonStream = PortChainResourceTest.class.getResourceAsStream("post-PortChain.json"); - - ClientResponse response = rs.path("port_chains") - .type(MediaType.APPLICATION_JSON_TYPE) - .post(ClientResponse.class, jsonStream); - assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK)); - } - - /** - * Tests deleting a port chain. - */ - @Test - public void testDelete() { - expect(portChainService.removePortChain(anyObject())) - .andReturn(true).anyTimes(); - replay(portChainService); - - WebResource rs = resource(); - - String location = "port_chains/1278dcd4-459f-62ed-754b-87fc5e4a6751"; - - ClientResponse deleteResponse = rs.path(location) - .type(MediaType.APPLICATION_JSON_TYPE) - .delete(ClientResponse.class); - assertThat(deleteResponse.getStatus(), - is(HttpURLConnection.HTTP_NO_CONTENT)); - } -} |