/sitebricks-acceptance-tests/src/test/java/com/google/sitebricks/acceptance/RestfuWebServiceWithSubpathsAcceptanceTest.java
https://github.com/mgenov/sitebricks · Java · 112 lines · 90 code · 18 blank · 4 comment · 0 complexity · 5b04cbc22c4f24a219450017c562e1a0 MD5 · raw file
- package com.google.sitebricks.acceptance;
- import com.google.common.collect.ImmutableSet;
- import com.google.inject.AbstractModule;
- import com.google.inject.Guice;
- import com.google.inject.Injector;
- import com.google.sitebricks.acceptance.util.AcceptanceTest;
- import com.google.sitebricks.client.Web;
- import com.google.sitebricks.client.WebResponse;
- import com.google.sitebricks.client.transport.Json;
- import com.google.sitebricks.conversion.Converter;
- import com.google.sitebricks.conversion.ConverterRegistry;
- import com.google.sitebricks.conversion.StandardTypeConverter;
- import com.google.sitebricks.example.RestfulWebServiceWithSubpaths;
- import org.testng.annotations.Test;
- import java.util.Date;
- /**
- * @author Dhanji R. Prasanna (dhanji@gmail.com)
- */
- @Test(suiteName = AcceptanceTest.SUITE)
- public class RestfuWebServiceWithSubpathsAcceptanceTest {
- public void shouldServiceTopLevelPath() {
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath")
- .transports(String.class)
- .over(Json.class)
- .get();
- assert RestfulWebServiceWithSubpaths.TOPLEVEL.equals(response.toString());
- }
- public void shouldServiceFirstSubPath() {
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath/subpath1")
- .transports(String.class)
- .over(Json.class)
- .post("");
- assert RestfulWebServiceWithSubpaths.PATH_1.equals(response.toString()) : response.toString();
- }
- public void shouldServiceSecondSubPath() {
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath/subpath2")
- .transports(String.class)
- .over(Json.class)
- .post("");
- assert RestfulWebServiceWithSubpaths.PATH_2.equals(response.toString()) : response.toString();
- }
- public void shouldServiceThirdSubPath() {
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath/subpath3")
- .transports(String.class)
- .over(Json.class)
- .post("");
- assert RestfulWebServiceWithSubpaths.PATH_3.equals(response.toString()) : response.toString();
- }
- public void shouldServiceVariableTwoLevelSubPath() {
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath/subpath1/a_thing")
- .transports(String.class)
- .over(Json.class)
- .post("");
- assert "a_thing".equals(response.toString()) : response.toString();
- }
- public void shouldServiceVariableThreeLevelSubPath() {
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath/subpath1/a_thing/another_thing")
- .transports(String.class)
- .over(Json.class)
- .post("");
- assert "a_thing_another_thing".equals(response.toString()) : response.toString();
- }
- public void shouldServiceVariableTwoLevelSubPath2() {
- String aString = "aoskdoaksd" + new Date().hashCode();
- WebResponse response = createInjector()
- .getInstance(Web.class)
- .clientOf(AcceptanceTest.baseUrl() + "/superpath/subpath3/" + aString)
- .transports(String.class)
- .over(Json.class)
- .post("");
- // Should be reflected
- assert aString.equals(response.toString()) : response.toString();
- }
- private Injector createInjector() {
- return Guice.createInjector(new AbstractModule() {
- protected void configure() {
- bind(ConverterRegistry.class).toInstance(new StandardTypeConverter(
- ImmutableSet.<Converter>of()));
- }
- });
- }
- }