Added a check for OAuth2 client, VC, and group name length.
Change-Id: I716854dd0f93c4cda80304c4c6cf34fc35e890ea
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java
index dfbcee8..59b96f1 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/OAuth2ClientControllerTest.java
@@ -153,6 +153,24 @@
}
@Test
+ public void testRegisterClientNameTooShort ()
+ throws UniformInterfaceException, ClientHandlerException,
+ KustvaktException {
+ OAuth2ClientJson json = new OAuth2ClientJson();
+ json.setName("R");
+ json.setType(OAuth2ClientType.PUBLIC);
+
+ ClientResponse response = registerClient(username, json);
+ String entity = response.getEntity(String.class);
+ JsonNode node = JsonUtils.readTree(entity);
+ assertEquals(StatusCodes.INVALID_ARGUMENT,
+ node.at("/errors/0/0").asInt());
+ assertEquals("clientName must contain at least 3 characters",
+ node.at("/errors/0/1").asText());
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ }
+
+ @Test
public void testRegisterPublicClient () throws UniformInterfaceException,
ClientHandlerException, KustvaktException {
OAuth2ClientJson json = new OAuth2ClientJson();
@@ -196,7 +214,7 @@
testDeregisterPublicClientMissingId();
testDeregisterPublicClient(clientId,username);
}
-
+
private void testAccessTokenAfterDeregistration (String clientId,
String clientSecret) throws KustvaktException {
String userAuthHeader = HttpAuthorizationHandler
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java
index 59524af..2770714 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/UserGroupControllerTest.java
@@ -205,6 +205,22 @@
}
@Test
+ public void testCreateGroupNameTooShort () throws UniformInterfaceException,
+ ClientHandlerException, KustvaktException {
+ String groupName = "a";
+ String members = "marlin,nemo";
+
+ ClientResponse response = testCreateUserGroup(groupName, members);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+
+ JsonNode node = JsonUtils.readTree(response.getEntity(String.class));
+ assertEquals(StatusCodes.INVALID_ARGUMENT, node.at("/errors/0/0").asInt());
+ assertEquals("groupName must contain at least 3 characters",
+ node.at("/errors/0/1").asText());
+ assertEquals("groupName", node.at("/errors/0/2").asText());
+ }
+
+ @Test
public void testUserGroup () throws UniformInterfaceException,
ClientHandlerException, KustvaktException {
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java
index 418ffb5..a696b57 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/controller/VirtualCorpusControllerTest.java
@@ -485,6 +485,28 @@
node.at("/errors/0/0").asInt());
}
+
+ @Test
+ public void testCreateVCNameTooShort () throws KustvaktException {
+ String json = "{\"type\": \"PRIVATE\","
+ + "\"corpusQuery\": \"creationDate since 1820\"}";
+
+ ClientResponse response = resource().path(API_VERSION).path("vc")
+ .path("~"+testUser).path("ne")
+ .header(Attributes.AUTHORIZATION, HttpAuthorizationHandler
+ .createBasicAuthorizationHeaderValue(testUser, "pass"))
+ .header(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON)
+ .entity(json).put(ClientResponse.class);
+ String entity = response.getEntity(String.class);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+
+ JsonNode node = JsonUtils.readTree(entity);
+ assertEquals(StatusCodes.INVALID_ARGUMENT,
+ node.at("/errors/0/0").asInt());
+ assertEquals("vcName must contain at least 3 characters",
+ node.at("/errors/0/1").asText());
+ }
+
@Test
public void testCreateVCUnauthorized () throws KustvaktException {
String json = "{\"type\": \"PRIVATE\","