singleton

Run
How to run the sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing we need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/jaxrs/singleton/
Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:
mvn test -Dtest=ApplicationSingletonResourceTestmvn test -Dtest=AnnotatedSingletonResourceTest

ApplicationSingletonResourceTest

Missing a description for the story. Add some javadoc to the TestClass. Show me how!
Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
@Deployment(testable = false)
public static WebArchive createDeployment() {
    return ShrinkWrap.create(WebArchive.class)
                     .addClasses(
                             MyApplication.class,
                             ApplicationSingletonResource.class);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(1)
public void testPost() {
    target.request().post(Entity.text("pineapple"));
    target.request().post(Entity.text("mango"));
    target.request().post(Entity.text("kiwi"));
    target.request().post(Entity.text("passion fruit"));

    String list = target.request().get(String.class);
    StringTokenizer tokens = new StringTokenizer(list, ",");
    assertEquals(4, tokens.countTokens());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(2)
public void testGet() {
    String response = target.path("2").request().get(String.class);
    assertEquals("kiwi", response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(3)
public void testDelete() {
    target.path("kiwi").request().delete();

    String list = target.request().get(String.class);
    StringTokenizer tokens = new StringTokenizer(list, ",");
    assertEquals(3, tokens.countTokens());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(4)
public void testPut() {
    target.request().put(Entity.text("apple"));

    String list = target.request().get(String.class);
    StringTokenizer tokens = new StringTokenizer(list, ",");
    assertEquals(4, tokens.countTokens());
}

AnnotatedSingletonResourceTest

Missing a description for the story. Add some javadoc to the TestClass. Show me how!
Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
@Deployment(testable = false)
public static WebArchive createDeployment() {
    return ShrinkWrap.create(WebArchive.class)
                     .addClasses(
                             MyAnnotatedApplication.class,
                             AnnotatedSingletonResource.class);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(1)
public void testPost() {
    target.request().post(Entity.text("pineapple"));
    target.request().post(Entity.text("mango"));
    target.request().post(Entity.text("kiwi"));
    target.request().post(Entity.text("passion fruit"));

    String list = target.request().get(String.class);
    System.out.println("--> " + list);
    StringTokenizer tokens = new StringTokenizer(list, ",");
    assertEquals(4, tokens.countTokens());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(2)
public void testGet() {
    String response = target.path("2").request().get(String.class);
    assertEquals("kiwi", response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(3)
public void testDelete() {
    target.path("kiwi").request().delete();

    String list = target.request().get(String.class);
    StringTokenizer tokens = new StringTokenizer(list, ",");
    assertEquals(3, tokens.countTokens());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
@InSequence(4)
public void testPut() {
    target.request().put(Entity.text("apple"));

    String list = target.request().get(String.class);
    StringTokenizer tokens = new StringTokenizer(list, ",");
    assertEquals(4, tokens.countTokens());
}

Share the Knowledge

Find this sample useful? Share on

There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.

Help Improve

Find a bug in the sample? Something missing? You can fix it by editing the source, making the correction and sending a pull request. Or report the problem to the issue tracker

Recent Changelog

  • Dec 11, 2014: Fixed and improved tests for jaxrs client and singleton due to tomee failures by Roberto Cortez
  • Jul 15, 2014: Removed default header by Roberto Cortez
  • Jul 15, 2014: Removed header license. the licensing is now referenced in the license file in the root of the project by Roberto Cortez
  • Dec 03, 2013: Change to use client.target(uri) to be compatible with jax-rs 1.0 by Aslak Knutsen
  • Dec 03, 2013: Change to use client.target(string) to avoid jax-rs 1 vs 2 conflict by Aslak Knutsen
  • Nov 22, 2013: Fixing the application packaging for annotated and application case by Arun Gupta
  • Nov 22, 2013: Adding an interim version of meged singleton tests - annotated and application by Arun Gupta
How to help improve this sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing you need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/jaxrs/singleton/

Do the changes as you see fit and send a pull request!

Good Luck!