From 41317d52ae9991ff49ca21c72aceb6037dffc9ad Mon Sep 17 00:00:00 2001 From: dglFromAtt Date: Wed, 28 Feb 2018 14:24:03 -0500 Subject: going the long way to merge Change-Id: I99cacbe27cc232e9ebd6ff68c90d439d4b2a785a Signed-off-by: dglFromAtt Issue-ID: DMAAP-316 Signed-off-by: dglFromAtt --- .../dmaap/dbcapi/resource/DR_NodeResourceTest.java | 122 +++++++++++++++++++++ .../dbcapi/testframework/DmaapObjectFactory.java | 15 +++ 2 files changed, 137 insertions(+) create mode 100644 src/test/java/org/onap/dmaap/dbcapi/resource/DR_NodeResourceTest.java (limited to 'src/test') diff --git a/src/test/java/org/onap/dmaap/dbcapi/resource/DR_NodeResourceTest.java b/src/test/java/org/onap/dmaap/dbcapi/resource/DR_NodeResourceTest.java new file mode 100644 index 0000000..64ca39d --- /dev/null +++ b/src/test/java/org/onap/dmaap/dbcapi/resource/DR_NodeResourceTest.java @@ -0,0 +1,122 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.dmaap + * ================================================================================ + * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.dmaap.dbcapi.resources; +import org.onap.dmaap.dbcapi.model.*; +import org.onap.dmaap.dbcapi.service.*; +import static org.junit.Assert.*; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import java.util.*; +import java.sql.*; + +import org.glassfish.jersey.test.JerseyTest; +import org.glassfish.jersey.server.ResourceConfig; +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.Path; +import javax.ws.rs.GET; + + +public class DR_NodeResourceTest extends JerseyTest { + + static DmaapObjectFactory factory = new DmaapObjectFactory(); + static String entry_path = "dr_nodes"; + + @Override + protected Application configure() { + return new ResourceConfig( DR_NodeResource.class ); + } + + private static final String fmt = "%24s: %s%n"; + + + +/* may conflict with test framework! + @Before + public void preTest() throws Exception { + } + + @After + public void tearDown() throws Exception { + } +*/ + + + @Test + public void GetTest() { + Response resp = target( entry_path ).request().get( Response.class ); + System.out.println( "GET " + entry_path + " resp=" + resp.getStatus() ); + + assertTrue( resp.getStatus() == 200 ); + } + @Test + public void PostTest() { + DR_Node node = factory.genDR_Node( "central" ); + Entity reqEntity = Entity.entity( node, MediaType.APPLICATION_JSON ); + Response resp = target( entry_path ).request().post( reqEntity, Response.class ); + System.out.println( "POST " + entry_path + " resp=" + resp.getStatus() + " " + resp.readEntity( String.class ) ); + assertTrue( resp.getStatus() == 200 ); + } + + @Test + public void PutTest() { + +/* + try { + DcaeLocation loc = factory.genDcaeLocation( "central" ); + Entity reqEntity = Entity.entity( loc, MediaType.APPLICATION_JSON ); + Response resp = target( "dcaeLocations").request().post( reqEntity, Response.class ); + System.out.println( "POST dcaeLocation resp=" + resp.getStatus() + " " + resp.readEntity( String.class )); + assertTrue( resp.getStatus() == 201 ); + } catch (Exception e ) { + } +*/ + + DR_Node node = factory.genDR_Node( "central" ); + Entity reqEntity = Entity.entity( node, MediaType.APPLICATION_JSON ); + Response resp = target( entry_path ).request().post( reqEntity, Response.class ); + + // first, add it + System.out.println( "POST " + entry_path + " resp=" + resp.getStatus() + " " + resp.readEntity( String.class ) ); + assertTrue( resp.getStatus() == 200 ); + + // now change a field + node.setVersion( "1.0.2" ); + reqEntity = Entity.entity( node, MediaType.APPLICATION_JSON ); + + // update currently fails... + resp = target( entry_path ) + .path( node.getFqdn()) + .request() + .put( reqEntity, Response.class ); + System.out.println( "PUT " + entry_path + "/" + node.getFqdn() + " resp=" + resp.getStatus() + " " + resp.readEntity(String.class)); + assertTrue( resp.getStatus() == 404 ); + + } + + + + +} + diff --git a/src/test/java/org/onap/dmaap/dbcapi/testframework/DmaapObjectFactory.java b/src/test/java/org/onap/dmaap/dbcapi/testframework/DmaapObjectFactory.java index 18a397f..44b3e41 100644 --- a/src/test/java/org/onap/dmaap/dbcapi/testframework/DmaapObjectFactory.java +++ b/src/test/java/org/onap/dmaap/dbcapi/testframework/DmaapObjectFactory.java @@ -19,6 +19,8 @@ */ package org.onap.dmaap.dbcapi.model; +import org.onap.dmaap.dbcapi.util.RandomInteger; + import static org.junit.Assert.*; import java.lang.reflect.Constructor; @@ -117,6 +119,19 @@ public class DmaapObjectFactory { } return new DR_Sub( central_loc, un, up, feed, du, lu, u100 ); } + + public DR_Node genDR_Node( String l ) { + String version = "1.0.1"; + RandomInteger ri = new RandomInteger( 1000 ); + int i = ri.next(); + String fqdn = String.format( "drns%d.onap.org", i ); + String host = String.format( "host%d.onap.org", i ); + + if ( l.contains( "edge" ) ) { + return new DR_Node( fqdn, edge_loc, host, version ); + } + return new DR_Node( fqdn, central_loc, host, version ); + } } -- cgit 1.2.3-korg