/******************************************************************************
* Copyright (c) 2011 GitHub Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Kevin Sawicki (GitHub Inc.) - initial API and implementation
*****************************************************************************/
package org.eclipse.egit.github.core.tests.live;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.List;
import org.eclipse.egit.github.core.User;
import org.eclipse.egit.github.core.service.OrganizationService;
import org.junit.Test;
/**
*
*/
public class OrganizationTest extends LiveTest {
/**
* Test fetching authenticated user's orgs
*
* @throws Exception
*/
@Test
public void authenticatedUsersOrgs() throws Exception {
checkUser();
OrganizationService service = new OrganizationService(client);
List<User> orgs = service.getOrganizations();
assertNotNull(orgs);
assertFalse(orgs.isEmpty());
for (User org : orgs) {
assertNotNull(org);
assertNotNull(org.getAvatarUrl());
assertTrue(org.getId() > 0);
assertNotNull(org.getLogin());
assertNotNull(org.getUrl());
User fetched = service.getOrganization(org.getLogin());
assertNotNull(fetched);
assertEquals(org.getLogin(), fetched.getLogin());
}
}
/**
* Test fetching given user's orgs
*
* @throws Exception
*/
@Test
public void givenUsersOrgs() throws Exception {
checkUser();
OrganizationService service = new OrganizationService(client);
List<User> orgs = service.getOrganizations(client.getUser());
assertNotNull(orgs);
assertFalse(orgs.isEmpty());
for (User org : orgs) {
assertNotNull(org);
assertNotNull(org.getAvatarUrl());
assertTrue(org.getId() > 0);
assertNotNull(org.getLogin());
assertNotNull(org.getUrl());
User fetched = service.getOrganization(org.getLogin());
assertNotNull(fetched);
assertEquals(org.getLogin(), fetched.getLogin());
}
}
/**
* Test fetching members of first org that the currently authenticated user
* is in.
*
* @throws Exception
*/
@Test
public void membersInFirstOrg() throws Exception {
checkUser();
OrganizationService service = new OrganizationService(client);
List<User> orgs = service.getOrganizations(client.getUser());
assertNotNull(orgs);
assertFalse(orgs.isEmpty());
String orgName = orgs.get(0).getLogin();
assertNotNull(orgName);
List<User> members = service.getMembers(orgName);
assertNotNull(members);
assertFalse(members.isEmpty());
boolean selfFound = false;
for (User member : members) {
assertNotNull(member);
assertNotNull(member.getLogin());
assertTrue(service.isMember(orgName, member.getLogin()));
if (client.getUser().equals(member.getLogin()))
selfFound = true;
}
assertTrue(selfFound);
}
/**
* Test checking member in organization for specific user
*
* @throws Exception
*/
@Test
public void membershipInOrg() throws Exception {
checkUser();
OrganizationService service = new OrganizationService(client);
List<User> orgs = service.getOrganizations(client.getUser());
assertNotNull(orgs);
assertFalse(orgs.isEmpty());
String orgName = orgs.get(0).getLogin();
assertNotNull(orgName);
assertTrue(service.isMember(orgName, client.getUser()));
assertFalse(service.isMember(orgName,
"notarealuserintheorg" + System.nanoTime()));
assertFalse(service.isPublicMember(orgName, "notarealuserintheorg"
+ System.nanoTime()));
}
}