import static org.junit.Assert.assertTrue;
import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
private static final String LOG_URL = "https://dr-prov/sublog/id";
private static final String DELIVERY_URL_TEMPLATE = "https://subscriber.onap.org/delivery/";
private static final String LOG_URL_TEMPLATE = "https://dr-prov/sublog/";
- private static FastJerseyTest testContainer;
+ private static FastJerseyTestContainer testContainer;
+ private static TestFeedCreator testFeedCreator;
@BeforeClass
public static void setUpClass() throws Exception {
//TODO: init is still needed here to assure that dmaap is not null
DatabaseClass.getDmaap().init(DMAAP_OBJECT_FACTORY.genDmaap());
- DatabaseClass.getDmaap().update(DMAAP_OBJECT_FACTORY.genDmaap());
- testContainer = new FastJerseyTest(new ResourceConfig()
+ testContainer = new FastJerseyTestContainer(new ResourceConfig()
.register(DR_SubResource.class)
- .register(FeedResource.class)
- .register(DmaapResource.class));
+ .register(FeedResource.class));
testContainer.init();
+ testFeedCreator = new TestFeedCreator(testContainer);
}
@AfterClass
}
@Before
- public void cleanupDatabase() throws Exception {
+ public void cleanupDatabase() {
DatabaseClass.clearDatabase();
}
Response resp = testContainer.target("dr_subs").request().get(Response.class);
System.out.println("GET dr_subs resp=" + resp.getStatus());
- assertTrue(resp.getStatus() == 200);
+ assertEquals(200, resp.getStatus());
assertTrue(resp.hasEntity());
}
public void addDr_Sub_shallExecuteSuccessfully_whenValidFeedNameProvided() {
//given
String feedName = "testFeed";
- addFeed(feedName, "test feed");
+ testFeedCreator.addFeed(feedName, "test feed");
DR_Sub drSub = new DR_Sub(DCAE_LOCATION_NAME, USERNAME, USRPWD, null, DELIVERY_URL, LOG_URL, true);
drSub.setFeedName(feedName);
Entity<DR_Sub> requestedEntity = Entity.entity(drSub, MediaType.APPLICATION_JSON);
assertNotNull(resp.readEntity(ApiError.class));
}
- private Feed addFeed(String name, String desc) {
- Feed feed = new Feed(name, "1.0", desc, "dgl", "unrestricted");
- Entity<Feed> reqEntity = Entity.entity(feed, MediaType.APPLICATION_JSON);
- Response resp = testContainer.target("feeds").request().post(reqEntity, Response.class);
- int rc = resp.getStatus();
- System.out.println("POST feed resp=" + rc);
- assertTrue(rc == 200 || rc == 409);
- feed = resp.readEntity(Feed.class);
- return feed;
- }
-
private DR_Sub addSub(String d, String un, String up, String feedId) {
DR_Sub dr_sub = new DR_Sub(d, un, up, feedId,
"https://subscriber.onap.org/foo", "https://dr-prov/sublog", true);
Entity<DR_Sub> reqEntity2 = Entity.entity(dr_sub, MediaType.APPLICATION_JSON);
Response resp = testContainer.target("dr_subs").request().post(reqEntity2, Response.class);
System.out.println("POST dr_subs resp=" + resp.getStatus());
- assertTrue(resp.getStatus() == 201);
+ assertEquals(201, resp.getStatus());
dr_sub = resp.readEntity(DR_Sub.class);
return dr_sub;
}
private String assureFeedIsInDB() {
- Feed feed = addFeed("SubscriberTestFeed", "feed for DR_Sub testing");
+ Feed feed = testFeedCreator.addFeed("SubscriberTestFeed", "feed for DR_Sub testing");
assertNotNull("Feed shall be added into DB properly", feed);
return feed.getFeedId();
}
assertTrue(response.hasEntity());
assertEquals(sub, response.readEntity(DR_Sub.class));
}
-
- //TODO: move it outside class and use in other Resource integration tests
- private static class FastJerseyTest extends JerseyTest {
-
- FastJerseyTest(Application jaxrsApplication) {
- super(jaxrsApplication);
- }
-
- void init() throws Exception {
- this.setUp();
- }
-
- void destroy() throws Exception {
- this.tearDown();
- }
- }
}