8000 Fixed #7 · githubcs/baasbox@7e762d7 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7e762d7

Browse files
committed
Fixed baasbox#7
Removed comments that prevents the update of the role of a given user Implemented tests
1 parent 40685ad commit 7e762d7

File tree

3 files changed

+31
-27
lines changed

3 files changed

+31
-27
lines changed

app/com/baasbox/controllers/Admin.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
import com.baasbox.util.ConfigurationFileContainer;
8888
import com.baasbox.util.IQueryParametersKeys;
8989
import com.baasbox.util.JSONFormats;
90+
import com.baasbox.util.JSONFormats.Formats;
9091
import com.baasbox.util.QueryParams;
9192
import com.baasbox.util.Util;
9293
import com.google.common.base.Objects;
@@ -401,10 +402,11 @@ public static Result updateUser(String username){
401402
if (!Util.validateEmail((String) (String) privateAttributes.findValuesAsText("email").get(0)) )
402403
return badRequest("The email address must be valid.");
403404
}
404-
405+
406+
ODocument user=null;
405407
//try to update new user
406408
try {
407-
UserService.updateProfile(username,role,nonAppUserAttributes, privateAttributes, friendsAttributes, appUsersAttributes);
409+
user=UserService.updateProfile(username,role,nonAppUserAttributes, privateAttributes, friendsAttributes, appUsersAttributes);
408410
}catch(InvalidParameterException e){
409411
return badRequest(e.getMessage());
410412
}catch (OSerializationException e){
@@ -420,7 +422,7 @@ public static Result updateUser(String username){
420422
else return internalServerError(e.getMessage());
421423
}
422424
Logger.trace("Method End");
423-
return ok();
425+
return ok(user.toJSON(Formats.USER.toString()));
424426
}//updateUser
425427

426428

app/com/baasbox/service/user/UserService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,11 +373,12 @@ public static ODocument updateProfile(String username,String role,JsonNode nonAp
373373
break;
374374
}
375375
}
376+
ORole oldORole=RoleDao.getRole(oldRole);
376377
//TODO: update role
377-
// OUser ouser=DbHelper.getConnection().getMetadata().getSecurity().getUser(username);
378-
// ouser.removeRole(oldRole);
379-
//ouser.addRole(newORole);
380-
//ouser.save();
378+
OUser ouser=DbHelper.getConnection().getMetadata().getSecurity().getUser(username);
379+
ouser.getRoles().remove(oldORole);
380+
ouser.addRole(newORole);
381+
ouser.save();
381382
profile.save();
382383
profile.reload();
383384

test/UserUpdateTest.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static play.test.Helpers.HTMLUNIT;
2222
import static play.test.Helpers.POST;
2323
import static play.test.Helpers.PUT;
24+
import static play.test.Helpers.DELETE;
2425
import static play.test.Helpers.fakeApplication;
2526
import static play.test.Helpers.route;
2627
import static play.test.Helpers.routeAndCall;
@@ -37,8 +38,8 @@
3738
import org.junit.Test;
3839

3940
import play.libs.F.Callback;
40-
import play.mvc.Result;
4141
import play.mvc.Http.Status;
42+
import play.mvc.Result;
4243
import play.test.FakeRequest;
4344
import play.test.TestBrowser;
4445
import core.AbstractUserTest;
@@ -149,34 +150,34 @@ public void run() {
149150
try {
150151
//create a user
151152
String userName = "fake"+UUID.randomUUID().toString();
152-
String sFakeCreateUser = "/admin/user/"+ userName;
153-
FakeRequest requestCreation = new FakeRequest(POST, sFakeCreateUser);
154-
requestCreation = requestCreation.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
155-
requestCreation = requestCreation.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
153+
String sFakeAdminUserRoute = "/admin/user";
154+
FakeRequest request = new FakeRequest(POST, sFakeAdminUserRoute);
155+
request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
156+
request = request.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
156157
ObjectMapper mapper = new ObjectMapper();
157158
JsonNode actualObj = mapper.readTree("{\"username\":\""+userName+"\","
158159
+ "\"password\":\"test\","
159160
+ "\"role\":\"registered\"}");
160-
requestCreation = requestCreation.withJsonBody(actualObj);
161-
requestCreation = requestCreation.withHeader("Content-Type", "application/json");
162-
Result result = route(requestCreation);
163-
assertRoute(result, "testRoleCreate.createUser", Status.CREATED, null, true);
161+
request = request.withJsonBody(actualObj);
162+
request = request.withHeader("Content-Type", "application/json");
163+
Result result = route(request);
164+
assertRoute(result, "testUserChangeRole.createUser", Status.CREATED, null, true);
164165

165166
//change its role
166-
requestCreation = new FakeRequest(PUT, sFakeCreateUser);
167-
requestCreation = requestCreation.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
168-
requestCreation = requestCreation.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
167+
FakeRequest request1 = new FakeRequest(PUT, "/admin/user/"+userName);
168+
request1 = request1.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE);
169+
request1 = request1.withHeader(TestConfig.KEY_AUTH, TestConfig.AUTH_ADMIN_ENC);
169170
mapper = new ObjectMapper();
170-
actualObj = mapper.readTree("{\"role\":\"administrator\"}");
171-
requestCreation = requestCreation.withJsonBody(actualObj);
172-
requestCreation = requestCreation.withHeader("Content-Type", "application/json");
173-
result = route(requestCreation);
174-
assertRoute(result, "testRoleCreate.createUser", Status.OK, "\"role\":\"administrator\"", true);
175-
//check the role is changed
176-
//drop the user
171+
actualObj = mapper.readTree("{\"role\":\"backoffice\",\"visibleByAnonymousUsers\":{},\"visibleByTheUser\":{},\"visibleByFriend\":{},"+
172+
"\"visibleByRegisteredUsers\":{} }");
173+
request1 = request1.withJsonBody(actualObj,PUT);
174+
request1 = request1.withHeader("Content-Type", "application/json");
175+
result = route(request1);
176+
assertRoute(result, "testUserChangeRole.changeRole", Status.OK, "\"roles\":[{\"name\":\"backoffice\"", true);
177+
177178
}catch (Exception e) {
178179
e.printStackTrace();
179-
fail(e.getMessage());
180+
fail();
180181
}
181182
}
182183
});

0 commit comments

Comments
 (0)
0