Mod aaa-12 fix user handler test

RCA:
SOL:
修改人:maxiaonan
检视人:maxiaonan
This commit is contained in:
maxiaonan 2019-07-26 15:51:19 +08:00
parent 40bd7a61bc
commit 9cb0df5438
1 changed files with 164 additions and 6 deletions

View File

@ -14,7 +14,6 @@
package org.opendaylight.aaa.shiro.idm.rest.test;
import org.junit.Ignore;
import org.junit.Test;
import org.opendaylight.aaa.api.model.IDMError;
import org.opendaylight.aaa.api.model.User;
@ -59,7 +58,7 @@ public class UserHandlerTest extends HandlerTest {
}
// check create user
Map<String, String> usrData = new HashMap<>();
Map<String, Object> usrData = new HashMap<>();
usrData.put("name", "usr1");
// usrData.put("description", "test user");
// usrData.put("enabled", "true");
@ -80,13 +79,71 @@ public class UserHandlerTest extends HandlerTest {
assertEquals(500, e.getResponse().getStatus());
}
// check update user data
// check create user missing enable data and with long name
usrData.remove("enable");
usrData.put("name", getLongName());
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
// check create user missing domain data and too long
usrData.put("name", "usr1Update");
clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(200, clientResponse.getStatus());
usrData.remove("domainid");
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("domainid", getLongName());
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("domainid", "0");
// check create user description data too long
usrData.put("description", getLongName());
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("description", "Test user");
// check create user missing email data and too long
usrData.remove("email");
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(201, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("email", getLongName());
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("email", "user1@usr.org");
// check create user missing password data and too long
usrData = checkPasswordError(usrData);
//check update user
checkPutMethod(usrData);
usr = target("/v1/users/1").request().get(User.class);
assertNotNull(usr);
assertTrue(usr.getName().equals("usr1Update"));
assertEquals("usr1Update", usr.getName());
// check delete user
clientResponse = target("/v1/users/1").request().delete();
@ -112,6 +169,107 @@ public class UserHandlerTest extends HandlerTest {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
}
private Map<String, Object> checkPasswordError(Map<String, Object> usrData) {
usrData.remove("password");
Response clientResponse;
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(407, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("password", getLongName());
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(400, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("password", "");
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(407, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("password", "111");
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(407, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("password", "12434356");
try {
clientResponse = target("/v1/users").request().post(entity(usrData));
assertEquals(407, clientResponse.getStatus());
} catch (WebApplicationException e) {
assertEquals(500, e.getResponse().getStatus());
}
usrData.put("password", "ChangeZbadPa$$w0rd");
return usrData;
}
private Map<String, Object> checkPutMethod(Map<String, Object> usrData) {
// check update user data
usrData.put("name", getLongName());
Response clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(400, clientResponse.getStatus());
// check update user data with long pwd
usrData.put("password", getLongName());
clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(400, clientResponse.getStatus());
// check update user data
usrData.put("description", getLongName());
clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(400, clientResponse.getStatus());
// check update user data
usrData.put("email", getLongName());
clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(400, clientResponse.getStatus());
// check update user data
usrData.put("domainid",getLongName());
clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(400, clientResponse.getStatus());
// check update user data
usrData.put("description", "Test user");
usrData.put("email", "user1@usr.org");
usrData.put("password", "ChangeZbadPa$$w0rd");
usrData.put("domainid", "0");
usrData.put("name", "usr1Update");
clientResponse = target("/v1/users/101").request().put(entity(usrData));
assertEquals(404, clientResponse.getStatus());
clientResponse = target("/v1/users/1").request().put(entity(usrData));
assertEquals(200, clientResponse.getStatus());
return usrData;
}
private String getLongName() {
return "abcdefg1234567890vbnabcdefg1234567890vbn" +
"abcdefg1234567890vbnabcdefg1234567890vbn" +
"abcdefg1234567890vbnabcdefg1234567890vbn" +
"abcdefg1234567890vbnabcdefg1234567890vbn" +
"abcdefg1234567890vbnabcdefg1234567890vbn" +
"abcdefg1234567890vbnabcdefg1234567890vbn" +
"abcdefg1234567890vbnabcdefg1234567890vbn";
}
}
/**
* Revision history