").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
diff --git a/1.1/src/test/java/org/gcube/portlets/widgets/githubconnector/GitHubConnectorTest.java b/1.1/src/test/java/org/gcube/portlets/widgets/githubconnector/GitHubConnectorTest.java
new file mode 100644
index 0000000..2426f78
--- /dev/null
+++ b/1.1/src/test/java/org/gcube/portlets/widgets/githubconnector/GitHubConnectorTest.java
@@ -0,0 +1,137 @@
+package org.gcube.portlets.widgets.githubconnector;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.codec.binary.Base64;
+import org.eclipse.egit.github.core.Blob;
+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;
+
+/**
+ *
+ * @author Giancarlo Panichi email:
g.panichi@isti.cnr.it
+ *
+ */
+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("giamak@gmail.com", "1qaz2wsx$");
+
+ /*
+ * 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")) {
+ */
+ RepositoryService service = new RepositoryService();
+ Repository repo = service.getRepository("jonan", "jonan.github.io");
+
+ 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));
+ }
+ }
+ }
+
+ // 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());
+
+ }
+
+ }
+
+}