Package controllers

Source Code of controllers.HelloDbControllerTest

package controllers;

import dao.SetupDao;
import model.World;
import ninja.NinjaDocTester;
import org.doctester.testbrowser.Request;
import org.doctester.testbrowser.Response;
import org.hamcrest.CoreMatchers;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.Before;

public class HelloDbControllerTest extends NinjaDocTester {
           
    String URL_DB = "/db";
    String URL_QUERIES = "/queries";
    String URL_UPDATE = "/update";
   
    @Before
    public void setupClass() {
        getInjector().getInstance(SetupDao.class).generateWorldsForTest();
    }
   
    @Test
    public void testSingleGet() {
       
        Response response = makeRequest(
                Request
                        .GET()
                        .url(testServerUrl().path(URL_DB))
                        .contentTypeApplicationJson());
       
        // Just make sure that we get back a World Json.
        assertThat(response.payloadAs(World.class), notNullValue());     
               
    }
   
    @Test
    public void multipleQueries() {
       
        assertThatMutipleGetWorksFor(1);
        assertThatMutipleGetWorksFor(5);
        assertThatMutipleGetWorksFor(10);
        assertThatMutipleGetWorksFor(15);
        assertThatMutipleGetWorksFor(20);
               
    }
   
    private void assertThatMutipleGetWorksFor(int numberOfQueries) {
        Response response = makeRequest(
            Request
                .GET()
                .url(
                    testServerUrl()
                    .path(URL_QUERIES)
                    .addQueryParameter("queries", numberOfQueries + ""))
                .contentTypeApplicationJson());
       
        // Just make sure that we get back an array
        assertThat(response.payloadAs(World[].class).length, is(numberOfQueries));
    }
   
    @Test
    public void testUpdates() {
       
        assertThatUpdateWorks(1);
        assertThatUpdateWorks(5);
        assertThatUpdateWorks(10);
        assertThatUpdateWorks(15);
        assertThatUpdateWorks(20);
               
    }
   
    private void assertThatUpdateWorks(int numberOfQueries) {
       
        Response response = makeRequest(
            Request.GET()
                .url(
                    testServerUrl()
                    .path(URL_UPDATE)
                    .addQueryParameter("queries", numberOfQueries + ""))
                .contentTypeApplicationJson());
       
        assertThat(response.payloadAs(World[].class).length, is(numberOfQueries));
       
    }

   
   
}
TOP

Related Classes of controllers.HelloDbControllerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.