001 /*
002 * #%L
003 * License Maven Plugin
004 *
005 * $Id: LicenseSummaryTest.java 13529 2011-02-07 11:05:33Z tchemit $
006 * $HeadURL: http://svn.codehaus.org/mojo/tags/license-maven-plugin-1.0/src/test/java/org/codehaus/mojo/license/LicenseSummaryTest.java $
007 * %%
008 * Copyright (C) 2008 - 2011 CodeLutin, Codehaus, Tony Chemit
009 * %%
010 * This program is free software: you can redistribute it and/or modify
011 * it under the terms of the GNU Lesser General Public License as
012 * published by the Free Software Foundation, either version 3 of the
013 * License, or (at your option) any later version.
014 *
015 * This program is distributed in the hope that it will be useful,
016 * but WITHOUT ANY WARRANTY; without even the implied warranty of
017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
018 * GNU General Lesser Public License for more details.
019 *
020 * You should have received a copy of the GNU General Lesser Public
021 * License along with this program. If not, see
022 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
023 * #L%
024 */
025 package org.codehaus.mojo.license;
026
027 import org.apache.maven.model.License;
028 import org.codehaus.mojo.license.model.ProjectLicenseInfo;
029 import org.junit.Assert;
030 import org.junit.Test;
031 import org.xml.sax.SAXException;
032
033 import javax.xml.parsers.ParserConfigurationException;
034 import javax.xml.transform.TransformerException;
035 import javax.xml.transform.TransformerFactoryConfigurationError;
036 import java.io.File;
037 import java.io.FileInputStream;
038 import java.io.IOException;
039 import java.util.ArrayList;
040 import java.util.List;
041
042 /**
043 * @since 1.0
044 */
045 public class LicenseSummaryTest
046 {
047
048 /**
049 * Test reading the license summary xml file into ProjectLicenseInfo objects
050 */
051 @Test
052 public void testReadLicenseSummary()
053 throws IOException, SAXException, ParserConfigurationException
054 {
055 File licenseSummaryFile = new File( "src/test/resources/license-summary-test.xml" );
056 Assert.assertTrue( licenseSummaryFile.exists() );
057 FileInputStream fis = new FileInputStream( licenseSummaryFile );
058 List<ProjectLicenseInfo> list = LicenseSummaryReader.parseLicenseSummary( fis );
059 fis.close();
060 ProjectLicenseInfo dep = list.get( 0 );
061 Assert.assertEquals( "org.codehaus.mojo", dep.getGroupId() );
062 Assert.assertEquals( "junk", dep.getArtifactId() );
063 Assert.assertEquals( "1.1", dep.getVersion() );
064
065 }
066
067 /**
068 * Test writing license information to a license.xml file and then read this file
069 * back in to make sure it's ok.
070 */
071 @Test
072 public void testWriteReadLicenseSummary()
073 throws IOException, SAXException, ParserConfigurationException, TransformerFactoryConfigurationError,
074 TransformerException
075 {
076 List<ProjectLicenseInfo> licSummary = new ArrayList<ProjectLicenseInfo>();
077 ProjectLicenseInfo dep1 = new ProjectLicenseInfo( "org.test", "test1", "1.0" );
078 ProjectLicenseInfo dep2 = new ProjectLicenseInfo( "org.test", "test2", "2.0" );
079
080 License lic = new License();
081 lic.setName( "lgpl" );
082 lic.setUrl( "http://www.gnu.org/licenses/lgpl-3.0.txt" );
083 lic.setComments( "lgpl version 3.0" );
084 dep1.addLicense( lic );
085 dep2.addLicense( lic );
086
087 licSummary.add( dep1 );
088 licSummary.add( dep2 );
089
090 File licenseSummaryFile = File.createTempFile( "licSummary", "tmp" );
091 // File licenseSummaryFile = new File( "src/test/resources/license-summary-test-2.xml" );
092 LicenseSummaryWriter.writeLicenseSummary( licSummary, licenseSummaryFile );
093
094 Assert.assertTrue( licenseSummaryFile.exists() );
095 FileInputStream fis = new FileInputStream( licenseSummaryFile );
096 List<ProjectLicenseInfo> list = LicenseSummaryReader.parseLicenseSummary( fis );
097 fis.close();
098 ProjectLicenseInfo dep = list.get( 0 );
099 Assert.assertEquals( "org.test", dep.getGroupId() );
100 Assert.assertEquals( "test1", dep.getArtifactId() );
101 Assert.assertEquals( "1.0", dep.getVersion() );
102
103 }
104 }