You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RepositoryMetadataReaderTest.java 3.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package org.apache.archiva.repository.maven.metadata;
  2. /*
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. * Unless required by applicable law or agreed to in writing,
  13. * software distributed under the License is distributed on an
  14. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15. * KIND, either express or implied. See the License for the
  16. * specific language governing permissions and limitations
  17. * under the License.
  18. */
  19. import junit.framework.TestCase;
  20. import org.apache.archiva.metadata.maven.MavenMetadataReader;
  21. import org.apache.archiva.model.ArchivaRepositoryMetadata;
  22. import org.apache.archiva.repository.metadata.RepositoryMetadataException;
  23. import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
  24. import org.junit.Test;
  25. import org.junit.runner.RunWith;
  26. import java.net.URISyntaxException;
  27. import java.nio.file.Path;
  28. import java.nio.file.Paths;
  29. /**
  30. * RepositoryMetadataReaderTest
  31. *
  32. *
  33. */
  34. @RunWith( ArchivaBlockJUnit4ClassRunner.class )
  35. public class RepositoryMetadataReaderTest
  36. extends TestCase
  37. {
  38. private Path getRepositoryPath(String repoName) {
  39. try
  40. {
  41. return Paths.get( Thread.currentThread( ).getContextClassLoader( ).getResource( "repositories/" + repoName ).toURI( ) );
  42. }
  43. catch ( URISyntaxException e )
  44. {
  45. throw new RuntimeException( "Could not resolve repository path " + e.getMessage( ), e );
  46. }
  47. }
  48. @Test
  49. public void testLoadSimple()
  50. throws RepositoryMetadataException
  51. {
  52. Path defaultRepoDir = getRepositoryPath( "default-repository" );
  53. Path metadataFile = defaultRepoDir.resolve( "org/apache/maven/shared/maven-downloader/maven-metadata.xml" );
  54. MavenMetadataReader metadataReader = new MavenMetadataReader( );
  55. ArchivaRepositoryMetadata metadata = metadataReader.read( metadataFile );
  56. assertNotNull( metadata );
  57. assertEquals( "Group Id", "org.apache.maven.shared", metadata.getGroupId() );
  58. assertEquals( "Artifact Id", "maven-downloader", metadata.getArtifactId() );
  59. assertEquals( "Released Version", "1.1", metadata.getReleasedVersion() );
  60. assertEquals( "List of Available Versions", 2, metadata.getAvailableVersions().size() );
  61. assertTrue( "Available version 1.0", metadata.getAvailableVersions().contains( "1.0" ) );
  62. assertTrue( "Available version 1.1", metadata.getAvailableVersions().contains( "1.1" ) );
  63. }
  64. @Test
  65. public void testLoadComplex()
  66. throws RepositoryMetadataException
  67. {
  68. Path defaultRepoDir = getRepositoryPath( "default-repository" );
  69. Path metadataFile = defaultRepoDir.resolve( "org/apache/maven/samplejar/maven-metadata.xml" );
  70. MavenMetadataReader metadataReader = new MavenMetadataReader( );
  71. ArchivaRepositoryMetadata metadata = metadataReader.read( metadataFile );
  72. assertNotNull( metadata );
  73. assertEquals( "Group Id", "org.apache.maven", metadata.getGroupId() );
  74. assertEquals( "Artifact Id", "samplejar", metadata.getArtifactId() );
  75. assertEquals( "Released Version", "2.0", metadata.getReleasedVersion() );
  76. assertEquals( "Latest Version", "6.0-SNAPSHOT", metadata.getLatestVersion() );
  77. assertEquals( "List of Available Versions", 18, metadata.getAvailableVersions().size() );
  78. assertTrue( "Available version 6.0-20060311.183228-10",
  79. metadata.getAvailableVersions().contains( "6.0-20060311.183228-10" ) );
  80. assertTrue( "Available version 6.0-SNAPSHOT", metadata.getAvailableVersions().contains( "6.0-SNAPSHOT" ) );
  81. }
  82. }