/****************************************************************************** * 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.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.List; import org.eclipse.egit.github.core.Repository; import org.eclipse.egit.github.core.Team; import org.eclipse.egit.github.core.User; import org.eclipse.egit.github.core.service.OrganizationService; import org.eclipse.egit.github.core.service.RepositoryService; import org.eclipse.egit.github.core.service.TeamService; import org.junit.Test; /** * */ public class TeamTest extends LiveTest { /** * Test fetching teams in an org * * @throws Exception */ @Test public void fetchTeamsFromOrg() throws Exception { checkUser(); OrganizationService orgService = new OrganizationService(client); List<User> orgs = orgService.getOrganizations(); assertNotNull(orgs); assertFalse(orgs.isEmpty()); User org = orgs.get(0); assertNotNull(org); assertNotNull(org.getLogin()); TeamService teamService = new TeamService(client); List<Team> teams = teamService.getTeams(org.getLogin()); assertNotNull(teams); assertFalse(teams.isEmpty()); for (Team team : teams) { assertNotNull(team); assertNotNull(team.getName()); assertNotNull(team.getUrl()); assertTrue(team.getReposCount() >= 0); assertTrue(team.getMembersCount() >= 0); assertTrue(team.getId() >= 0); assertNotNull(teamService.getTeam(team.getId())); } } /** * Test checking membership in org * * @throws Exception */ @Test public void membershipInTeam() throws Exception { checkUser(); OrganizationService orgService = new OrganizationService(client); List<User> orgs = orgService.getOrganizations(); assertNotNull(orgs); assertFalse(orgs.isEmpty()); User org = orgs.get(0); assertNotNull(org); assertNotNull(org.getLogin()); TeamService teamService = new TeamService(client); List<Team> teams = teamService.getTeams(org.getLogin()); assertNotNull(teams); assertFalse(teams.isEmpty()); Team first = teams.get(0); assertNotNull(first); List<User> members = teamService.getMembers(first.getId()); assertNotNull(members); assertFalse(members.isEmpty()); for (User member : members) { assertNotNull(member); assertNotNull(member.getLogin()); assertTrue(teamService.isMember(first.getId(), member.getLogin())); } } /** * Test getting team repositories * * @throws Exception */ @Test public void teamRepository() throws Exception { checkUser(); OrganizationService orgService = new OrganizationService(client); List<User> orgs = orgService.getOrganizations(); assertNotNull(orgs); assertFalse(orgs.isEmpty()); User org = orgs.get(0); assertNotNull(org); assertNotNull(org.getLogin()); TeamService teamService = new TeamService(client); List<Team> teams = teamService.getTeams(org.getLogin()); assertNotNull(teams); assertFalse(teams.isEmpty()); for (Team team : teams) { List<Repository> repos = teamService.getRepositories(team.getId()); assertNotNull(repos); assertFalse(repos.isEmpty()); for (Repository repo : repos) assertTrue(teamService.isTeamRepository(team.getId(), repo)); } } /** * Get teams for a repository * * @throws Exception */ @Test public void getRepositoryTeams() throws Exception { checkUser(); OrganizationService orgService = new OrganizationService(client); List<User> orgs = orgService.getOrganizations(); assertNotNull(orgs); assertFalse(orgs.isEmpty()); User org = orgs.get(0); assertNotNull(org); assertNotNull(org.getLogin()); TeamService teamService = new TeamService(client); boolean hasTeams = false; for (Repository repo : new RepositoryService(client) .getOrgRepositories(org.getLogin())) { List<Team> teams = teamService.getTeams(repo); assertNotNull(teams); for (Team team : teams) { hasTeams = true; assertNotNull(team); assertNotNull(team.getName()); assertNotNull(team.getUrl()); } } assertTrue(hasTeams); } }