001 /**
002 * Copyright 2010-2012 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.codehaus.mojo.license;
017
018 import org.apache.maven.model.License;
019 import org.codehaus.mojo.license.model.ProjectLicenseInfo;
020 import org.junit.Assert;
021 import org.junit.Test;
022 import org.xml.sax.SAXException;
023
024 import javax.xml.parsers.ParserConfigurationException;
025 import javax.xml.transform.TransformerException;
026 import javax.xml.transform.TransformerFactoryConfigurationError;
027 import java.io.File;
028 import java.io.FileInputStream;
029 import java.io.IOException;
030 import java.util.ArrayList;
031 import java.util.List;
032
033 /**
034 * @since 1.0
035 */
036 public class LicenseSummaryTest
037 {
038
039 /**
040 * Test reading the license summary xml file into ProjectLicenseInfo objects
041 */
042 @Test
043 public void testReadLicenseSummary()
044 throws IOException, SAXException, ParserConfigurationException
045 {
046 File licenseSummaryFile = new File( "src/test/resources/license-summary-test.xml" );
047 Assert.assertTrue( licenseSummaryFile.exists() );
048 FileInputStream fis = new FileInputStream( licenseSummaryFile );
049 List<ProjectLicenseInfo> list = LicenseSummaryReader.parseLicenseSummary( fis );
050 fis.close();
051 ProjectLicenseInfo dep = list.get( 0 );
052 Assert.assertEquals( "org.codehaus.mojo", dep.getGroupId() );
053 Assert.assertEquals( "junk", dep.getArtifactId() );
054 Assert.assertEquals( "1.1", dep.getVersion() );
055
056 }
057
058 /**
059 * Test writing license information to a license.xml file and then read this file
060 * back in to make sure it's ok.
061 */
062 @Test
063 public void testWriteReadLicenseSummary()
064 throws IOException, SAXException, ParserConfigurationException, TransformerFactoryConfigurationError,
065 TransformerException
066 {
067 List<ProjectLicenseInfo> licSummary = new ArrayList<ProjectLicenseInfo>();
068 ProjectLicenseInfo dep1 = new ProjectLicenseInfo( "org.test", "test1", "1.0" );
069 ProjectLicenseInfo dep2 = new ProjectLicenseInfo( "org.test", "test2", "2.0" );
070
071 License lic = new License();
072 lic.setName( "lgpl" );
073 lic.setUrl( "http://www.gnu.org/licenses/lgpl-3.0.txt" );
074 lic.setComments( "lgpl version 3.0" );
075 dep1.addLicense( lic );
076 dep2.addLicense( lic );
077
078 licSummary.add( dep1 );
079 licSummary.add( dep2 );
080
081 File licenseSummaryFile = File.createTempFile( "licSummary", "tmp" );
082 // File licenseSummaryFile = new File( "src/test/resources/license-summary-test-2.xml" );
083 LicenseSummaryWriter.writeLicenseSummary( licSummary, licenseSummaryFile );
084
085 Assert.assertTrue( licenseSummaryFile.exists() );
086 FileInputStream fis = new FileInputStream( licenseSummaryFile );
087 List<ProjectLicenseInfo> list = LicenseSummaryReader.parseLicenseSummary( fis );
088 fis.close();
089 ProjectLicenseInfo dep = list.get( 0 );
090 Assert.assertEquals( "org.test", dep.getGroupId() );
091 Assert.assertEquals( "test1", dep.getArtifactId() );
092 Assert.assertEquals( "1.0", dep.getVersion() );
093
094 }
095 }