Package org.eclipse.jgit.transport

Examples of org.eclipse.jgit.transport.Transport


    final TestRepository src = createTestRepository();
    final RevBlob Q_txt = src.blob("new text");
    final RevCommit Q = src.commit().add("Q", Q_txt).create();
    final Repository db = src.getRepository();
    final String dstName = Constants.R_HEADS + "new.branch";
    final Transport t = Transport.open(db, remoteURI);
    try {
      final String srcExpr = Q.name();
      final boolean forceUpdate = false;
      final String localName = null;
      final ObjectId oldId = null;

      RemoteRefUpdate update = new RemoteRefUpdate(src.getRepository(),
          srcExpr, dstName, forceUpdate, localName, oldId);
      try {
        t.push(NullProgressMonitor.INSTANCE, Collections
            .singleton(update));
        fail("push completed without throwing exception");
      } catch (RemoteRepositoryException error) {
        assertEquals(remoteURI + ": message line 1\n" //
            + "no soup for you!\n" //
            + "come back next year!", //
            error.getMessage());
      }
    } finally {
      t.close();
    }
  }
View Full Code Here


    Repository dst = createBareRepository();

    assertEquals("http", remoteURI.getScheme());

    Map<String, Ref> map;
    Transport t = Transport.open(dst, remoteURI);
    try {
      // I didn't make up these public interface names, I just
      // approved them for inclusion into the code base. Sorry.
      // --spearce
      //
      assertTrue("isa TransportHttp", t instanceof TransportHttp);
      assertTrue("isa HttpTransport", t instanceof HttpTransport);

      FetchConnection c = t.openFetch();
      try {
        map = c.getRefsMap();
      } finally {
        c.close();
      }
    } finally {
      t.close();
    }

    assertNotNull("have map of refs", map);
    assertEquals(3, map.size());
View Full Code Here

  @Test
  public void testListRemote_BadName() throws IOException, URISyntaxException {
    Repository dst = createBareRepository();
    URIish uri = new URIish(this.remoteURI.toString() + ".invalid");
    Transport t = Transport.open(dst, uri);
    try {
      try {
        t.openFetch();
        fail("fetch connection opened");
      } catch (RemoteRepositoryException notFound) {
        assertEquals(uri + ": Git repository not found",
            notFound.getMessage());
      }
    } finally {
      t.close();
    }

    List<AccessEvent> requests = getRequests();
    assertEquals(1, requests.size());
View Full Code Here

    final RevBlob Q_txt = src
        .blob("some blob content to measure pack size");
    final RevCommit Q = src.commit().add("Q", Q_txt).create();
    final Repository db = src.getRepository();
    final String dstName = Constants.R_HEADS + "new.branch";
    Transport t;
    PushResult result;

    t = Transport.open(db, remoteURI);
    try {
      final String srcExpr = Q.name();
      final boolean forceUpdate = false;
      final String localName = null;
      final ObjectId oldId = null;

      RemoteRefUpdate update = new RemoteRefUpdate(src.getRepository(),
          srcExpr, dstName, forceUpdate, localName, oldId);
      result = t.push(NullProgressMonitor.INSTANCE,
          Collections.singleton(update));
    } finally {
      t.close();
    }
    assertEquals("expected 1 RemoteUpdate", 1, result.getRemoteUpdates()
        .size());
    assertEquals("unexpected pack size", 1398, packSize);
  }
View Full Code Here

  public void testSetHeaders() throws IOException {
    Repository dst = createBareRepository();

    assertEquals("http", remoteURI.getScheme());

    Transport t = Transport.open(dst, remoteURI);
    try {
      assertTrue("isa TransportHttp", t instanceof TransportHttp);
      assertTrue("isa HttpTransport", t instanceof HttpTransport);

      HashMap<String, String> headers = new HashMap<String, String>();
      headers.put("Cookie", "someTokenValue=23gBog34");
      headers.put("AnotherKey", "someValue");
      ((TransportHttp) t).setAdditionalHeaders(headers);
      t.openFetch();
    } finally {
      t.close();
    }

    List<AccessEvent> requests = getRequests();
    assertEquals(2, requests.size());
View Full Code Here

  @Test
  public void testInitialClone_Small() throws Exception {
    Repository dst = createBareRepository();
    assertFalse(dst.hasObject(A_txt));

    Transport t = Transport.open(dst, remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }

    assertTrue(dst.hasObject(A_txt));
    assertEquals(B, dst.getRef(master).getObjectId());
    fsck(dst, B);
View Full Code Here

  @Test
  public void testFetch_FewLocalCommits() throws Exception {
    // Bootstrap by doing the clone.
    //
    TestRepository dst = createTestRepository();
    Transport t = Transport.open(dst.getRepository(), remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }
    assertEquals(B, dst.getRepository().getRef(master).getObjectId());
    List<AccessEvent> cloneRequests = getRequests();

    // Only create a few new commits.
    TestRepository.BranchBuilder b = dst.branch(master);
    for (int i = 0; i < 4; i++)
      b.commit().tick(3600 /* 1 hour */).message("c" + i).create();

    // Create a new commit on the remote.
    //
    b = new TestRepository<Repository>(remoteRepository).branch(master);
    RevCommit Z = b.commit().message("Z").create();

    // Now incrementally update.
    //
    t = Transport.open(dst.getRepository(), remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }
    assertEquals(Z, dst.getRepository().getRef(master).getObjectId());

    List<AccessEvent> requests = getRequests();
    requests.removeAll(cloneRequests);
View Full Code Here

  @Test
  public void testFetch_TooManyLocalCommits() throws Exception {
    // Bootstrap by doing the clone.
    //
    TestRepository dst = createTestRepository();
    Transport t = Transport.open(dst.getRepository(), remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }
    assertEquals(B, dst.getRepository().getRef(master).getObjectId());
    List<AccessEvent> cloneRequests = getRequests();

    // Force enough into the local client that enumeration will
    // need multiple packets, but not too many to overflow and
    // not pick up the ACK_COMMON message.
    //
    TestRepository.BranchBuilder b = dst.branch(master);
    for (int i = 0; i < 32 - 1; i++)
      b.commit().tick(3600 /* 1 hour */).message("c" + i).create();

    // Create a new commit on the remote.
    //
    b = new TestRepository<Repository>(remoteRepository).branch(master);
    RevCommit Z = b.commit().message("Z").create();

    // Now incrementally update.
    //
    t = Transport.open(dst.getRepository(), remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }
    assertEquals(Z, dst.getRepository().getRef(master).getObjectId());

    List<AccessEvent> requests = getRequests();
    requests.removeAll(cloneRequests);
View Full Code Here

  @Test
  public void testInitialClone_BrokenServer() throws Exception {
    Repository dst = createBareRepository();
    assertFalse(dst.hasObject(A_txt));

    Transport t = Transport.open(dst, brokenURI);
    try {
      try {
        t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
        fail("fetch completed despite upload-pack being broken");
      } catch (TransportException err) {
        String exp = brokenURI + ": expected"
            + " Content-Type application/x-git-upload-pack-result;"
            + " received Content-Type text/plain;charset=UTF-8";
        assertEquals(exp, err.getMessage());
      }
    } finally {
      t.close();
    }

    List<AccessEvent> requests = getRequests();
    assertEquals(2, requests.size());
View Full Code Here

    final TestRepository src = createTestRepository();
    final RevBlob Q_txt = src.blob("new text");
    final RevCommit Q = src.commit().add("Q", Q_txt).create();
    final Repository db = src.getRepository();
    final String dstName = Constants.R_HEADS + "new.branch";
    Transport t;

    // push anonymous shouldn't be allowed.
    //
    t = Transport.open(db, remoteURI);
    try {
      final String srcExpr = Q.name();
      final boolean forceUpdate = false;
      final String localName = null;
      final ObjectId oldId = null;

      RemoteRefUpdate u = new RemoteRefUpdate(src.getRepository(),
          srcExpr, dstName, forceUpdate, localName, oldId);
      try {
        t.push(NullProgressMonitor.INSTANCE, Collections.singleton(u));
        fail("anonymous push incorrectly accepted without error");
      } catch (TransportException e) {
        final String exp = remoteURI + ": "
            + JGitText.get().authenticationNotSupported;
        assertEquals(exp, e.getMessage());
      }
    } finally {
      t.close();
    }

    List<AccessEvent> requests = getRequests();
    assertEquals(1, requests.size());
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.transport.Transport

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.