use of org.orcid.jaxb.model.notification.permission_v2.NotificationPermission in project ORCID-Source by ORCID.
the class NotificationsTest method createPermissionNotificationWithBlankAuthorizationUri.
@Test
public void createPermissionNotificationWithBlankAuthorizationUri() throws JSONException {
NotificationPermission notification = unmarshallFromPath("/notification_2.0_rc2/samples/notification-permission-2.0_rc2.xml");
notification.setPutCode(null);
AuthorizationUrl authUrl = notification.getAuthorizationUrl();
authUrl.setUri("");
String accessToken = oauthHelper.getClientCredentialsAccessToken(client1ClientId, client1ClientSecret, ScopePathType.PREMIUM_NOTIFICATION);
ClientResponse postResponse = notificationsClient.addPermissionNotificationXml(testUser1OrcidId, notification, accessToken);
assertNotNull(postResponse);
assertEquals(Response.Status.CREATED.getStatusCode(), postResponse.getStatus());
String locationPath = postResponse.getLocation().getPath();
assertTrue("Location header path should match pattern, but was " + locationPath, locationPath.matches(".*/v2.0_rc2/" + testUser1OrcidId + "/notification-permission/\\d+"));
String putCodeString = locationPath.substring(locationPath.lastIndexOf('/') + 1);
Long putCode = Long.valueOf(putCodeString);
ClientResponse viewResponse = notificationsClient.viewPermissionNotificationXml(testUser1OrcidId, putCode, accessToken);
assertEquals(Response.Status.OK.getStatusCode(), viewResponse.getStatus());
NotificationPermission retrievedNotification = viewResponse.getEntity(NotificationPermission.class);
assertNotNull(retrievedNotification);
assertTrue(retrievedNotification.getAuthorizationUrl().getPath().endsWith(authUrl.getPath()));
assertFalse(retrievedNotification.getAuthorizationUrl().getPath().startsWith("http"));
assertTrue(retrievedNotification.getAuthorizationUrl().getUri().startsWith("http"));
}
use of org.orcid.jaxb.model.notification.permission_v2.NotificationPermission in project ORCID-Source by ORCID.
the class NotificationsTest method createPermissionNotification.
@Test
public void createPermissionNotification() throws JSONException {
NotificationPermission notification = unmarshallFromPath("/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml");
notification.setPutCode(null);
String accessToken = oauthHelper.getClientCredentialsAccessToken(client1ClientId, client1ClientSecret, ScopePathType.PREMIUM_NOTIFICATION);
ClientResponse response = notificationsClient.addPermissionNotificationXml(testUser1OrcidId, notification, accessToken);
assertNotNull(response);
assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
String locationPath = response.getLocation().getPath();
assertTrue("Location header path should match pattern, but was " + locationPath, locationPath.matches(".*/v2.0_rc3/" + testUser1OrcidId + "/notification-permission/\\d+"));
}
use of org.orcid.jaxb.model.notification.permission_v2.NotificationPermission in project ORCID-Source by ORCID.
the class NotificationsTest method createPermissionNotificationWithTrailingSpaceInAuthorizationUrl.
@Test
public void createPermissionNotificationWithTrailingSpaceInAuthorizationUrl() throws JSONException {
NotificationPermission notification = unmarshallFromPath("/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml");
notification.setPutCode(null);
AuthorizationUrl authUrl = notification.getAuthorizationUrl();
authUrl.setUri(authUrl.getUri() + " ");
String accessToken = oauthHelper.getClientCredentialsAccessToken(client1ClientId, client1ClientSecret, ScopePathType.PREMIUM_NOTIFICATION);
ClientResponse response = notificationsClient.addPermissionNotificationXml(testUser1OrcidId, notification, accessToken);
assertNotNull(response);
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
assertNull(response.getLocation());
}
use of org.orcid.jaxb.model.notification.permission_v2.NotificationPermission in project ORCID-Source by ORCID.
the class NotificationsTest method createPermissionNotificationWithAbsentAuthorizationUriElement.
@Test
public void createPermissionNotificationWithAbsentAuthorizationUriElement() throws JSONException {
NotificationPermission notification = unmarshallFromPath("/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml");
notification.setPutCode(null);
AuthorizationUrl authUrl = notification.getAuthorizationUrl();
authUrl.setUri("");
String accessToken = oauthHelper.getClientCredentialsAccessToken(client1ClientId, client1ClientSecret, ScopePathType.PREMIUM_NOTIFICATION);
ClientResponse postResponse = notificationsClient.addPermissionNotificationXml(testUser1OrcidId, notification, accessToken);
assertNotNull(postResponse);
assertEquals(Response.Status.CREATED.getStatusCode(), postResponse.getStatus());
String locationPath = postResponse.getLocation().getPath();
assertTrue("Location header path should match pattern, but was " + locationPath, locationPath.matches(".*/v2.0_rc3/" + testUser1OrcidId + "/notification-permission/\\d+"));
String putCodeString = locationPath.substring(locationPath.lastIndexOf('/') + 1);
Long putCode = Long.valueOf(putCodeString);
ClientResponse viewResponse = notificationsClient.viewPermissionNotificationXml(testUser1OrcidId, putCode, accessToken);
assertEquals(Response.Status.OK.getStatusCode(), viewResponse.getStatus());
NotificationPermission retrievedNotification = viewResponse.getEntity(NotificationPermission.class);
assertNotNull(retrievedNotification);
assertTrue(retrievedNotification.getAuthorizationUrl().getPath().endsWith(authUrl.getPath()));
assertFalse(retrievedNotification.getAuthorizationUrl().getPath().startsWith("http"));
assertTrue(retrievedNotification.getAuthorizationUrl().getUri().startsWith("http"));
}
use of org.orcid.jaxb.model.notification.permission_v2.NotificationPermission in project ORCID-Source by ORCID.
the class NotificationsTest method flagAsArchived.
@Test
public void flagAsArchived() throws JSONException {
NotificationPermission notification = unmarshallFromPath("/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml");
notification.setPutCode(null);
String accessToken = oauthHelper.getClientCredentialsAccessToken(client1ClientId, client1ClientSecret, ScopePathType.PREMIUM_NOTIFICATION);
ClientResponse postResponse = notificationsClient.addPermissionNotificationXml(testUser1OrcidId, notification, accessToken);
assertNotNull(postResponse);
assertEquals(Response.Status.CREATED.getStatusCode(), postResponse.getStatus());
String locationPath = postResponse.getLocation().getPath();
assertTrue("Location header path should match pattern, but was " + locationPath, locationPath.matches(".*/v2.0_rc3/" + testUser1OrcidId + "/notification-permission/\\d+"));
String putCodeString = locationPath.substring(locationPath.lastIndexOf('/') + 1);
Long putCode = Long.valueOf(putCodeString);
ClientResponse viewResponse = notificationsClient.viewPermissionNotificationXml(testUser1OrcidId, putCode, accessToken);
assertEquals(Response.Status.OK.getStatusCode(), viewResponse.getStatus());
NotificationPermission retrievedNotification = viewResponse.getEntity(NotificationPermission.class);
assertNotNull(retrievedNotification);
assertNull(retrievedNotification.getArchivedDate());
ClientResponse archiveResponse = notificationsClient.flagAsArchivedPermissionNotificationXml(testUser1OrcidId, putCode, accessToken);
assertEquals(Response.Status.OK.getStatusCode(), archiveResponse.getStatus());
ClientResponse viewAfterArchiveResponse = notificationsClient.viewPermissionNotificationXml(testUser1OrcidId, putCode, accessToken);
assertEquals(Response.Status.OK.getStatusCode(), viewAfterArchiveResponse.getStatus());
NotificationPermission retrievedAfterArchiveNotification = viewAfterArchiveResponse.getEntity(NotificationPermission.class);
assertNotNull(retrievedAfterArchiveNotification.getArchivedDate());
}
Aggregations