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.

MavenRepositoryMetadataReaderTest.java 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package org.apache.archiva.repository.maven.metadata.storage;
  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.model.Plugin;
  23. import org.apache.archiva.repository.metadata.RepositoryMetadataException;
  24. import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
  25. import org.junit.Before;
  26. import org.junit.Test;
  27. import org.junit.runner.RunWith;
  28. import java.nio.file.Path;
  29. import java.nio.file.Paths;
  30. import java.util.Arrays;
  31. /**
  32. * RepositoryMetadataReaderTest
  33. *
  34. *
  35. */
  36. @RunWith( ArchivaBlockJUnit4ClassRunner.class )
  37. public class MavenRepositoryMetadataReaderTest
  38. extends TestCase
  39. {
  40. private Path defaultRepoDir;
  41. @Test
  42. public void testGroupMetadata()
  43. throws RepositoryMetadataException
  44. {
  45. Path metadataFile = defaultRepoDir.resolve( "org/apache/maven/plugins/maven-metadata.xml" );
  46. MavenMetadataReader metadataReader = new MavenMetadataReader( );
  47. ArchivaRepositoryMetadata metadata = metadataReader.read( metadataFile );
  48. assertNotNull( metadata );
  49. assertEquals( "org.apache.maven.plugins", metadata.getGroupId() );
  50. assertNull( metadata.getArtifactId() );
  51. assertNull( metadata.getReleasedVersion() );
  52. assertNull( metadata.getLatestVersion() );
  53. assertTrue( metadata.getAvailableVersions().isEmpty() );
  54. assertNull( metadata.getSnapshotVersion() );
  55. assertNull( metadata.getLastUpdated() );
  56. Plugin cleanPlugin = new Plugin();
  57. cleanPlugin.setPrefix( "clean" );
  58. cleanPlugin.setArtifactId( "maven-clean-plugin" );
  59. cleanPlugin.setName( "Maven Clean Plugin" );
  60. Plugin compilerPlugin = new Plugin();
  61. compilerPlugin.setPrefix( "compiler" );
  62. compilerPlugin.setArtifactId( "maven-compiler-plugin" );
  63. compilerPlugin.setName( "Maven Compiler Plugin" );
  64. Plugin surefirePlugin = new Plugin();
  65. surefirePlugin.setPrefix( "surefire" );
  66. surefirePlugin.setArtifactId( "maven-surefire-plugin" );
  67. surefirePlugin.setName( "Maven Surefire Plugin" );
  68. assertEquals( Arrays.asList( cleanPlugin, compilerPlugin, surefirePlugin ), metadata.getPlugins() );
  69. }
  70. @Test
  71. public void testProjectMetadata()
  72. throws RepositoryMetadataException
  73. {
  74. Path metadataFile = defaultRepoDir.resolve( "org/apache/maven/shared/maven-downloader/maven-metadata.xml" );
  75. MavenMetadataReader metadataReader = new MavenMetadataReader( );
  76. ArchivaRepositoryMetadata metadata = metadataReader.read( metadataFile );
  77. assertNotNull( metadata );
  78. assertEquals( "org.apache.maven.shared", metadata.getGroupId() );
  79. assertEquals( "maven-downloader", metadata.getArtifactId() );
  80. assertEquals( "1.1", metadata.getReleasedVersion() );
  81. assertNull( metadata.getLatestVersion() );
  82. assertEquals( Arrays.asList( "1.0", "1.1" ), metadata.getAvailableVersions() );
  83. assertNull( metadata.getSnapshotVersion() );
  84. assertEquals( "20061212214311", metadata.getLastUpdated() );
  85. }
  86. @Test
  87. public void testProjectVersionMetadata()
  88. throws RepositoryMetadataException
  89. {
  90. Path metadataFile = defaultRepoDir.resolve( "org/apache/apache/5-SNAPSHOT/maven-metadata.xml" );
  91. MavenMetadataReader metadataReader = new MavenMetadataReader( );
  92. ArchivaRepositoryMetadata metadata = metadataReader.read(metadataFile );
  93. assertNotNull( metadata );
  94. assertEquals( "org.apache", metadata.getGroupId() );
  95. assertEquals( "apache", metadata.getArtifactId() );
  96. assertNull( metadata.getReleasedVersion() );
  97. assertNull( metadata.getLatestVersion() );
  98. assertTrue( metadata.getAvailableVersions().isEmpty() );
  99. assertNotNull( metadata.getSnapshotVersion() );
  100. assertEquals( "20080801.151215", metadata.getSnapshotVersion().getTimestamp() );
  101. assertEquals( 1, metadata.getSnapshotVersion().getBuildNumber() );
  102. assertEquals( "20080801151215", metadata.getLastUpdated() );
  103. }
  104. @Before
  105. @Override
  106. public void setUp()
  107. throws Exception
  108. {
  109. super.setUp();
  110. defaultRepoDir = Paths.get("target/test-repository");
  111. }
  112. }