kryo.register(FacebookPhoto.class);
}
@Override
protected void verifyProfile(final UserProfile userProfile) {
final FacebookProfile profile = (FacebookProfile) userProfile;
logger.debug("userProfile : {}", profile);
assertEquals("100003571536393", profile.getId());
assertEquals(FacebookProfile.class.getSimpleName() + UserProfile.SEPARATOR + "100003571536393",
profile.getTypedId());
assertTrue(ProfileHelper.isTypedIdOf(profile.getTypedId(), FacebookProfile.class));
assertTrue(StringUtils.isNotBlank(profile.getAccessToken()));
assertCommonProfile(userProfile, null, "Jerome", "Testscribeup", "Jerome Testscribeup", null,
Gender.MALE, Locale.FRANCE, "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-",
"https://www.facebook.com/jerome.testscribeup", "New York, New York");
assertNull(profile.getMiddleName());
final List<FacebookObject> languages = profile.getLanguages();
assertTrue(languages.get(0).getName().startsWith("Fr"));
assertTrue(StringUtils.isNotBlank(profile.getThirdPartyId()));
assertEquals(2, profile.getTimezone().intValue());
assertTrue(profile.getVerified());
assertEquals("A propos de moi", profile.getBio());
assertEquals("03/10/1979", profile.getBirthday().toString());
final List<FacebookEducation> educations = profile.getEducation();
FacebookEducation education = educations.get(0);
assertEquals("lycée mixte", education.getSchool().getName());
assertEquals("2000", education.getYear().getName());
assertEquals("High School", education.getType());
education = educations.get(1);
assertEquals("Ingénieur", education.getDegree().getName());
assertNull(profile.getEmail());
assertEquals("San Francisco, California", (profile.getHometown()).getName());
assertEquals("female", (profile.getInterestedIn()).get(0));
assertEquals("New York, New York", (profile.getLocationObject()).getName());
assertEquals("Sans Opinion (desc)", profile.getPolitical());
final List<FacebookObject> favoriteAthletes = profile.getFavoriteAthletes();
assertEquals("Surfing", favoriteAthletes.get(0).getName());
final List<FacebookObject> favoriteTeams = profile.getFavoriteTeams();
assertEquals("Handball Féminin de France", favoriteTeams.get(0).getName());
assertEquals("citation", profile.getQuotes());
assertEquals(FacebookRelationshipStatus.MARRIED, profile.getRelationshipStatus());
assertEquals("Athéisme (desc)", profile.getReligion());
assertNull(profile.getSignificantOther());
assertEquals("web site", profile.getWebsite());
final List<FacebookWork> works = profile.getWork();
final FacebookWork work = works.get(0);
assertEquals("Employeur", work.getEmployer().getName());
assertEquals("Paris, France", work.getLocation().getName());
assertEquals("Architecte Web", work.getPosition().getName());
assertEquals("Description", work.getDescription());
assertTrue(work.getStartDate() instanceof Date);
assertNull(work.getEndDate());
final List<FacebookObject> friends = profile.getFriends();
assertEquals(1, friends.size());
final FacebookObject friend = friends.get(0);
assertEquals("Jérôme Leleu", friend.getName());
assertEquals("100002406067613", friend.getId());
final List<FacebookInfo> movies = profile.getMovies();
assertEquals(1, movies.size());
final FacebookInfo movie = movies.get(0);
assertEquals("Jean-Claude Van Damme", movie.getName());
assertEquals("21497365045", movie.getId());
assertEquals("Actor/director", movie.getCategory());
assertEquals(1330030350000L, movie.getCreatedTime().getTime());
final List<FacebookInfo> musics = profile.getMusic();
assertEquals(1, musics.size());
final FacebookInfo music = musics.get(0);
assertEquals("Hard rock", music.getName());
assertEquals("112175695466436", music.getId());
assertEquals("Movie genre", music.getCategory());
assertEquals(1330030350000L, music.getCreatedTime().getTime());
final List<FacebookInfo> books = profile.getBooks();
assertEquals(1, books.size());
final FacebookInfo book = books.get(0);
assertEquals("Science fiction", book.getName());
assertEquals("108157509212483", book.getId());
assertEquals("Tv genre", book.getCategory());
assertEquals(1330030350000L, book.getCreatedTime().getTime());
final List<FacebookInfo> likes = profile.getLikes();
assertEquals(8, likes.size());
final FacebookInfo like = likes.get(0);
assertEquals("Boxing", like.getName());
assertEquals("105648929470083", like.getId());
assertEquals("Sport", like.getCategory());
assertEquals(1360152791000L, like.getCreatedTime().getTime());
final List<FacebookPhoto> albums = profile.getAlbums();
assertEquals(3, albums.size());
final FacebookPhoto album = albums.get(1);
assertEquals("168023009993416", album.getId());
final FacebookObject from = album.getFrom();
assertEquals("100003571536393", from.getId());
assertEquals("Jerome Testscribeup", from.getName());
assertEquals("Profile Pictures", album.getName());
assertEquals("https://www.facebook.com/album.php?fbid=168023009993416&id=100003571536393&aid=34144",
album.getLink());
assertEquals("168023156660068", album.getCoverPhoto());
assertEquals("everyone", album.getPrivacy());
assertEquals(1, album.getCount().intValue());
assertEquals("profile", album.getType());
assertEquals(1336472634000L, album.getCreatedTime().getTime());
assertEquals(1336472660000L, album.getUpdatedTime().getTime());
assertFalse(album.getCanUpload());
final List<FacebookEvent> events = profile.getEvents();
assertEquals(1, events.size());
final FacebookEvent event = events.get(0);
assertEquals("Couronnement", event.getName());
assertEquals("301212149963131", event.getId());
assertTrue(event.getLocation().indexOf("Paris") >= 0);
assertEquals("attending", event.getRsvpStatus());
assertNotNull(event.getStartTime());
assertNotNull(event.getEndTime());
final List<FacebookGroup> groups = profile.getGroups();
final FacebookGroup group = groups.get(0);
assertNull(group.getVersion());
assertEquals("Dev ScribeUP", group.getName());
assertEquals("167694120024728", group.getId());
assertTrue(group.getAdministrator());
assertEquals(1, group.getBookmarkOrder().intValue());
final List<FacebookMusicListen> musicListens = profile.getMusicListens();
assertEquals(4, musicListens.size());
final FacebookPicture picture = profile.getPicture();
assertFalse(picture.getIsSilhouette());
assertEquals(36, profile.getAttributes().size());
}