Skip to content

Commit

Permalink
Renamed many APIs in StubbedDataManager & Stub* classes for the sake …
Browse files Browse the repository at this point in the history
…of clarity and readbility
  • Loading branch information
azagniotov committed Oct 23, 2016
1 parent 42299f9 commit 8d90995
Show file tree
Hide file tree
Showing 22 changed files with 348 additions and 265 deletions.
Expand Up @@ -187,7 +187,7 @@ public void should_ReturnAjaxSequencedResponseContent_WhenSuccessfulRequestMade(
}

@Test
public void should_ReturnAjaxResponseContentYaml_WhenSuccessfulRequestMade() throws Exception {
public void should_ReturnAjaxHttpLifecycleYAMLResponse_WhenSuccessfulRequestMade() throws Exception {

final String requestUrl = String.format("%s%s", STUBS_URL, "/invoice/new");
final String postContent = "{\"name\": \"chocolate\", \"description\": \"full\", \"department\": \"savoury\"}";
Expand All @@ -202,7 +202,7 @@ public void should_ReturnAjaxResponseContentYaml_WhenSuccessfulRequestMade() thr
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED_201);

final String resourceID = response.getHeaders().getFirstHeaderStringValue(StubResponse.STUBBY_RESOURCE_ID_HEADER);
final String ajaxRequestUrl = String.format("%s%s%s%s", ADMIN_URL, "/ajax/resource/", resourceID, "/httplifecycle/httpLifeCycleAsYaml");
final String ajaxRequestUrl = String.format("%s%s%s%s", ADMIN_URL, "/ajax/resource/", resourceID, "/httplifecycle/completeYAML");
final HttpRequest ajaxRequest = HttpUtils.constructHttpRequest(HttpMethods.GET, ajaxRequestUrl);

final HttpResponse ajaxResponse = ajaxRequest.execute();
Expand All @@ -223,4 +223,66 @@ public void should_ReturnAjaxResponseContentYaml_WhenSuccessfulRequestMade() thr
" body: |" + BR +
" {\"id\": \"456\", \"status\": \"created\"}");
}

@Test
public void should_ReturnAjaxStubRequestYAMLResponse_WhenSuccessfulRequestMade() throws Exception {

final String requestUrl = String.format("%s%s", STUBS_URL, "/invoice/new");
final String postContent = "{\"name\": \"chocolate\", \"description\": \"full\", \"department\": \"savoury\"}";
final HttpRequest request = HttpUtils.constructHttpRequest(HttpMethods.POST, requestUrl, postContent);

final HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(Common.HEADER_APPLICATION_JSON);

request.setHeaders(httpHeaders);

final HttpResponse response = request.execute();
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED_201);

final String resourceID = response.getHeaders().getFirstHeaderStringValue(StubResponse.STUBBY_RESOURCE_ID_HEADER);
final String ajaxRequestUrl = String.format("%s%s%s%s", ADMIN_URL, "/ajax/resource/", resourceID, "/httplifecycle/requestAsYAML");
final HttpRequest ajaxRequest = HttpUtils.constructHttpRequest(HttpMethods.GET, ajaxRequestUrl);

final HttpResponse ajaxResponse = ajaxRequest.execute();
assertThat(ajaxResponse.getStatusCode()).isEqualTo(HttpStatus.OK_200);
assertThat(ajaxResponse.parseAsString().trim()).contains(
"request:" + BR +
" method: POST" + BR +
" url: /invoice/new" + BR +
" headers:" + BR +
" content-type: application/json" + BR +
" post: |" + BR +
" {\"name\": \"chocolate\", \"description\": \"full\", \"department\": \"savoury\"}");
}

@Test
public void should_ReturnAjaxStubResponseYAMLResponse_WhenSuccessfulRequestMade() throws Exception {

final String requestUrl = String.format("%s%s", STUBS_URL, "/invoice/new");
final String postContent = "{\"name\": \"chocolate\", \"description\": \"full\", \"department\": \"savoury\"}";
final HttpRequest request = HttpUtils.constructHttpRequest(HttpMethods.POST, requestUrl, postContent);

final HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(Common.HEADER_APPLICATION_JSON);

request.setHeaders(httpHeaders);

final HttpResponse response = request.execute();
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.CREATED_201);

final String resourceID = response.getHeaders().getFirstHeaderStringValue(StubResponse.STUBBY_RESOURCE_ID_HEADER);
final String ajaxRequestUrl = String.format("%s%s%s%s", ADMIN_URL, "/ajax/resource/", resourceID, "/httplifecycle/responseAsYAML");
final HttpRequest ajaxRequest = HttpUtils.constructHttpRequest(HttpMethods.GET, ajaxRequestUrl);

final HttpResponse ajaxResponse = ajaxRequest.execute();
assertThat(ajaxResponse.getStatusCode()).isEqualTo(HttpStatus.OK_200);
assertThat(ajaxResponse.parseAsString().trim()).contains(
"response:" + BR +
" headers:" + BR +
" content-type: application/json" + BR +
" pragma: no-cache" + BR +
" status: 201" + BR +
" body: |" + BR +
" {\"id\": \"456\", \"status\": \"created\"}");
}
}
Expand Up @@ -6,7 +6,7 @@
import io.github.azagniotov.stubby4j.common.Common;
import io.github.azagniotov.stubby4j.utils.FileUtils;
import io.github.azagniotov.stubby4j.utils.StringUtils;
import io.github.azagniotov.stubby4j.yaml.YamlParser;
import io.github.azagniotov.stubby4j.yaml.YAMLParser;
import io.github.azagniotov.stubby4j.yaml.stubs.NotFoundStubResponse;
import io.github.azagniotov.stubby4j.yaml.stubs.RedirectStubResponse;
import io.github.azagniotov.stubby4j.yaml.stubs.StubHttpLifecycle;
Expand Down Expand Up @@ -60,7 +60,7 @@ public static void beforeClass() throws Exception {

@Before
public void beforeEach() throws Exception {
stubbedDataManager.resetStubHttpLifecycles(new LinkedList<StubHttpLifecycle>());
stubbedDataManager.resetStubsCache(new LinkedList<StubHttpLifecycle>());
}


Expand Down Expand Up @@ -839,51 +839,51 @@ public void shouldVerifyGetAllResponsesInvokation_WhenInvokingGetExternalFiles()
final URL yamlUrl = StubbedDataManagerTest.class.getResource("/yaml/two.cycles.with.multiple.responses.yaml");
final InputStream stubsDatanputStream = yamlUrl.openStream();
final String parentDirectory = new File(yamlUrl.getPath()).getParent();
final List<StubHttpLifecycle> stubHttpLifecycles = new YamlParser().parse(parentDirectory, StringUtils.inputStreamToString(stubsDatanputStream));
final List<StubHttpLifecycle> stubHttpLifecycles = new YAMLParser().parse(parentDirectory, StringUtils.inputStreamToString(stubsDatanputStream));
assertThat(stubHttpLifecycles.size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(0).getAllResponses().size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(1).getAllResponses().size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(0).getResponses().size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(1).getResponses().size()).isEqualTo(2);

final List<StubHttpLifecycle> spyStubHttpLifecycles = new LinkedList<>();
final StubHttpLifecycle spyCycleOne = spy(stubHttpLifecycles.get(0));
final StubHttpLifecycle spyCycleTwo = spy(stubHttpLifecycles.get(1));
spyStubHttpLifecycles.add(spyCycleOne);
spyStubHttpLifecycles.add(spyCycleTwo);

stubbedDataManager.resetStubHttpLifecycles(spyStubHttpLifecycles); // 1st time call to getAllResponses
stubbedDataManager.getExternalFiles(); // 2nd time call to getAllResponses
stubbedDataManager.resetStubsCache(spyStubHttpLifecycles); // 1st time call to getResponses
stubbedDataManager.getExternalFiles(); // 2nd time call to getResponses

verify(spyCycleOne, times(2)).getAllResponses();
verify(spyCycleTwo, times(2)).getAllResponses();
verify(spyCycleOne, times(2)).getResponses();
verify(spyCycleTwo, times(2)).getResponses();
}

@Test
public void shouldVerifyGetRawFileInvokation_WhenInvokingGetExternalFiles() throws Exception {
final URL yamlUrl = StubbedDataManagerTest.class.getResource("/yaml/two.cycles.with.multiple.responses.yaml");
final InputStream stubsDatanputStream = yamlUrl.openStream();
final String parentDirectory = new File(yamlUrl.getPath()).getParent();
final List<StubHttpLifecycle> stubHttpLifecycles = new YamlParser().parse(parentDirectory, StringUtils.inputStreamToString(stubsDatanputStream));
final List<StubHttpLifecycle> stubHttpLifecycles = new YAMLParser().parse(parentDirectory, StringUtils.inputStreamToString(stubsDatanputStream));
assertThat(stubHttpLifecycles.size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(0).getAllResponses().size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(1).getAllResponses().size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(0).getResponses().size()).isEqualTo(2);
assertThat(stubHttpLifecycles.get(1).getResponses().size()).isEqualTo(2);

stubHttpLifecycles.get(0).setResponse(new LinkedList<StubResponse>() {{
add(spy(stubHttpLifecycles.get(0).getAllResponses().get(0)));
add(spy(stubHttpLifecycles.get(0).getAllResponses().get(1)));
add(spy(stubHttpLifecycles.get(0).getResponses().get(0)));
add(spy(stubHttpLifecycles.get(0).getResponses().get(1)));
}});

stubHttpLifecycles.get(1).setResponse(new LinkedList<StubResponse>() {{
add(spy(stubHttpLifecycles.get(1).getAllResponses().get(0)));
add(spy(stubHttpLifecycles.get(1).getAllResponses().get(1)));
add(spy(stubHttpLifecycles.get(1).getResponses().get(0)));
add(spy(stubHttpLifecycles.get(1).getResponses().get(1)));
}});

stubbedDataManager.resetStubHttpLifecycles(stubHttpLifecycles);
stubbedDataManager.resetStubsCache(stubHttpLifecycles);
stubbedDataManager.getExternalFiles();

verify(stubHttpLifecycles.get(0).getAllResponses().get(0), times(1)).getRawFile();
verify(stubHttpLifecycles.get(0).getAllResponses().get(1), times(1)).getRawFile();
verify(stubHttpLifecycles.get(1).getAllResponses().get(0), times(1)).getRawFile();
verify(stubHttpLifecycles.get(1).getAllResponses().get(1), times(1)).getRawFile();
verify(stubHttpLifecycles.get(0).getResponses().get(0), times(1)).getRawFile();
verify(stubHttpLifecycles.get(0).getResponses().get(1), times(1)).getRawFile();
verify(stubHttpLifecycles.get(1).getResponses().get(0), times(1)).getRawFile();
verify(stubHttpLifecycles.get(1).getResponses().get(1), times(1)).getRawFile();
}

@Test
Expand Down Expand Up @@ -920,12 +920,12 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenSomeHttpCycleWasDeleted

loadYamlToDataStore(String.format("%s%s%s%s%s", cycleOne, FileUtils.BR, cycleTwo, FileUtils.BR, cycleThree));

List<StubHttpLifecycle> beforeDeletionLoadedHttpCycles = stubbedDataManager.getStubHttpLifecycles();
List<StubHttpLifecycle> beforeDeletionLoadedHttpCycles = stubbedDataManager.getStubs();
assertThat(beforeDeletionLoadedHttpCycles.size()).isEqualTo(3);

for (int resourceId = 0; resourceId < beforeDeletionLoadedHttpCycles.size(); resourceId++) {
final StubHttpLifecycle cycle = beforeDeletionLoadedHttpCycles.get(resourceId);
final List<StubResponse> allResponses = cycle.getAllResponses();
final List<StubResponse> allResponses = cycle.getResponses();

for (int sequence = 0; sequence < allResponses.size(); sequence++) {
final StubResponse sequenceStubResponse = allResponses.get(sequence);
Expand All @@ -934,14 +934,14 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenSomeHttpCycleWasDeleted
}
}

stubbedDataManager.deleteStubHttpLifecycleByIndex(1);
stubbedDataManager.deleteStubByIndex(1);

List<StubHttpLifecycle> afterDeletionLoadedHttpCycles = stubbedDataManager.getStubHttpLifecycles();
List<StubHttpLifecycle> afterDeletionLoadedHttpCycles = stubbedDataManager.getStubs();
assertThat(afterDeletionLoadedHttpCycles.size()).isEqualTo(2);

for (int resourceId = 0; resourceId < afterDeletionLoadedHttpCycles.size(); resourceId++) {
final StubHttpLifecycle cycle = afterDeletionLoadedHttpCycles.get(resourceId);
final List<StubResponse> allResponses = cycle.getAllResponses();
final List<StubResponse> allResponses = cycle.getResponses();

for (int sequence = 0; sequence < allResponses.size(); sequence++) {
final StubResponse sequenceStubResponse = allResponses.get(sequence);
Expand All @@ -964,12 +964,12 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenHttpCyclesWereReset() t

loadYamlToDataStore(cycleOne);

List<StubHttpLifecycle> beforeResetHttpCycles = stubbedDataManager.getStubHttpLifecycles();
List<StubHttpLifecycle> beforeResetHttpCycles = stubbedDataManager.getStubs();
assertThat(beforeResetHttpCycles.size()).isEqualTo(1);

for (int resourceId = 0; resourceId < beforeResetHttpCycles.size(); resourceId++) {
final StubHttpLifecycle cycle = beforeResetHttpCycles.get(resourceId);
final List<StubResponse> allResponses = cycle.getAllResponses();
final List<StubResponse> allResponses = cycle.getResponses();

for (int sequence = 0; sequence < allResponses.size(); sequence++) {
final StubResponse sequenceStubResponse = allResponses.get(sequence);
Expand Down Expand Up @@ -999,15 +999,15 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenHttpCyclesWereReset() t
.withStatus("201")
.build();

final List<StubHttpLifecycle> stubHttpLifecycles = new YamlParser().parse(".", String.format("%s%s%s", cycleTwo, FileUtils.BR, cycleThree));
stubbedDataManager.resetStubHttpLifecycles(stubHttpLifecycles);
final List<StubHttpLifecycle> stubHttpLifecycles = new YAMLParser().parse(".", String.format("%s%s%s", cycleTwo, FileUtils.BR, cycleThree));
stubbedDataManager.resetStubsCache(stubHttpLifecycles);

List<StubHttpLifecycle> afterResetHttpCycles = stubbedDataManager.getStubHttpLifecycles();
List<StubHttpLifecycle> afterResetHttpCycles = stubbedDataManager.getStubs();
assertThat(afterResetHttpCycles.size()).isEqualTo(2);

for (int resourceId = 0; resourceId < afterResetHttpCycles.size(); resourceId++) {
final StubHttpLifecycle cycle = afterResetHttpCycles.get(resourceId);
final List<StubResponse> allResponses = cycle.getAllResponses();
final List<StubResponse> allResponses = cycle.getResponses();

for (int sequence = 0; sequence < allResponses.size(); sequence++) {
final StubResponse sequenceStubResponse = allResponses.get(sequence);
Expand Down Expand Up @@ -1043,12 +1043,12 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenSomeHttpCycleWasUpdated

loadYamlToDataStore(String.format("%s%s%s", cycleTwo, FileUtils.BR, cycleThree));

List<StubHttpLifecycle> beforeUpdateHttpCycles = stubbedDataManager.getStubHttpLifecycles();
List<StubHttpLifecycle> beforeUpdateHttpCycles = stubbedDataManager.getStubs();
assertThat(beforeUpdateHttpCycles.size()).isEqualTo(2);

for (int resourceId = 0; resourceId < beforeUpdateHttpCycles.size(); resourceId++) {
final StubHttpLifecycle cycle = beforeUpdateHttpCycles.get(resourceId);
final List<StubResponse> allResponses = cycle.getAllResponses();
final List<StubResponse> allResponses = cycle.getResponses();

for (int sequence = 0; sequence < allResponses.size(); sequence++) {
final StubResponse sequenceStubResponse = allResponses.get(sequence);
Expand All @@ -1066,19 +1066,19 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenSomeHttpCycleWasUpdated
.withStatus("200")
.build();

final List<StubHttpLifecycle> stubHttpLifecycles = new YamlParser().parse(".", cycleOne);
final List<StubHttpLifecycle> stubHttpLifecycles = new YAMLParser().parse(".", cycleOne);
final StubHttpLifecycle updatingStubHttpLifecycle = stubHttpLifecycles.get(0);

stubbedDataManager.updateStubHttpLifecycleByIndex(0, updatingStubHttpLifecycle);
List<StubHttpLifecycle> afterUpdateHttpCycles = stubbedDataManager.getStubHttpLifecycles();
stubbedDataManager.updateStubByIndex(0, updatingStubHttpLifecycle);
final List<StubHttpLifecycle> afterUpdateHttpCycles = stubbedDataManager.getStubs();

assertThat(afterUpdateHttpCycles.size()).isEqualTo(2);
final String firstCycleUrl = afterUpdateHttpCycles.get(0).getRequest().getUrl();
final String firstCycleUrl = afterUpdateHttpCycles.get(0).getStubbedUrl();
assertThat(firstCycleUrl).isEqualTo("/some/uri/updating/cycle?paramName1=paramValue1");

for (int resourceId = 0; resourceId < afterUpdateHttpCycles.size(); resourceId++) {
final StubHttpLifecycle cycle = afterUpdateHttpCycles.get(resourceId);
final List<StubResponse> allResponses = cycle.getAllResponses();
final List<StubResponse> allResponses = cycle.getResponses();

for (int sequence = 0; sequence < allResponses.size(); sequence++) {
final StubResponse sequenceStubResponse = allResponses.get(sequence);
Expand All @@ -1089,15 +1089,15 @@ public void shouldAdjustResourceIDHeadersAccordingly_WhenSomeHttpCycleWasUpdated
}

private void loadYamlToDataStore(final String yaml) throws Exception {
final List<StubHttpLifecycle> stubHttpLifecycles = new YamlParser().parse(".", yaml);
final List<StubHttpLifecycle> stubHttpLifecycles = new YAMLParser().parse(".", yaml);

stubbedDataManager.resetStubHttpLifecycles(stubHttpLifecycles);
stubbedDataManager.resetStubsCache(stubHttpLifecycles);
}

private void resetStubHttpLifecyclesFromYamlResource(final String resourcePath) throws Exception {
final URL yamlUrl = StubbedDataManagerTest.class.getResource(resourcePath);
final InputStream stubsDatanputStream = yamlUrl.openStream();
final String parentDirectory = new File(yamlUrl.getPath()).getParent();
stubbedDataManager.resetStubHttpLifecycles(new YamlParser().parse(parentDirectory, StringUtils.inputStreamToString(stubsDatanputStream)));
stubbedDataManager.resetStubsCache(new YAMLParser().parse(parentDirectory, StringUtils.inputStreamToString(stubsDatanputStream)));
}
}
Expand Up @@ -17,7 +17,7 @@
* @author: Alexander Zagniotov
* Created: 4/22/13 6:39 PM
*/
public class YamlParserLoadTest {
public class YAMLParserLoadTest {

private static final YamlBuilder YAML_BUILDER = new YamlBuilder();

Expand Down Expand Up @@ -75,7 +75,7 @@ public void loadTest_shouldUnmarshallHugeYamlIntoObjectTree_WhenYAMLValid() thro
}

private List<StubHttpLifecycle> loadYamlToDataStore(final String yaml) throws Exception {
return new YamlParser().parse(".", FileUtils.constructReader(yaml));
return new YAMLParser().parse(".", FileUtils.constructReader(yaml));
}

}

0 comments on commit 8d90995

Please sign in to comment.