/** * 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.facebook; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import facebook4j.TestUser; import org.apache.camel.builder.RouteBuilder; import org.junit.Test; /** * Test methods in {@link facebook4j.api.TestUserMethods} */ public class TestUserMethodsTest extends CamelFacebookTestSupport { private static final String TEST_USER1 = "test one"; private static final String TEST_USER2 = "test two"; public TestUserMethodsTest() throws Exception { } @Test public void testTestUsers() { // create a test user with exchange properties final TestUser testUser1 = template().requestBody("direct:createTestUser", TEST_USER1, TestUser.class); assertNotNull("Test User1", testUser1); // create a test user with exchange properties final TestUser testUser2 = template().requestBody("direct:createTestUser", TEST_USER2, TestUser.class); assertNotNull("Test User2", testUser2); // make friends, not enemies final Map<String, Object> headers = new HashMap<String, Object>(); headers.put("CamelFacebook.testUser2", testUser2); Boolean worked = template().requestBodyAndHeaders("direct:makeFriendTestUser", testUser1, headers, Boolean.class); assertTrue("Friends not made", worked); // get app test users final List testUsers = template().requestBody("direct:testUsers", null, List.class); assertNotNull("Test users", testUsers); assertFalse("Empty test user list", testUsers.isEmpty()); // delete test users for (Object user : testUsers) { final TestUser testUser = (TestUser) user; if (testUser.equals(testUser1) || testUser.equals(testUser2)) { final String id = testUser.getId(); worked = template().requestBody("direct:deleteTestUser", id, Boolean.class); assertTrue("Test user not deleted for id " + id, worked); } } } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override public void configure() throws Exception { from("direct:createTestUser") .to("facebook://createTestUser?inBody=name&appId=" + properties.get("oAuthAppId") + "&userLocale=" + Locale.getDefault().toString() + "&permissions=" + getTestPermissions() + "&" + getAppOauthParams()); // note short form testUsers instead of getTestUsers from("direct:testUsers") .to("facebook://testUsers?appId=" + properties.get("oAuthAppId") + "&" + getAppOauthParams()); from("direct:makeFriendTestUser") .to("facebook://makeFriendTestUser?inBody=testUser1&" + getAppOauthParams()); from("direct:deleteTestUser") .to("facebook://deleteTestUser?inBody=testUserId&" + getAppOauthParams()); } }; } public String getTestPermissions() { return "email" + ",publish_actions" + ",user_about_me" + ",user_activities" + ",user_birthday" + ",user_checkins" + ",user_education_history" + ",user_events" + ",user_games_activity" + ",user_groups" + ",user_hometown" + ",user_interests" + ",user_likes" + ",user_location" + ",user_notes" + ",user_photos" + ",user_questions" + ",user_relationship_details" + ",user_relationships" + ",user_religion_politics" + ",user_status" + ",user_subscriptions" + ",user_videos" + ",user_website" + ",user_work_history" + ",friends_about_me" + ",friends_activities" + ",friends_birthday" + ",friends_checkins" + ",friends_education_history" + ",friends_events" + ",friends_games_activity" + ",friends_groups" + ",friends_hometown" + ",friends_interests" + ",friends_likes" + ",friends_location" + ",friends_notes" + ",friends_photos" + ",friends_questions" + ",friends_relationship_details" + ",friends_relationships" + ",friends_religion_politics" + ",friends_status" + ",friends_subscriptions" + ",friends_videos" + ",friends_website" + ",friends_work_history" + ",ads_management" + ",create_event" + ",create_note" + ",export_stream" + ",friends_online_presence" + ",manage_friendlists" + ",manage_notifications" + ",manage_pages" + ",photo_upload" + ",publish_checkins" + ",publish_stream" + ",read_friendlists" + ",read_insights" + ",read_mailbox" + ",read_page_mailboxes" + ",read_requests" + ",read_stream" + ",rsvp_event" + ",share_item" + ",sms" + ",status_update" + ",user_online_presence" + ",video_upload" + ",xmpp_login"; } }