package org.gcube.portlets.widgets.githubconnector; import org.eclipse.egit.github.core.Blob; import java.util.List; import org.eclipse.egit.github.core.Milestone; import org.eclipse.egit.github.core.Repository; import org.eclipse.egit.github.core.RepositoryContents; import org.eclipse.egit.github.core.client.GitHubClient; import org.eclipse.egit.github.core.service.ContentsService; import org.eclipse.egit.github.core.service.DataService; import org.eclipse.egit.github.core.service.MilestoneService; import org.eclipse.egit.github.core.service.RepositoryService; import org.gcube.portlets.widgets.githubconnector.server.git.GitConnectorService; import org.gcube.portlets.widgets.githubconnector.shared.Constants; import org.gcube.portlets.widgets.githubconnector.shared.exception.ServiceException; import org.gcube.portlets.widgets.githubconnector.shared.git.data.credential.GitHubCredentialAnonymous; import org.slf4j.Logger; import org.slf4j.LoggerFactory; //import com.google.gwt.thirdparty.debugging.sourcemap.Base64; import junit.framework.TestCase; /** * * @author Giancarlo Panichi * * */ public class GitHubConnectorTest extends TestCase { private static Logger logger = LoggerFactory .getLogger(GitHubConnectorTest.class); public void testExecuteProcess() { if (Constants.TEST_ENABLE) { executeProcess(); } else { assertTrue(true); } } public void testGitHubConnectorService() { if (Constants.TEST_ENABLE) { GitConnectorService gitConnectorService = new GitConnectorService( Constants.DEFAULT_USER, new GitHubCredentialAnonymous()); try { gitConnectorService .cloneRepository(Constants.DEFAULT_FOLDER_ID, Constants.DEFAULT_REPOSITORY_OWNER, Constants.DEFAULT_REPOSITORY_NAME); } catch (ServiceException e) { assertFalse(true); e.printStackTrace(); } assertTrue(true); } else { assertTrue(true); } } private void executeProcess() { try { logger.debug("Connect to GitHub"); // Basic authentication GitHubClient client = new GitHubClient(); client.setCredentials("account", "password"); /* * GitHubRequest req = new GitHubRequest(); * req.setUri("git://github.com/jonan/flingbox.git"); GitHubResponse * resp = client.get(req); logger.debug(resp.toString()); */ /* * RepositoryService service = new RepositoryService(); for * (Repository repo : service.getRepositories("jonan")) { */ /** * Coveros/helloworld */ RepositoryService service = new RepositoryService(); Repository repo = service.getRepository("Coveros", "helloworld"); logger.debug("Repository: [Name=" + repo.getName() + ", Watcher=" + repo.getWatchers() + ", GitUrl=" + repo.getGitUrl() + "]"); MilestoneService milestoneService = new MilestoneService(client); List listMilestone = milestoneService.getMilestones( repo, null); for (Milestone milestone : listMilestone) { logger.debug("Milestone: [Title=" + milestone.getTitle() + ", Number=" + milestone.getNumber() + ", URL=" + milestone.getUrl() + "]"); } ContentsService contentsService = new ContentsService(client); List listRepositoryContents = contentsService .getContents(repo); for (RepositoryContents contents : listRepositoryContents) { logger.debug("Contents: [name=" + contents.getName() + ", type=" + contents.getType() + ", encoding=" + contents.getEncoding() + ", path=" + contents.getPath() + ", sha=" + contents.getSha() + "]"); DataService dataService = new DataService(client); if (contents.getName().compareTo("README.md") == 0) { Blob blob = dataService.getBlob(repo, contents.getSha()); logger.debug("Blob: [encoding=" + blob.getEncoding() + ", content=" + blob.getContent() + "]"); if (blob.getEncoding().compareToIgnoreCase("base64") == 0) { //byte[] content = Base64.decodeBase64(blob.getContent() // .getBytes()); //logger.debug(new String(content)); logger.debug("Is base64 encoding"); } else { logger.debug("Is encoding: "+blob.getEncoding()); } } } // DeployKeyService deployKeyService=new DeployKeyService(client); /* * PullRequestService pullRequetService=new * PullRequestService(client); CommitService commitService=new * CommitService(client); RepositoryCommit repoCommit=new * RepositoryCommit(); CommitFile commitFile=new CommitFile(); */ logger.debug("---------------------------------------------"); // } } catch (Exception e) { logger.debug(e.getLocalizedMessage()); e.printStackTrace(); fail(e.getLocalizedMessage()); } } }