Package org.sonatype.nexus.proxy.maven.maven2

Examples of org.sonatype.nexus.proxy.maven.maven2.M2GroupRepository


  @Test
  public void testNEXUS5418_storeItemWithChecksums()
      throws Exception
  {
    final M2Repository repository = (M2Repository) getResourceStore();

    Assert.assertTrue(repository.getRepositoryKind().isFacetAvailable(ProxyRepository.class));

    String sha1str = "0123456789012345678901234567890123456789";
    String md5str = "01234567012345670123456701234567";

    StorageItem item = repository.retrieveItem(new ResourceStoreRequest("/spoof/simple.txt"));

    repository.storeItem(false, new DefaultStorageFileItem(
        repository, new ResourceStoreRequest(item.getPath() + ".sha1"), true, true, new StringContentLocator(sha1str))
    );
    repository.storeItem(false, new DefaultStorageFileItem(
        repository, new ResourceStoreRequest(item.getPath() + ".md5"), true, true, new StringContentLocator(md5str))
    );

    // reread the item to refresh attributes map
    item = repository.retrieveItem(new ResourceStoreRequest("/spoof/simple.txt"));

    StorageFileItem sha1 =
        (StorageFileItem) repository.retrieveItem(new ResourceStoreRequest("/spoof/simple.txt.sha1"));
    Assert.assertEquals(item.getRepositoryItemAttributes().get(ChecksumContentValidator.ATTR_REMOTE_SHA1),
        sha1str);
    Assert.assertEquals(item.getModified(), sha1.getModified());
    Assert.assertEquals(40, sha1.getLength());

    StorageFileItem md5 =
        (StorageFileItem) repository.retrieveItem(new ResourceStoreRequest("/spoof/simple.txt.md5"));
    Assert.assertEquals(item.getRepositoryItemAttributes().get(ChecksumContentValidator.ATTR_REMOTE_MD5), md5str);
    Assert.assertEquals(item.getModified(), md5.getModified());
    Assert.assertEquals(32, md5.getLength());
  }
View Full Code Here


    if (repoContent.isDirectory()) {
      FileUtils.copyDirectory(repoContent, repoRoot);
    }

    // ading one hosted only
    M2Repository repo = (M2Repository) lookup(Repository.class, "maven2");

    CRepository repoConf = new DefaultCRepository();

    repoConf.setProviderRole(Repository.class.getName());
    repoConf.setProviderHint("maven2");
    repoConf.setId(id);

    repoConf.setLocalStorage(new CLocalStorage());
    repoConf.getLocalStorage().setProvider("file");

    repoConf.getLocalStorage().setUrl(repoRoot.toURI().toURL().toString());

    Xpp3Dom exRepo = new Xpp3Dom("externalConfiguration");
    repoConf.setExternalConfiguration(exRepo);
    M2RepositoryConfiguration exRepoConf = new M2RepositoryConfiguration(exRepo);
    exRepoConf.setRepositoryPolicy(RepositoryPolicy.RELEASE);
    exRepoConf.setChecksumPolicy(ChecksumPolicy.STRICT_IF_EXISTS);

    repo.configure(repoConf);

    applicationConfiguration.getConfigurationModel().addRepository(repoConf);

    lookup(RepositoryRegistry.class).addRepository(repo);
View Full Code Here

    this.addRepository("out-of-service-repo");
    File repoLocation = this.addRepository("active-repo");
    assertThat(new File(repoLocation, ".nexus/trash"), FileMatchers.isDirectory());

    M2Repository outOfServiceRepo =
        (M2Repository) this.lookup(RepositoryRegistry.class).getRepository("out-of-service-repo");
    outOfServiceRepo.setLocalStatus(LocalStatus.OUT_OF_SERVICE);
    outOfServiceRepo.commitChanges();

    Wastebasket wastebasket = this.lookup(Wastebasket.class);
    wastebasket.purgeAll(1L);

    // NEXUS-4642 check if directories were deleted
View Full Code Here

    // fill legacy trash from activeRepo trash
    basketDir.mkdirs();
    File trashContent = new File(activeRepoRoot, ".nexus/trash");
    FileUtils.copyDirectory(trashContent, basketDir);

    M2Repository outOfServiceRepo =
        (M2Repository) this.lookup(RepositoryRegistry.class).getRepository("out-of-service-repo");
    outOfServiceRepo.setLocalStatus(LocalStatus.OUT_OF_SERVICE);
    outOfServiceRepo.commitChanges();

    Wastebasket wastebasket = this.lookup(Wastebasket.class);
    wastebasket.purgeAll(DefaultWastebasket.ALL);

    assertThat(basketDir, FileMatchers.isDirectory());
View Full Code Here

  }

  public StorageFileItem requestWithPolicy(ChecksumPolicy policy, String requestPath)
      throws Exception
  {
    M2Repository repo = getRepository();

    ResourceStoreRequest request = new ResourceStoreRequest(requestPath, false, false);

    repo.setChecksumPolicy(policy);
    repo.getCurrentCoreConfiguration().commitChanges();

    StorageFileItem item = (StorageFileItem) repo.retrieveItem(request);

    return item;
  }
View Full Code Here

  @Test
  public void testPoliciesWithRetrieve()
      throws Exception
  {
    M2Repository repository = (M2Repository) getResourceStore();

    // a "release"
    repository.setRepositoryPolicy(RepositoryPolicy.RELEASE);
    repository.getCurrentCoreConfiguration().commitChanges();

    StorageItem item = getResourceStore().retrieveItem(new ResourceStoreRequest(SPOOF_RELEASE, false));
    checkForFileAndMatchContents(item);

    try {
      item = getResourceStore().retrieveItem(new ResourceStoreRequest(SPOOF_SNAPSHOT, false));

      assertThat("Should not be able to get snapshot from release repo", false);
    }
    catch (ItemNotFoundException e) {
      // good
    }

    // reset NFC
    repository.expireCaches(new ResourceStoreRequest(RepositoryItemUid.PATH_ROOT, true));

    // a "snapshot"
    repository.setRepositoryPolicy(RepositoryPolicy.SNAPSHOT);
    repository.getCurrentCoreConfiguration().commitChanges();

    item = getResourceStore().retrieveItem(new ResourceStoreRequest(SPOOF_SNAPSHOT, false));
    checkForFileAndMatchContents(item);

    try {
View Full Code Here

  @Test
  public void testPoliciesWithStore()
      throws Exception
  {
    M2Repository repository = (M2Repository) getResourceStore();

    // a "release"
    repository.setRepositoryPolicy(RepositoryPolicy.RELEASE);
    repository.getCurrentCoreConfiguration().commitChanges();

    DefaultStorageFileItem item = new DefaultStorageFileItem(
        repository, new ResourceStoreRequest(SPOOF_RELEASE), true, true, new StringContentLocator(SPOOF_RELEASE)
    );

    repository.storeItem(false, item);

    try {
      item = new DefaultStorageFileItem(
          repository, new ResourceStoreRequest(SPOOF_SNAPSHOT), true, true, new StringContentLocator(SPOOF_SNAPSHOT)
      );

      repository.storeItem(false, item);

      assertThat("Should not be able to store snapshot to release repo", false);
    }
    catch (UnsupportedStorageOperationException e) {
      // good
    }

    // reset NFC
    repository.expireCaches(new ResourceStoreRequest(RepositoryItemUid.PATH_ROOT, true));

    // a "snapshot"
    repository.setRepositoryPolicy(RepositoryPolicy.SNAPSHOT);
    repository.getCurrentCoreConfiguration().commitChanges();

    item = new DefaultStorageFileItem(
        repository, new ResourceStoreRequest(SPOOF_SNAPSHOT), true, true, new StringContentLocator(SPOOF_SNAPSHOT)
    );

    repository.storeItem(false, item);

    try {
      item = new DefaultStorageFileItem(
          repository, new ResourceStoreRequest(SPOOF_RELEASE), true, true, new StringContentLocator(SPOOF_RELEASE)
      );

      repository.storeItem(false, item);

      assertThat("Should not be able to store release to snapshot repo", false);
    }
    catch (UnsupportedStorageOperationException e) {
      // good
View Full Code Here

  @Test
  public void testShouldServeByPolicies()
      throws Exception
  {
    M2Repository repository = (M2Repository) getResourceStore();

    String releasePom =
        "/org/codehaus/plexus/plexus-container-default/1.0-alpha-40/plexus-container-default-1.0-alpha-40.pom";
    String releaseArtifact =
        "/org/codehaus/plexus/plexus-container-default/1.0-alpha-40/plexus-container-default-1.0-alpha-40.jar";
    String snapshotPom =
        "/org/codehaus/plexus/plexus-container-default/1.0-alpha-41-SNAPSHOT/plexus-container-default-1.0-alpha-41-20071205.190351-1.pom";
    String snapshotArtifact =
        "/org/codehaus/plexus/plexus-container-default/1.0-alpha-41-SNAPSHOT/plexus-container-default-1.0-alpha-41-20071205.190351-1.jar";
    String metadata1 = "/org/codehaus/plexus/plexus-container-default/maven-metadata.xml";
    String metadataR = "/org/codehaus/plexus/plexus-container-default/1.0-alpha-40/maven-metadata.xml";
    String metadataS = "/org/codehaus/plexus/plexus-container-default/1.0-alpha-41-SNAPSHOT/maven-metadata.xml";
    String someDirectory = "/classworlds/";
    String anyNonArtifactFile = "/any/file.txt";

    ResourceStoreRequest request = new ResourceStoreRequest("");

    // it is equiv of repo type: RELEASE
    repository.setRepositoryPolicy(RepositoryPolicy.RELEASE);
    repository.getCurrentCoreConfiguration().commitChanges();

    request.setRequestPath(releasePom);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(releaseArtifact);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(snapshotPom);
    assertThat(repository.shouldServeByPolicies(request), is(false));
    request.setRequestPath(snapshotArtifact);
    assertThat(repository.shouldServeByPolicies(request), is(false));
    request.setRequestPath(metadata1);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(metadataR);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(metadataS);
    assertThat(repository.shouldServeByPolicies(request), is(false));
    request.setRequestPath(someDirectory);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(anyNonArtifactFile);
    assertThat(repository.shouldServeByPolicies(request), is(true));

    // it is equiv of repo type: SNAPSHOT
    repository.setRepositoryPolicy(RepositoryPolicy.SNAPSHOT);
    repository.getCurrentCoreConfiguration().commitChanges();

    request.setRequestPath(releasePom);
    assertThat(repository.shouldServeByPolicies(request), is(false));
    request.setRequestPath(releaseArtifact);
    assertThat(repository.shouldServeByPolicies(request), is(false));
    request.setRequestPath(snapshotPom);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(snapshotArtifact);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(metadata1);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(metadataR);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(metadataS);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(someDirectory);
    assertThat(repository.shouldServeByPolicies(request), is(true));
    request.setRequestPath(anyNonArtifactFile);
    assertThat(repository.shouldServeByPolicies(request), is(true));
  }
View Full Code Here

  @Test
  public void testGetLatestVersionSimple()
      throws Exception
  {
    M2Repository repository = (M2Repository) getResourceStore();

    List<String> versions = new ArrayList<String>();
    versions.add("1.0.0");
    versions.add("1.0.1");
    versions.add("1.0.2");
    versions.add("1.1.2");
    assertThat(repository.getLatestVersion(versions), is("1.1.2"));
  }
View Full Code Here

  @Test
  public void testGetLatestVersionClassifiers()
      throws Exception
  {
    M2Repository repository = (M2Repository) getResourceStore();

    List<String> versions = new ArrayList<String>();
    versions.add("1.0-alpha-19");
    versions.add("1.0-alpha-9-stable-1");
    versions.add("1.0-alpha-20");
    versions.add("1.0-alpha-21");
    versions.add("1.0-alpha-22");
    versions.add("1.0-alpha-40");
    assertThat(repository.getLatestVersion(versions), is("1.0-alpha-40"));
  }
View Full Code Here

TOP

Related Classes of org.sonatype.nexus.proxy.maven.maven2.M2GroupRepository

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.