Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport 2.x] Add ApiSpecFetcher for Fetching and Comparing API Specifications #906

Merged
merged 2 commits into from
Oct 9, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add slf4j-api and jackson-core dependencies
Signed-off-by: Daniel Widdis <[email protected]>
dbwiddis committed Oct 9, 2024
commit d3c8141557bf5799559fa31bb37b652198909cb2
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -171,6 +171,7 @@ dependencies {
implementation 'org.junit.jupiter:junit-jupiter:5.11.2'
api group: 'org.opensearch', name:'opensearch-ml-client', version: "${opensearch_build}"
api group: 'org.opensearch.client', name: 'opensearch-rest-client', version: "${opensearch_version}"
api group: 'org.slf4j', name: 'slf4j-api', version: '1.7.36'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.17.0'
implementation "org.opensearch:common-utils:${common_utils_version}"
implementation "com.amazonaws:aws-encryption-sdk-java:3.0.1"
@@ -188,6 +189,7 @@ dependencies {
implementation "io.swagger.parser.v3:swagger-parser-core:${swaggerVersion}"
implementation "io.swagger.parser.v3:swagger-parser:${swaggerVersion}"
implementation "io.swagger.parser.v3:swagger-parser-v3:${swaggerVersion}"
implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}"
implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jacksonVersion}"
implementation "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}"
@@ -201,7 +203,7 @@ dependencies {
configurations.all {
resolutionStrategy {
force("com.google.guava:guava:33.3.1-jre") // CVE for 31.1, keep to force transitive dependencies
force("com.fasterxml.jackson.core:jackson-core:2.17.2") // Dependency Jar Hell
force("com.fasterxml.jackson.core:jackson-core:${jacksonVersion}") // Dependency Jar Hell
}
}
}

Unchanged files with check annotations Beta

/**
* Utility class for fetching and parsing OpenAPI specifications.
*/
public class ApiSpecFetcher {

Check warning on line 34 in src/main/java/org/opensearch/flowframework/util/ApiSpecFetcher.java

Codecov / codecov/patch

src/main/java/org/opensearch/flowframework/util/ApiSpecFetcher.java#L34

Added line #L34 was not covered by tests
private static final Logger logger = LogManager.getLogger(ApiSpecFetcher.class);
private static final ParseOptions PARSE_OPTIONS = new ParseOptions();
private static final OpenAPIV3Parser OPENAPI_PARSER = new OpenAPIV3Parser();
return new HashSet<>(requiredEnumParams).equals(new HashSet<>(requiredApiParams));
}
}
return false;

Check warning on line 87 in src/main/java/org/opensearch/flowframework/util/ApiSpecFetcher.java

Codecov / codecov/patch

src/main/java/org/opensearch/flowframework/util/ApiSpecFetcher.java#L87

Added line #L87 was not covered by tests
}
private static Content getContent(RestRequest.Method method, PathItem pathItem) throws IllegalArgumentException, ApiSpecParseException {
operation = pathItem.getGet();
break;
case PUT:
operation = pathItem.getPut();
break;

Check warning on line 101 in src/main/java/org/opensearch/flowframework/util/ApiSpecFetcher.java

Codecov / codecov/patch

src/main/java/org/opensearch/flowframework/util/ApiSpecFetcher.java#L100-L101

Added lines #L100 - L101 were not covered by tests
case DELETE:
operation = pathItem.getDelete();
break;