Search in sources :

Example 61 with CatsResponse

use of com.endava.cats.model.CatsResponse in project cats by Endava.

the class RemoveHeadersFuzzerTest method givenASetOfHeadersWithRequiredHeaders_whenApplyingTheRemoveHeadersFuzzer_thenTheHeadersAreProperlyFuzzed.

@Test
void givenASetOfHeadersWithRequiredHeaders_whenApplyingTheRemoveHeadersFuzzer_thenTheHeadersAreProperlyFuzzed() {
    Map<String, List<String>> responses = new HashMap<>();
    responses.put("400", Collections.singletonList("response"));
    FuzzingData data = FuzzingData.builder().headers(Collections.singleton(CatsHeader.builder().name("header").value("value").required(true).build())).responses(responses).reqSchema(new StringSchema()).build();
    CatsResponse catsResponse = CatsResponse.builder().body("{}").responseCode(200).build();
    Mockito.when(serviceCaller.call(Mockito.any())).thenReturn(catsResponse);
    Mockito.doNothing().when(testCaseListener).reportResult(Mockito.any(), Mockito.eq(data), Mockito.any(), Mockito.any());
    removeHeadersFuzzer.fuzz(data);
    Mockito.verify(testCaseListener, Mockito.times(1)).reportResult(Mockito.any(), Mockito.eq(data), Mockito.eq(catsResponse), Mockito.eq(ResponseCodeFamily.TWOXX));
    Mockito.verify(testCaseListener, Mockito.times(1)).reportResult(Mockito.any(), Mockito.eq(data), Mockito.eq(catsResponse), Mockito.eq(ResponseCodeFamily.FOURXX));
}
Also used : CatsResponse(com.endava.cats.model.CatsResponse) HashMap(java.util.HashMap) FuzzingData(com.endava.cats.model.FuzzingData) List(java.util.List) StringSchema(io.swagger.v3.oas.models.media.StringSchema) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Test(org.junit.jupiter.api.Test)

Example 62 with CatsResponse

use of com.endava.cats.model.CatsResponse in project cats by Endava.

the class RemoveHeadersFuzzerTest method givenASetOfHeadersWithNoRequiredHeaders_whenApplyingTheRemoveHeadersFuzzer_thenTheHeadersAreProperlyFuzzed.

@Test
void givenASetOfHeadersWithNoRequiredHeaders_whenApplyingTheRemoveHeadersFuzzer_thenTheHeadersAreProperlyFuzzed() {
    Map<String, List<String>> responses = new HashMap<>();
    responses.put("200", Collections.singletonList("response"));
    FuzzingData data = FuzzingData.builder().headers(Collections.singleton(CatsHeader.builder().name("header").value("value").build())).responses(responses).reqSchema(new StringSchema()).build();
    CatsResponse catsResponse = CatsResponse.builder().body("{}").responseCode(200).build();
    Mockito.when(serviceCaller.call(Mockito.any())).thenReturn(catsResponse);
    Mockito.doNothing().when(testCaseListener).reportResult(Mockito.any(), Mockito.eq(data), Mockito.any(), Mockito.any());
    removeHeadersFuzzer.fuzz(data);
    Mockito.verify(testCaseListener, Mockito.times(2)).reportResult(Mockito.any(), Mockito.eq(data), Mockito.eq(catsResponse), Mockito.eq(ResponseCodeFamily.TWOXX));
}
Also used : CatsResponse(com.endava.cats.model.CatsResponse) HashMap(java.util.HashMap) FuzzingData(com.endava.cats.model.FuzzingData) List(java.util.List) StringSchema(io.swagger.v3.oas.models.media.StringSchema) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Test(org.junit.jupiter.api.Test)

Example 63 with CatsResponse

use of com.endava.cats.model.CatsResponse in project cats by Endava.

the class ServiceCallerTest method givenAServer_whenDoingAHeadCall_thenProperDetailsAreBeingReturned.

@Test
void givenAServer_whenDoingAHeadCall_thenProperDetailsAreBeingReturned() {
    serviceCaller.initHttpClient();
    serviceCaller.initRateLimiter();
    CatsResponse catsResponse = serviceCaller.call(ServiceData.builder().relativePath("/pets/{id}").payload("{'id':'1'}").httpMethod(HttpMethod.HEAD).headers(Collections.singleton(CatsHeader.builder().name("header").value("header").build())).build());
    Assertions.assertThat(catsResponse.responseCodeAsString()).isEqualTo("200");
    Assertions.assertThat(catsResponse.getBody()).isEmpty();
}
Also used : CatsResponse(com.endava.cats.model.CatsResponse) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Test(org.junit.jupiter.api.Test)

Example 64 with CatsResponse

use of com.endava.cats.model.CatsResponse in project cats by Endava.

the class ServiceCallerTest method givenAServer_whenDoingAPatchCall_thenProperDetailsAreBeingReturned.

@Test
void givenAServer_whenDoingAPatchCall_thenProperDetailsAreBeingReturned() {
    serviceCaller.initHttpClient();
    serviceCaller.initRateLimiter();
    CatsResponse catsResponse = serviceCaller.call(ServiceData.builder().relativePath("/pets").payload("{'id':'1'}").httpMethod(HttpMethod.PATCH).headers(Collections.singleton(CatsHeader.builder().name("header").value("header").build())).build());
    Assertions.assertThat(catsResponse.responseCodeAsString()).isEqualTo("200");
    Assertions.assertThat(catsResponse.getBody()).isEmpty();
}
Also used : CatsResponse(com.endava.cats.model.CatsResponse) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Test(org.junit.jupiter.api.Test)

Example 65 with CatsResponse

use of com.endava.cats.model.CatsResponse in project cats by Endava.

the class ServiceCallerTest method givenAServer_whenDoingAPutCall_thenProperDetailsAreBeingReturned.

@Test
void givenAServer_whenDoingAPutCall_thenProperDetailsAreBeingReturned() {
    serviceCaller.initHttpClient();
    serviceCaller.initRateLimiter();
    CatsResponse catsResponse = serviceCaller.call(ServiceData.builder().relativePath("/pets").payload("{'field':'newValue'}").httpMethod(HttpMethod.PUT).headers(Collections.singleton(CatsHeader.builder().name("header").value("header").build())).build());
    Assertions.assertThat(catsResponse.responseCodeAsString()).isEqualTo("200");
    Assertions.assertThat(catsResponse.getBody()).isEqualTo("{'result':'OK'}");
}
Also used : CatsResponse(com.endava.cats.model.CatsResponse) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Test(org.junit.jupiter.api.Test)

Aggregations

CatsResponse (com.endava.cats.model.CatsResponse)67 FuzzingData (com.endava.cats.model.FuzzingData)44 QuarkusTest (io.quarkus.test.junit.QuarkusTest)42 Test (org.junit.jupiter.api.Test)42 StringSchema (io.swagger.v3.oas.models.media.StringSchema)23 List (java.util.List)15 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)15 HashMap (java.util.HashMap)14 CatsHeader (com.endava.cats.model.CatsHeader)7 PathItem (io.swagger.v3.oas.models.PathItem)7 ServiceData (com.endava.cats.io.ServiceData)6 CatsTestCase (com.endava.cats.model.report.CatsTestCase)5 CsvSource (org.junit.jupiter.params.provider.CsvSource)5 ResponseCodeFamily (com.endava.cats.http.ResponseCodeFamily)4 ArrayList (java.util.ArrayList)4 FuzzingStrategy (com.endava.cats.model.FuzzingStrategy)3 TestCaseListener (com.endava.cats.report.TestCaseListener)3 JsonObject (com.google.gson.JsonObject)3 PrettyLogger (io.github.ludovicianul.prettylogger.PrettyLogger)3 PrettyLoggerFactory (io.github.ludovicianul.prettylogger.PrettyLoggerFactory)3