| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.camel.component.linkedin.api; |
| |
| import java.util.Date; |
| |
| import org.apache.camel.component.linkedin.api.model.GroupMemberships; |
| import org.apache.camel.component.linkedin.api.model.JobSuggestions; |
| import org.apache.camel.component.linkedin.api.model.MembershipStateCode; |
| import org.apache.camel.component.linkedin.api.model.Order; |
| import org.apache.camel.component.linkedin.api.model.Person; |
| import org.apache.camel.component.linkedin.api.model.PostCategoryCode; |
| import org.apache.camel.component.linkedin.api.model.PostRole; |
| import org.apache.camel.component.linkedin.api.model.Posts; |
| import org.junit.BeforeClass; |
| import org.junit.Ignore; |
| import org.junit.Test; |
| |
| /** |
| * Integration test for {@link PeopleResource}. |
| */ |
| public class PeopleResourceIntegrationTest extends AbstractResourceIntegrationTest { |
| |
| private static PeopleResource peopleResource; |
| |
| @BeforeClass |
| public static void beforeClass() throws Exception { |
| AbstractResourceIntegrationTest.beforeClass(); |
| |
| final Class<PeopleResource> resourceClass = PeopleResource.class; |
| PeopleResourceIntegrationTest.peopleResource = getResource(resourceClass); |
| } |
| |
| @Test |
| public void testGetPerson() throws Exception { |
| execute(new Runnable() { |
| @Override |
| public void run() { |
| final Person person = peopleResource.getPerson(":(id)", true); |
| assertNotNull(person); |
| assertNotNull(person.getId()); |
| LOG.debug("getPerson result: " + person); |
| } |
| }); |
| } |
| |
| @Test |
| public void testGetPosts() throws Exception { |
| execute(new Runnable() { |
| @Override |
| public void run() { |
| final GroupMemberships groupMemberships = peopleResource.getGroupMemberships(MembershipStateCode.MEMBER, |
| "", null, null); |
| assertNotNull(groupMemberships); |
| assertNotNull(groupMemberships.getGroupMembershipList()); |
| assertFalse(groupMemberships.getGroupMembershipList().isEmpty()); |
| final Posts posts = peopleResource.getPosts(Long.parseLong( |
| groupMemberships.getGroupMembershipList().get(0).getGroup().getId()), null, null, |
| Order.RECENCY, PostRole.FOLLOWER, PostCategoryCode.DISCUSSION, null, ":(id)"); |
| assertNotNull(posts); |
| LOG.debug("getPosts result: " + posts); |
| } |
| }); |
| } |
| |
| @Test(expected = LinkedInException.class) |
| public void testLinkedInError() throws Exception { |
| execute(new Runnable() { |
| @Override |
| public void run() { |
| peopleResource.getPerson("bad_fields_selector", true); |
| } |
| }); |
| } |
| |
| @Ignore("CXF swallows application exceptions from ClientResponseFilters") |
| @Test(expected = LinkedInException.class) |
| public void testLinkedInException() throws Exception { |
| try { |
| peopleResource.getPerson("bad_fields_selector", true); |
| } catch (LinkedInException e) { |
| assertNotNull(e.getError()); |
| LOG.debug("getPerson error: " + e.getMessage()); |
| throw e; |
| } |
| } |
| |
| @Test |
| public void testOAuthTokenRefresh() throws Exception { |
| peopleResource.getPerson("", false); |
| |
| // mark OAuth token as expired |
| final OAuthToken oAuthToken = requestFilter.getOAuthToken(); |
| oAuthToken.setExpiryTime(new Date().getTime()); |
| |
| peopleResource.getPerson("", false); |
| } |
| |
| @Test |
| public void testGetSuggestedJobs() throws Exception { |
| execute(new Runnable() { |
| @Override |
| public void run() { |
| final JobSuggestions suggestedJobs = peopleResource.getSuggestedJobs(DEFAULT_FIELDS); |
| assertNotNull(suggestedJobs); |
| LOG.debug("Suggested Jobs " + suggestedJobs.getJobs()); |
| } |
| }); |
| } |
| } |