예제 #1
0
  /**
   * Test that when putting a directory that already exists new files get also copied
   *
   * @throws Exception
   * @since 1.0-beta-1
   */
  public void testWagonPutDirectoryWhenDirectoryAlreadyExists() throws Exception {

    final String dirName = "directory-copy-existing";

    final String resourceToCreate = "test-resource-1.txt";

    final String[] resources = {
      "a/test-resource-2.txt", "a/b/test-resource-3.txt", "c/test-resource-4.txt"
    };

    setupRepositories();

    setupWagonTestingFixtures();

    Wagon wagon = getWagon();

    if (wagon.supportsDirectoryCopy()) {
      sourceFile = new File(FileTestUtils.getTestOutputDir(), dirName);

      FileUtils.deleteDirectory(sourceFile);

      createDirectory(wagon, resourceToCreate, dirName);

      for (String resource : resources) {
        writeTestFile(resource);
      }

      wagon.connect(testRepository, getAuthInfo());

      wagon.putDirectory(sourceFile, dirName);

      List<String> resourceNames = new ArrayList<String>(resources.length + 1);

      resourceNames.add(dirName + "/" + resourceToCreate);
      for (String resource : resources) {
        resourceNames.add(dirName + "/" + resource);
      }

      assertResourcesAreInRemoteSide(wagon, resourceNames);

      wagon.disconnect();
    }

    tearDownWagonTestingFixtures();
  }
예제 #2
0
  /**
   * Test for putting a directory with a destination that multiple directories deep, all of which
   * haven't been created.
   *
   * @throws Exception
   * @since 1.0-beta-2
   */
  public void testWagonPutDirectoryDeepDestination() throws Exception {
    setupRepositories();

    setupWagonTestingFixtures();

    Wagon wagon = getWagon();

    if (wagon.supportsDirectoryCopy()) {
      sourceFile = new File(FileTestUtils.getTestOutputDir(), "deep0/deep1/deep2");

      FileUtils.deleteDirectory(sourceFile);

      writeTestFile("test-resource-1.txt");
      writeTestFile("a/test-resource-2.txt");
      writeTestFile("a/b/test-resource-3.txt");
      writeTestFile("c/test-resource-4.txt");
      writeTestFile("d/e/f/test-resource-5.txt");

      wagon.connect(testRepository, getAuthInfo());

      wagon.putDirectory(sourceFile, "deep0/deep1/deep2");

      destFile = FileTestUtils.createUniqueFile(getName(), getName());

      destFile.deleteOnExit();

      wagon.get("deep0/deep1/deep2/test-resource-1.txt", destFile);
      wagon.get("deep0/deep1/deep2/a/test-resource-2.txt", destFile);
      wagon.get("deep0/deep1/deep2/a/b/test-resource-3.txt", destFile);
      wagon.get("deep0/deep1/deep2/c/test-resource-4.txt", destFile);
      wagon.get("deep0/deep1/deep2/d/e/f/test-resource-5.txt", destFile);

      wagon.disconnect();
    }

    tearDownWagonTestingFixtures();
  }