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.

RepositoryMetadataWriterTest.java 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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.model.ArchivaRepositoryMetadata;
  21. import org.apache.archiva.repository.metadata.base.RepositoryMetadataWriter;
  22. import org.apache.archiva.test.utils.ArchivaBlockJUnit4ClassRunner;
  23. import org.junit.Test;
  24. import org.junit.runner.RunWith;
  25. import org.xmlunit.assertj.XmlAssert;
  26. import java.io.StringWriter;
  27. import java.net.URISyntaxException;
  28. import java.nio.charset.Charset;
  29. import java.nio.file.Path;
  30. import java.nio.file.Paths;
  31. /**
  32. * RepositoryMetadataWriterTest
  33. */
  34. @RunWith ( ArchivaBlockJUnit4ClassRunner.class )
  35. public class RepositoryMetadataWriterTest
  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 testWriteSimple()
  50. throws Exception
  51. {
  52. Path defaultRepoDir = getRepositoryPath( "default-repository" );
  53. Path expectedFile = defaultRepoDir.resolve( "org/apache/maven/shared/maven-downloader/maven-metadata.xml" );
  54. String expectedContent = org.apache.archiva.common.utils.FileUtils.readFileToString( expectedFile, Charset.defaultCharset() );
  55. ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
  56. metadata.setGroupId( "org.apache.maven.shared" );
  57. metadata.setArtifactId( "maven-downloader" );
  58. metadata.setVersion( "1.0" );
  59. metadata.setReleasedVersion( "1.1" );
  60. metadata.getAvailableVersions().add( "1.0" );
  61. metadata.getAvailableVersions().add( "1.1" );
  62. metadata.setLastUpdated( "20061212214311" );
  63. StringWriter actual = new StringWriter();
  64. RepositoryMetadataWriter.write( metadata, actual );
  65. XmlAssert.assertThat( actual.toString() ).and( expectedContent ).areIdentical();
  66. }
  67. }