Improve api name for the Clojure client

For example, when an operation's tag is "users-api", "users_api" or
"UsersApi", generate the api file named users_api.clj and "users-api"
as the namespace (it was "usersapi.clj" and "usersapi" before).

To implement this, I have to move the "sanitizeTag" method from
DefaultGenerator.java to DefaultCodegen.java so that its behaviour can
be overridden in ClojureClientCodegen.java, which is needed as the
default implementation would sanitize "users-api" to "usersapi" before
the tag is passed to "toApiName" and "toApiFilename".
This commit is contained in:
xhh
2016-03-01 18:50:56 +08:00
parent 9aa59b92bc
commit 09a2bb8b0f
5 changed files with 60 additions and 16 deletions

View File

@@ -0,0 +1,38 @@
package io.swagger.codegen.languages;
import org.testng.Assert;
import org.testng.annotations.Test;
public class ClojureClientCodegenTest {
ClojureClientCodegen codegen = new ClojureClientCodegen();
@Test
public void testSanitizeTag() throws Exception {
Assert.assertEquals(codegen.sanitizeTag("users-api"), "users_api");
Assert.assertEquals(codegen.sanitizeTag("users_api"), "users_api");
Assert.assertEquals(codegen.sanitizeTag("users api"), "users_api");
Assert.assertEquals(codegen.sanitizeTag("users.api"), "users_api");
Assert.assertEquals(codegen.sanitizeTag("Users Api"), "Users_Api");
Assert.assertEquals(codegen.sanitizeTag("UsersApi"), "UsersApi");
Assert.assertEquals(codegen.sanitizeTag("usersapi"), "usersapi");
Assert.assertEquals(codegen.sanitizeTag("Usersapi"), "Usersapi");
}
@Test
public void testToApiName() throws Exception {
Assert.assertEquals(codegen.toApiName("users_api"), "users-api");
Assert.assertEquals(codegen.toApiName("Users_Api"), "users-api");
Assert.assertEquals(codegen.toApiName("UsersApi"), "users-api");
Assert.assertEquals(codegen.toApiName("usersapi"), "usersapi");
Assert.assertEquals(codegen.toApiName("Usersapi"), "usersapi");
}
@Test
public void testToApiFilename() throws Exception {
Assert.assertEquals(codegen.toApiFilename("users_api"), "users_api");
Assert.assertEquals(codegen.toApiFilename("Users_Api"), "users_api");
Assert.assertEquals(codegen.toApiFilename("UsersApi"), "users_api");
Assert.assertEquals(codegen.toApiFilename("usersapi"), "usersapi");
Assert.assertEquals(codegen.toApiFilename("Usersapi"), "usersapi");
}
}