Package org.eclipse.jgit.junit

Examples of org.eclipse.jgit.junit.TestRepository


    assertTrue("has b", src.hasObject(b));
    assertFalse("b not loose", od.fileFor(b).exists());

    // Now use b but in a different commit than what is hidden.
    //
    TestRepository s = new TestRepository(src);
    RevCommit N = s.commit().parent(B).add("q", b).create();
    s.update(R_MASTER, N);

    // Push this new content to the remote, doing strict validation.
    //
    TransportLocal t = new TransportLocal(src, uriOf(dst)) {
      @Override
View Full Code Here


  private TestRepository testDb;

  @Override
  public void setUp() throws Exception {
    super.setUp();
    testDb = new TestRepository(db);
    df = new DiffFormatter(DisabledOutputStream.INSTANCE);
    df.setRepository(db);
  }
View Full Code Here

    cfg.setBoolean("http", null, "receivepack", true);
    cfg.save();
  }

  public void testPush_CreateBranch() throws Exception {
    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");
View Full Code Here

  }

  public void testFetchUpdateExisting() 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(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);
    assertEquals(3, requests.size());

View Full Code Here

    assertEquals("text/plain;charset=UTF-8", service
        .getResponseHeader(HDR_CONTENT_TYPE));
  }

  public void testPush_NotAuthorized() throws Exception {
    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) {
View Full Code Here

    assertEquals("git-receive-pack", info.getParameter("service"));
    assertEquals(401, info.getStatus());
  }

  public void testPush_CreateBranch() throws Exception {
    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;

    enableReceivePack();

    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);
      t.push(NullProgressMonitor.INSTANCE, Collections.singleton(u));
    } finally {
      t.close();
    }
View Full Code Here

  private RevCommit A, B;

  protected void setUp() throws Exception {
    super.setUp();

    final TestRepository src = createTestRepository();
    final String srcName = src.getRepository().getDirectory().getName();

    ServletContextHandler app = server.addContext("/git");
    GitServlet gs = new GitServlet();
    gs.setRepositoryResolver(new RepositoryResolver() {
      public Repository open(HttpServletRequest req, String name)
          throws RepositoryNotFoundException,
          ServiceNotEnabledException {
        if (!name.equals(srcName))
          throw new RepositoryNotFoundException(name);

        final Repository db = src.getRepository();
        db.incrementOpen();
        return db;
      }
    });
    app.addServlet(new ServletHolder(gs), "/*");

    server.setUp();

    remoteRepository = src.getRepository();
    remoteURI = toURIish(app, srcName);

    A_txt = src.blob("A");
    A = src.commit().add("A_txt", A_txt).create();
    B = src.commit().parent(A).add("A_txt", "C").add("B", "B").create();
    src.update(master, B);
  }
View Full Code Here

    assertEquals("application/x-git-loose-object", loose.get(0)
        .getResponseHeader(HDR_CONTENT_TYPE));
  }

  public void testInitialClone_Packed() throws Exception {
    new TestRepository(remoteRepository).packAndPrune();

    Repository dst = createBareRepository();
    assertFalse(dst.hasObject(A_txt));

    Transport t = Transport.open(dst, remoteURI);
View Full Code Here

    assertEquals("text/plain;charset=UTF-8", req.get(0).getResponseHeader(
        HDR_CONTENT_TYPE));
  }

  public void testPushNotSupported() throws Exception {
    final TestRepository src = createTestRepository();
    final RevCommit Q = src.commit().create();
    final Repository db = src.getRepository();

    Transport t = Transport.open(db, remoteURI);
    ((TransportHttp) t).setUseSmartHttp(false);
    try {
      try {
View Full Code Here

    cfg.setBoolean("http", null, "receivepack", true);
    cfg.save();
  }

  public void testPush_CreateBranch() throws Exception {
    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;
    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();
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.junit.TestRepository

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.