Skip to content

Commit

Permalink
[TEST] improve REST high-level client naming conventions check (#32244)
Browse files Browse the repository at this point in the history
Check the deprecated methods are effectively deprecated.
Also compare the class rather than their names when checking argument types.
  • Loading branch information
javanna committed Jul 22, 2018
1 parent bf610d2 commit de584c2
Showing 1 changed file with 13 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -744,8 +744,8 @@ public void testApiNamingConventions() throws Exception {
assertEquals(0, method.getExceptionTypes().length);
assertEquals(3, method.getParameterTypes().length);
assertThat(method.getParameterTypes()[0].getSimpleName(), endsWith("Request"));
assertThat(method.getParameterTypes()[1].getName(), equalTo(RequestOptions.class.getName()));
assertThat(method.getParameterTypes()[2].getName(), equalTo(ActionListener.class.getName()));
assertThat(method.getParameterTypes()[1], equalTo(RequestOptions.class));
assertThat(method.getParameterTypes()[2], equalTo(ActionListener.class));
} else {
//A few methods return a boolean rather than a response object
if (apiName.equals("ping") || apiName.contains("exist")) {
Expand All @@ -758,18 +758,23 @@ public void testApiNamingConventions() throws Exception {
//a few methods don't accept a request object as argument
if (apiName.equals("ping") || apiName.equals("info")) {
assertEquals(1, method.getParameterTypes().length);
assertThat(method.getParameterTypes()[0].getName(), equalTo(RequestOptions.class.getName()));
assertThat(method.getParameterTypes()[0], equalTo(RequestOptions.class));
} else {
assertEquals(apiName, 2, method.getParameterTypes().length);
assertThat(method.getParameterTypes()[0].getSimpleName(), endsWith("Request"));
assertThat(method.getParameterTypes()[1].getName(), equalTo(RequestOptions.class.getName()));
assertThat(method.getParameterTypes()[1], equalTo(RequestOptions.class));
}

boolean remove = apiSpec.remove(apiName);
if (remove == false && deprecatedMethods.contains(apiName) == false) {
//TODO xpack api are currently ignored, we need to load xpack yaml spec too
if (apiName.startsWith("xpack.") == false) {
apiNotFound.add(apiName);
if (remove == false) {
if (deprecatedMethods.contains(apiName)) {
assertTrue("method [" + method.getName() + "], api [" + apiName + "] should be deprecated",
method.isAnnotationPresent(Deprecated.class));
} else {
//TODO xpack api are currently ignored, we need to load xpack yaml spec too
if (apiName.startsWith("xpack.") == false) {
apiNotFound.add(apiName);
}
}
}
}
Expand Down

0 comments on commit de584c2

Please sign in to comment.