fixed TestRestClient, swagger config improvements
This commit is contained in:
parent
0e72c36628
commit
c6771d9fc9
@ -89,7 +89,7 @@ public class SwaggerConfiguration {
|
||||
private String appVersion;
|
||||
|
||||
@Bean
|
||||
public OpenAPI tbOpenAPI() {
|
||||
public OpenAPI thingsboardApi() {
|
||||
Contact contact = new Contact()
|
||||
.name(contactName)
|
||||
.url(contactUrl)
|
||||
@ -193,7 +193,7 @@ public class SwaggerConfiguration {
|
||||
}
|
||||
|
||||
@Bean
|
||||
public GroupedOpenApi thingsboardApi() {
|
||||
public GroupedOpenApi groupedApi() {
|
||||
return GroupedOpenApi.builder()
|
||||
.group("thingsboard")
|
||||
.pathsToMatch(apiPath)
|
||||
@ -230,24 +230,32 @@ public class SwaggerConfiguration {
|
||||
}
|
||||
|
||||
public OpenApiCustomizer customOpenApiCustomizer() {
|
||||
SecurityRequirement loginForm = new SecurityRequirement().addList("HTTP login form");
|
||||
|
||||
var loginForm = new SecurityRequirement().addList("HTTP login form");
|
||||
return openAPI -> openAPI.getPaths().entrySet().stream().peek(entry -> {
|
||||
if (!(entry.getKey().matches(nonSecurityPathRegex) || entry.getKey().equals(LOGIN_ENDPOINT))) {
|
||||
entry.getValue()
|
||||
.readOperationsMap()
|
||||
.values()
|
||||
.forEach(operation -> operation.addSecurityItem(loginForm));
|
||||
}
|
||||
securityCustomization(loginForm, entry);
|
||||
defaultErrorResponsesCustomization(entry.getValue());
|
||||
}).map(this::tagsCustomization).forEach(openAPI::addTagsItem);
|
||||
}
|
||||
|
||||
entry.getValue().readOperationsMap().forEach(((httpMethod, operation) -> {
|
||||
operation.setResponses(getResponses(operation.getResponses(), httpMethod.equals(PathItem.HttpMethod.POST)));
|
||||
}));
|
||||
private Tag tagsCustomization(Map.Entry<String, PathItem> entry) {
|
||||
var operations = entry.getValue().readOperationsMap().values();
|
||||
var tagItem = operations.stream().findAny().get().getTags().get(0);
|
||||
return tagFromTagItem(tagItem);
|
||||
}
|
||||
|
||||
}).map(entry -> {
|
||||
String tagItem = entry.getValue().readOperationsMap().values().stream().findAny().get().getTags().get(0);
|
||||
return tagFromTagItem(tagItem);
|
||||
}).forEach(openAPI::addTagsItem);
|
||||
private void defaultErrorResponsesCustomization(PathItem pathItem) {
|
||||
pathItem.readOperationsMap().forEach(((httpMethod, operation) -> {
|
||||
operation.setResponses(getResponses(operation.getResponses(), httpMethod.equals(PathItem.HttpMethod.POST)));
|
||||
}));
|
||||
}
|
||||
|
||||
private void securityCustomization(SecurityRequirement loginForm, Map.Entry<String, PathItem> entry) {
|
||||
if (!(entry.getKey().matches(nonSecurityPathRegex) || entry.getKey().equals(LOGIN_ENDPOINT))) {
|
||||
entry.getValue()
|
||||
.readOperationsMap()
|
||||
.values()
|
||||
.forEach(operation -> operation.addSecurityItem(loginForm));
|
||||
}
|
||||
}
|
||||
|
||||
private Tag tagFromTagItem(String tagItem) {
|
||||
|
||||
@ -90,11 +90,8 @@ public class AlarmController extends BaseController {
|
||||
private static final String ALARM_QUERY_SEARCH_STATUS_DESCRIPTION = "A string value representing one of the AlarmSearchStatus enumeration value";
|
||||
|
||||
private static final String ALARM_QUERY_SEARCH_STATUS_ARRAY_DESCRIPTION = "A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value";
|
||||
private static final String ALARM_QUERY_SEARCH_STATUS_ALLOWABLE_VALUES = "ANY, ACTIVE, CLEARED, ACK, UNACK";
|
||||
private static final String ALARM_QUERY_STATUS_DESCRIPTION = "A string value representing one of the AlarmStatus enumeration value";
|
||||
private static final String ALARM_QUERY_STATUS_ALLOWABLE_VALUES = "ACTIVE_UNACK, ACTIVE_ACK, CLEARED_UNACK, CLEARED_ACK";
|
||||
private static final String ALARM_QUERY_SEVERITY_ARRAY_DESCRIPTION = "A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value";
|
||||
private static final String ALARM_QUERY_SEVERITY_ALLOWABLE_VALUES = "CRITICAL, MAJOR, MINOR, WARNING, INDETERMINATE";
|
||||
|
||||
private static final String ALARM_QUERY_TYPE_ARRAY_DESCRIPTION = "A list of string values separated by comma ',' representing alarm types";
|
||||
private static final String ALARM_QUERY_ASSIGNEE_DESCRIPTION = "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
|
||||
@ -246,9 +243,9 @@ public class AlarmController extends BaseController {
|
||||
@PathVariable(ENTITY_TYPE) String strEntityType,
|
||||
@Parameter(description = ENTITY_ID_PARAM_DESCRIPTION, required = true)
|
||||
@PathVariable(ENTITY_ID) String strEntityId,
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEARCH_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_DESCRIPTION, schema = @Schema(allowableValues = {"ANY", "ACTIVE", "CLEARED", "ACK", "UNACK"}))
|
||||
@RequestParam(required = false) String searchStatus,
|
||||
@Parameter(description = ALARM_QUERY_STATUS_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_STATUS_DESCRIPTION, schema = @Schema(allowableValues = {"ACTIVE_UNACK", "ACTIVE_ACK", "CLEARED_UNACK", "CLEARED_ACK"}))
|
||||
@RequestParam(required = false) String status,
|
||||
@Parameter(description = ALARM_QUERY_ASSIGNEE_DESCRIPTION)
|
||||
@RequestParam(required = false) String assigneeId,
|
||||
@ -298,9 +295,9 @@ public class AlarmController extends BaseController {
|
||||
@RequestMapping(value = "/alarms", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public PageData<AlarmInfo> getAllAlarms(
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEARCH_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_DESCRIPTION, schema = @Schema(allowableValues = {"ANY", "ACTIVE", "CLEARED", "ACK", "UNACK"}))
|
||||
@RequestParam(required = false) String searchStatus,
|
||||
@Parameter(description = ALARM_QUERY_STATUS_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_STATUS_DESCRIPTION, schema = @Schema(allowableValues = {"ACTIVE_UNACK", "ACTIVE_ACK", "CLEARED_UNACK", "CLEARED_ACK"}))
|
||||
@RequestParam(required = false) String status,
|
||||
@Parameter(description = ALARM_QUERY_ASSIGNEE_DESCRIPTION)
|
||||
@RequestParam(required = false) String assigneeId,
|
||||
@ -351,9 +348,9 @@ public class AlarmController extends BaseController {
|
||||
@PathVariable(ENTITY_TYPE) String strEntityType,
|
||||
@Parameter(description = ENTITY_ID_PARAM_DESCRIPTION, required = true)
|
||||
@PathVariable(ENTITY_ID) String strEntityId,
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEARCH_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = {"ANY", "ACTIVE", "CLEARED", "ACK", "UNACK"}))
|
||||
@RequestParam(required = false) String[] statusList,
|
||||
@Parameter(description = ALARM_QUERY_SEVERITY_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEVERITY_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEVERITY_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = {"CRITICAL", "MAJOR", "MINOR", "WARNING", "INDETERMINATE"}))
|
||||
@RequestParam(required = false) String[] severityList,
|
||||
@Parameter(description = ALARM_QUERY_TYPE_ARRAY_DESCRIPTION)
|
||||
@RequestParam(required = false) String[] typeList,
|
||||
@ -413,9 +410,9 @@ public class AlarmController extends BaseController {
|
||||
@RequestMapping(value = "/v2/alarms", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public PageData<AlarmInfo> getAllAlarmsV2(
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEARCH_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = {"ANY", "ACTIVE", "CLEARED", "ACK", "UNACK"}))
|
||||
@RequestParam(required = false) String[] statusList,
|
||||
@Parameter(description = ALARM_QUERY_SEVERITY_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEVERITY_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEVERITY_ARRAY_DESCRIPTION, schema = @Schema(allowableValues = {"CRITICAL", "MAJOR", "MINOR", "WARNING", "INDETERMINATE"}))
|
||||
@RequestParam(required = false) String[] severityList,
|
||||
@Parameter(description = ALARM_QUERY_TYPE_ARRAY_DESCRIPTION)
|
||||
@RequestParam(required = false) String[] typeList,
|
||||
@ -478,9 +475,9 @@ public class AlarmController extends BaseController {
|
||||
@PathVariable(ENTITY_TYPE) String strEntityType,
|
||||
@Parameter(description = ENTITY_ID_PARAM_DESCRIPTION, required = true)
|
||||
@PathVariable(ENTITY_ID) String strEntityId,
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_SEARCH_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_SEARCH_STATUS_DESCRIPTION, schema = @Schema(allowableValues = {"ANY", "ACTIVE", "CLEARED", "ACK", "UNACK"}))
|
||||
@RequestParam(required = false) String searchStatus,
|
||||
@Parameter(description = ALARM_QUERY_STATUS_DESCRIPTION, schema = @Schema(allowableValues = ALARM_QUERY_STATUS_ALLOWABLE_VALUES))
|
||||
@Parameter(description = ALARM_QUERY_STATUS_DESCRIPTION, schema = @Schema(allowableValues = {"ACTIVE_UNACK", "ACTIVE_ACK", "CLEARED_UNACK", "CLEARED_ACK"}))
|
||||
@RequestParam(required = false) String status,
|
||||
@Parameter(description = ALARM_QUERY_ASSIGNEE_DESCRIPTION)
|
||||
@RequestParam(required = false) String assigneeId
|
||||
|
||||
@ -183,7 +183,7 @@ public class TestRestClient {
|
||||
|
||||
public ValidatableResponse postAttribute(String accessToken, JsonNode attribute) {
|
||||
return given().spec(requestSpec).body(attribute)
|
||||
.post("/api/v1/{accessToken}/attributes/", accessToken)
|
||||
.post("/api/v1/{accessToken}/attributes", accessToken)
|
||||
.then()
|
||||
.statusCode(HTTP_OK);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user