Skip to content

Commit

Permalink
Email confirmation api test shows timestamp, updates table IQSS#2170
Browse files Browse the repository at this point in the history
  • Loading branch information
bsilverstein95 committed Jul 18, 2016
1 parent fee5c2a commit 969f178
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
9 changes: 8 additions & 1 deletion src/main/java/edu/harvard/iq/dataverse/api/Admin.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@

import static edu.harvard.iq.dataverse.util.json.NullSafeJsonBuilder.jsonObjectBuilder;
import static edu.harvard.iq.dataverse.util.json.JsonPrinter.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
Expand Down Expand Up @@ -523,10 +525,12 @@ public Response validate() {
return okResponse(msg);
}

//should the path for this method refer instead to the auth user ID?
@Path("confirmEmail/{token}")
@GET
public Response getConfirmEmailToken(@PathParam("token") String token) {

ConfirmEmailExecResponse confirmEmailExecResponse = confirmEmailSvc.processToken(token);
ConfirmEmailData confirmEmailData = confirmEmailExecResponse.getConfirmEmailData();

return null;
}
Expand All @@ -541,7 +545,10 @@ public Response confirmTheEmail(@PathParam("token") String token) {
if (confirmEmailData == null) {
return errorResponse(Status.NOT_FOUND, "Invalid token: " + token);
}
long nowInMilliseconds = new Date().getTime();
Timestamp emailConfirmed = new Timestamp(nowInMilliseconds);
AuthenticatedUser authenticatedUser = confirmEmailData.getAuthenticatedUser();
authenticatedUser.setEmailConfirmed(emailConfirmed);
return okResponse(jsonForAuthUser(authenticatedUser));
// return okResponse("found user " +authenticatedUser.getId());
}
Expand Down
15 changes: 8 additions & 7 deletions src/test/java/edu/harvard/iq/dataverse/api/ConfirmEmailIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ public static void setUp() {
@Test
public void testConfirm() {
// Can't seem to get timestamp to appear in authenticated user Json output
/**
*
*/

String email = null;

Response createUserToConfirm = createUser(getRandomUsername(), "firstName", "lastName", email);
Expand All @@ -54,7 +52,7 @@ public void testConfirm() {
createUserToConfirm.then().assertThat()
.statusCode(200);

//redundant?
//redundant?
long userIdToConfirm = JsonPath.from(createUserToConfirm.body().asString()).getLong("data.authenticatedUser.id");
String userToConfirmApiToken = JsonPath.from(createUserToConfirm.body().asString()).getString("data.apiToken");
String usernameToConfirm = JsonPath.from(createUserToConfirm.body().asString()).getString("data.user.userName");
Expand All @@ -68,13 +66,16 @@ public void testConfirm() {
* (primary key). This can answer questions the superuser may have, such
* as, "Did the user's token expire?"
*/
// Response getConfirmEmailData = given()
// .get("/api/admin/confirmEmail/" + 42);

Response getConfirmEmailData = given()
.get("/api/admin/confirmEmail/" + 42);

Response noSuchToken = given()
.post("/api/admin/confirmEmail/" + token);
noSuchToken.prettyPrint();
// todo assert "Invalid token: noSuchToken" and 404
noSuchToken.then().assertThat()
.statusCode(404);
// [X] todo assert "Invalid token: noSuchToken" and 404
/**
*
* User will call a second method within admin API to POST token to new
Expand Down

0 comments on commit 969f178

Please sign in to comment.