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 }