Skip to content
Snippets Groups Projects

feat: migrate tests to testing package + add new tests

2 files
+ 170
36
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -11,19 +11,16 @@
**********************************************************************/
package org.eclipsefoundation.mailing.resources;
import static io.restassured.RestAssured.given;
import static io.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath;
import javax.inject.Inject;
import org.eclipsefoundation.mailing.test.namespace.SchemaNamespaceHelper;
import org.eclipsefoundation.testing.helpers.TestCaseHelper;
import org.eclipsefoundation.testing.templates.RestAssuredTemplates;
import org.eclipsefoundation.testing.templates.RestAssuredTemplates.EndpointTestCase;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.http.ContentType;
@TestInstance(Lifecycle.PER_CLASS)
@QuarkusTest
@@ -36,72 +33,203 @@ class MailingListsResourceTests {
public static final String AVAILABLE_PROJECTS_MAILING_LISTS_URL = PROJECTS_MAILING_LISTS_URL + "/available";
public static final String PROJECT_MAILING_LISTS_URL = PROJECTS_MAILING_LISTS_URL + "/{projectID}";
@Inject
ObjectMapper json;
/*
* GET ALL
*/
public static final EndpointTestCase GET_ALL_SUCCESS = TestCaseHelper.buildSuccessCase(MAILING_LISTS_BASE_URL,
new String[] {}, SchemaNamespaceHelper.MAILING_LISTS_SCHEMA_PATH);
public static final EndpointTestCase GET_ALL_INVALID_FORMAT = TestCaseHelper.buildInvalidFormatCase(
MAILING_LISTS_BASE_URL, new String[] {}, ContentType.TEXT);
/*
* GET AVAILABLE
*/
public static final EndpointTestCase GET_AVAILABLE_SUCCESS = TestCaseHelper.buildSuccessCase(
AVAILABLE_MAILING_LISTS_URL, new String[] {}, SchemaNamespaceHelper.MAILING_LISTS_SCHEMA_PATH);
public static final EndpointTestCase GET_AVAILABLE_INVALID_FORMAT = TestCaseHelper.buildInvalidFormatCase(
AVAILABLE_MAILING_LISTS_URL, new String[] {}, ContentType.XML);
/*
* BY NAME
*/
public static final EndpointTestCase GET_MAILING_LISTS_BY_NAME_SUCCESS = TestCaseHelper.buildSuccessCase(
MAILING_LISTS_BY_NAME_URL, new String[] { "eclipse-dev" }, SchemaNamespaceHelper.MAILING_LIST_SCHEMA_PATH);
public static final EndpointTestCase GET_MAILING_LISTS_BY_NAME_INVALID_FORMAT = TestCaseHelper
.buildInvalidFormatCase(MAILING_LISTS_BY_NAME_URL, new String[] { "eclipse-dev" }, ContentType.XML);
public static final EndpointTestCase GET_MAILING_LISTS_BY_NAME_NOT_FOUND = TestCaseHelper.buildNotFoundCase(
MAILING_LISTS_BY_NAME_URL, new String[] { "elipse-dem" });
/*
* GET PROJECTS MAILING LISTS
*/
public static final EndpointTestCase GET_PROJECTS_MAILING_LISTS_SUCCESS = TestCaseHelper.buildSuccessCase(
PROJECTS_MAILING_LISTS_URL, new String[] {}, SchemaNamespaceHelper.MAILING_LIST_MAPPING_SCHEMA_PATH);
public static final EndpointTestCase GET_PROJECTS_MAILING_LISTS_INVALID_FORMAT = TestCaseHelper
.buildInvalidFormatCase(PROJECTS_MAILING_LISTS_URL, new String[] {}, ContentType.XML);
/*
* GET AVAILABLE PROJECTS
*/
public static final EndpointTestCase GET_AVAILABLE_PROJECTS_MAILING_LISTS_SUCCESS = TestCaseHelper.buildSuccessCase(
AVAILABLE_PROJECTS_MAILING_LISTS_URL, new String[] {}, SchemaNamespaceHelper.MAILING_LIST_MAPPING_SCHEMA_PATH);
public static final EndpointTestCase GET_AVAILABLE_PROJECTS_MAILING_LISTS_INVALID_FORMAT = TestCaseHelper
.buildInvalidFormatCase(AVAILABLE_PROJECTS_MAILING_LISTS_URL, new String[] {}, ContentType.XML);
/*
* PROJECTS MAILING LISTS BY NAME
*/
public static final EndpointTestCase GET_PROJECTS_MAILING_LISTS_BY_ID_SUCCESS = TestCaseHelper.buildSuccessCase(
PROJECT_MAILING_LISTS_URL, new String[] { "ee4j" }, SchemaNamespaceHelper.MAILING_LISTS_SCHEMA_PATH);
public static final EndpointTestCase GET_PROJECTS_MAILING_LISTS_BY_ID_INVALID_FORMAT = TestCaseHelper
.buildInvalidFormatCase(PROJECT_MAILING_LISTS_URL, new String[] { "ee4j" }, ContentType.XML);
/*
* GET ALL
*/
@Test
void getMailingLists_success() {
given().when().get(MAILING_LISTS_BASE_URL).then().statusCode(200);
RestAssuredTemplates.testGet(GET_ALL_SUCCESS);
}
@Test
void getMailingLists_success_format() {
given().when().get(MAILING_LISTS_BASE_URL).then().assertThat()
.body(matchesJsonSchemaInClasspath(SchemaNamespaceHelper.MAILING_LISTS_SCHEMA_PATH));
void getMailingLists_success_validResponseFormat() {
RestAssuredTemplates.testGet_validateResponseFormat(GET_ALL_SUCCESS);
}
@Test
void getMailingLists_success_validSchema() {
RestAssuredTemplates.testGet_validateSchema(GET_ALL_SUCCESS);
}
@Test
void getMailingLists_failure_invalidFormat() {
RestAssuredTemplates.testGet(GET_ALL_INVALID_FORMAT);
}
/*
* GET AVAILABLE
*/
@Test
void getAvailableMailingLists_success() {
given().when().get(AVAILABLE_MAILING_LISTS_URL).then().statusCode(200);
RestAssuredTemplates.testGet(GET_AVAILABLE_SUCCESS);
}
@Test
void getAvailableMailingLists_success_validResponseFormat() {
RestAssuredTemplates.testGet_validateResponseFormat(GET_AVAILABLE_SUCCESS);
}
@Test
void getAvailableMailingLists_success_validSchema() {
RestAssuredTemplates.testGet_validateSchema(GET_AVAILABLE_SUCCESS);
}
@Test
void getAvailableMailingLists_success_format() {
given().when().get(AVAILABLE_MAILING_LISTS_URL).then().assertThat()
.body(matchesJsonSchemaInClasspath(SchemaNamespaceHelper.MAILING_LISTS_SCHEMA_PATH));
void getAvailableMailingLists_failure_invalidFormat() {
RestAssuredTemplates.testGet(GET_AVAILABLE_INVALID_FORMAT);
}
/*
* BY NAME
*/
@Test
void getMailingList_success() {
given().when().get(MAILING_LISTS_BY_NAME_URL, "eclipse-dev").then().statusCode(200);
RestAssuredTemplates.testGet(GET_MAILING_LISTS_BY_NAME_SUCCESS);
}
@Test
void getMailingList_success_validResponseFormat() {
RestAssuredTemplates.testGet_validateResponseFormat(GET_MAILING_LISTS_BY_NAME_SUCCESS);
}
@Test
void getMailingList_success_validSchema() {
RestAssuredTemplates.testGet_validateSchema(GET_MAILING_LISTS_BY_NAME_SUCCESS);
}
@Test
void getMailingList_success_format() {
given().when().get(MAILING_LISTS_BY_NAME_URL, "eclipse-dev").then().assertThat()
.body(matchesJsonSchemaInClasspath(SchemaNamespaceHelper.MAILING_LIST_SCHEMA_PATH));
void getMailingList_failure_invalidFormat() {
RestAssuredTemplates.testGet(GET_MAILING_LISTS_BY_NAME_INVALID_FORMAT);
}
@Test
void getMailingList_failure_notFound() {
RestAssuredTemplates.testGet(GET_MAILING_LISTS_BY_NAME_NOT_FOUND);
}
/*
* GET PROJECTS MAILING LISTS
*/
@Test
void getProjectsMailingLists_success() {
given().when().get(PROJECTS_MAILING_LISTS_URL).then().statusCode(200);
RestAssuredTemplates.testGet(GET_PROJECTS_MAILING_LISTS_SUCCESS);
}
@Test
void getProjectsMailingLists_success_validResponseFormat() {
RestAssuredTemplates.testGet_validateResponseFormat(GET_PROJECTS_MAILING_LISTS_SUCCESS);
}
@Test
void getProjectsMailingLists_success_format() {
given().when().get(PROJECTS_MAILING_LISTS_URL).then().assertThat()
.body(matchesJsonSchemaInClasspath(SchemaNamespaceHelper.MAILING_LIST_MAPPING_SCHEMA_PATH));
void getProjectsMailingLists_success_validSchema() {
RestAssuredTemplates.testGet_validateSchema(GET_PROJECTS_MAILING_LISTS_SUCCESS);
}
@Test
void getProjectsMailingLists_failure_invalidFormat() {
RestAssuredTemplates.testGet(GET_PROJECTS_MAILING_LISTS_INVALID_FORMAT);
}
/*
* GET AVILABLE PROJECTS MAILING LISTS
*/
@Test
void getAvailableProjectsMailingLists_success() {
given().when().get(AVAILABLE_PROJECTS_MAILING_LISTS_URL).then().statusCode(200);
RestAssuredTemplates.testGet(GET_AVAILABLE_PROJECTS_MAILING_LISTS_SUCCESS);
}
@Test
void getAvailableProjectsMailingLists_success_validResponseFormat() {
RestAssuredTemplates.testGet_validateResponseFormat(GET_AVAILABLE_PROJECTS_MAILING_LISTS_SUCCESS);
}
@Test
void getAvailableProjectsMailingLists_success_validSchema() {
RestAssuredTemplates.testGet_validateSchema(GET_AVAILABLE_PROJECTS_MAILING_LISTS_SUCCESS);
}
@Test
void getAvailableProjectsMailingLists_failure_invalidFormat() {
RestAssuredTemplates.testGet(GET_AVAILABLE_PROJECTS_MAILING_LISTS_INVALID_FORMAT);
}
/*
* GET PROJECT MAILING LIST BY ID
*/
@Test
void getProjectMailingList_success() {
RestAssuredTemplates.testGet(GET_PROJECTS_MAILING_LISTS_BY_ID_SUCCESS);
}
@Test
void getAvailableProjectsMailingLists_success_format() {
given().when().get(AVAILABLE_PROJECTS_MAILING_LISTS_URL).then().assertThat()
.body(matchesJsonSchemaInClasspath(SchemaNamespaceHelper.MAILING_LIST_MAPPING_SCHEMA_PATH));
void getProjectMailingList_success_validResponseFormat() {
RestAssuredTemplates.testGet_validateResponseFormat(GET_PROJECTS_MAILING_LISTS_BY_ID_SUCCESS);
}
@Test
void getProjectMailingLists_success() {
given().when().get(PROJECT_MAILING_LISTS_URL, "ee4j").then().statusCode(200);
void getProjectMailingList_success_validSchema() {
RestAssuredTemplates.testGet_validateSchema(GET_PROJECTS_MAILING_LISTS_BY_ID_SUCCESS);
}
@Test
void getProjectMailingLists_success_format() {
given().when().get(PROJECT_MAILING_LISTS_URL, "ee4j").then().assertThat()
.body(matchesJsonSchemaInClasspath(SchemaNamespaceHelper.MAILING_LISTS_SCHEMA_PATH));
void getProjectMailingList_failure_invalidFormat() {
RestAssuredTemplates.testGet(GET_PROJECTS_MAILING_LISTS_BY_ID_INVALID_FORMAT);
}
}
Loading