Author: joakime
Date: Wed Feb 14 11:13:36 2007
New Revision: 507658
URL: http://svn.apache.org/viewvc?view=rev&rev=507658
Log:
Fixing test failures since merge and changes in archiva-reports-standard
Added:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
(with props)
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
(with props)
Modified:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/resources/org/apache/maven/archiva/converter/RepositoryConverterTest.xml
Modified:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java?view=diff&rev=507658&r1=507657&r2=507658
==============================================================================
---
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java
(original)
+++
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/main/java/org/apache/maven/archiva/converter/DefaultRepositoryConverter.java
Wed Feb 14 11:13:36 2007
@@ -381,13 +381,13 @@
private void addWarning( Artifact artifact, String message )
{
// TODO: should we be able to identify/fix these?
- reportingDatabase.getArtifactDatabase().addWarning( artifact, null,
null, message );
+ reportingDatabase.getArtifactDatabase().addWarning( artifact,
"repo-convertor", "-", message );
}
private void addFailureWithReason( Artifact artifact, String reason )
{
// TODO: should we be able to identify/fix these?
- reportingDatabase.getArtifactDatabase().addFailure( artifact, null,
null, reason );
+ reportingDatabase.getArtifactDatabase().addFailure( artifact,
"repo-convertor", "-", reason );
}
private boolean copyPom( Artifact artifact, ArtifactRepository
targetRepository, FileTransaction transaction )
Added:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java?view=auto&rev=507658
==============================================================================
---
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
(added)
+++
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
Wed Feb 14 11:13:36 2007
@@ -0,0 +1,44 @@
+package org.apache.maven.archiva.converter;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * AllTests
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for
org.apache.maven.archiva.converter" );
+ //$JUnit-BEGIN$
+ suite.addTest(
org.apache.maven.archiva.converter.transaction.AllTests.suite() );
+ suite.addTestSuite( RepositoryConverterTest.class );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
Propchange:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/AllTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java?view=diff&rev=507658&r1=507657&r2=507658
==============================================================================
---
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java
(original)
+++
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/RepositoryConverterTest.java
Wed Feb 14 11:13:36 2007
@@ -20,8 +20,12 @@
*/
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
import org.apache.maven.archiva.reporting.database.ReportingDatabase;
import org.apache.maven.archiva.reporting.model.ArtifactResults;
+import org.apache.maven.archiva.reporting.model.MetadataResults;
import org.apache.maven.archiva.reporting.model.Result;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -77,6 +81,8 @@
ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory)
lookup( ArtifactRepositoryFactory.ROLE );
ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) lookup(
ArtifactRepositoryLayout.ROLE, "legacy" );
+
+ reportingDatabase = (ReportingDatabase) lookup( ReportingDatabase.ROLE
);
File sourceBase = getTestFile( "src/test/source-repository" );
sourceRepository =
@@ -96,6 +102,57 @@
i18n = (I18N) lookup( I18N.ROLE );
}
+
+
+ protected void tearDown()
+ throws Exception
+ {
+ if ( reportingDatabase != null )
+ {
+ ArtifactResultsDatabase artifactDatabase =
reportingDatabase.getArtifactDatabase();
+
+ if ( artifactDatabase != null )
+ {
+ // Clean out any entries between runs.
+ for ( Iterator it = artifactDatabase.getIterator();
it.hasNext(); )
+ {
+ ArtifactResults result = (ArtifactResults) it.next();
+ try
+ {
+ artifactDatabase.remove( result );
+ }
+ catch ( Exception e )
+ {
+ // ignore
+ }
+ }
+ }
+
+ MetadataResultsDatabase metadataDatabase =
reportingDatabase.getMetadataDatabase();
+
+ if ( metadataDatabase != null )
+ {
+ // Clean out any entries between runs.
+ for ( Iterator it = metadataDatabase.getIterator();
it.hasNext(); )
+ {
+ MetadataResults result = (MetadataResults) it.next();
+ try
+ {
+ metadataDatabase.remove( result );
+ }
+ catch ( Exception e )
+ {
+ // ignore
+ }
+ }
+ }
+
+ // Free it from plexus too!
+ release( reportingDatabase );
+ }
+
+ super.tearDown();
+ }
private void copyDirectoryStructure( File sourceDirectory, File
destinationDirectory )
throws IOException
@@ -317,7 +374,7 @@
snapshotMetadataFile.delete();
repositoryConverter.convert( artifact, targetRepository );
- checkSuccess();
+ checkCounts( 0, 0, 0 );
File artifactFile = new File( targetRepository.getBasedir(),
targetRepository.pathOf( artifact ) );
assertTrue( "Check artifact created", artifactFile.exists() );
@@ -360,7 +417,7 @@
snapshotMetadataFile.delete();
repositoryConverter.convert( artifact, targetRepository );
- checkSuccess();
+ checkCounts( 0, 0, 0 );
File artifactFile = new File( targetRepository.getBasedir(),
targetRepository.pathOf( artifact ) );
assertTrue( "Check artifact created", artifactFile.exists() );
@@ -447,7 +504,7 @@
snapshotMetadataFile.delete();
repositoryConverter.convert( artifact, targetRepository );
- checkSuccess();
+ checkCounts( 0, 0, 0 );
File artifactFile = new File( targetRepository.getBasedir(),
targetRepository.pathOf( artifact ) );
assertTrue( "Check artifact created", artifactFile.exists() );
@@ -480,10 +537,8 @@
Artifact artifact = createArtifact( "test", "noPomArtifact", "1.0.0" );
repositoryConverter.convert( artifact, targetRepository );
- assertEquals( "check no errors", 0, reportingDatabase.getNumFailures()
);
- assertEquals( "check warnings", 1, reportingDatabase.getNumWarnings()
);
+ checkCounts( 0, 1, 0 );
assertEquals( "check warning message", getI18nString(
"warning.missing.pom" ), getWarning().getReason() );
- assertEquals( "check no notices", 0, reportingDatabase.getNumNotices()
);
File artifactFile = new File( targetRepository.getBasedir(),
targetRepository.pathOf( artifact ) );
assertTrue( "Check artifact created", artifactFile.exists() );
@@ -507,7 +562,7 @@
file.delete();
repositoryConverter.convert( artifact, targetRepository );
- checkFailure();
+ checkCounts( 1, 0, 0 );
assertEquals( "check failure message", getI18nString(
"failure.incorrect.md5" ), getFailure().getReason() );
assertFalse( "Check artifact not created", file.exists() );
@@ -528,8 +583,8 @@
file.delete();
repositoryConverter.convert( artifact, targetRepository );
- checkFailure();
- assertEquals( "check failure message", getI18nString(
"failure.incorrect.sha1" ), getFailure().getReason() );
+ checkCounts( 1, 0, 0 );
+ assertHasFailureReason( getI18nString( "failure.incorrect.sha1" ) );
assertFalse( "Check artifact not created", file.exists() );
@@ -565,7 +620,7 @@
Thread.sleep( SLEEP_MILLIS );
repositoryConverter.convert( artifact, targetRepository );
- checkSuccess();
+ checkCounts( 0, 0, 0 );
compareFiles( sourceFile, targetFile );
compareFiles( sourcePomFile, targetPomFile );
@@ -601,9 +656,9 @@
Thread.sleep( SLEEP_MILLIS );
repositoryConverter.convert( artifact, targetRepository );
- checkFailure();
- assertEquals( "Check failure message", getI18nString(
"failure.target.already.exists" ),
- getFailure().getReason() );
+ checkCounts( 1, 0, 0 );
+
+ assertHasFailureReason( getI18nString( "failure.target.already.exists"
) );
assertEquals( "Check unmodified", origTime, targetFile.lastModified()
);
assertEquals( "Check unmodified", origPomTime,
targetPomFile.lastModified() );
@@ -638,7 +693,7 @@
sourcePomFile.setLastModified( dateFormat.parse( "2006-02-02"
).getTime() );
repositoryConverter.convert( artifact, targetRepository );
- checkSuccess();
+ checkCounts( 0, 0, 0 );
compareFiles( sourceFile, targetFile );
compareFiles( sourcePomFile, targetPomFile );
@@ -668,7 +723,7 @@
File targetPomFile = new File( targetRepository.getBasedir(),
targetRepository.pathOf( pomArtifact ) );
repositoryConverter.convert( artifact, targetRepository );
- checkSuccess();
+ checkCounts( 0, 0, 0 );
assertTrue( "Check source file exists", sourceFile.exists() );
assertTrue( "Check source POM exists", sourcePomFile.exists() );
@@ -741,7 +796,7 @@
File artifactFile = new File( targetRepository.getBasedir(),
targetRepository.pathOf( artifact ) );
repositoryConverter.convert( artifact, targetRepository );
- checkFailure();
+ checkCounts( 1, 0, 0 );
String pattern = "^" + getI18nString( "failure.invalid.source.pom"
).replaceFirst( "\\{0\\}", ".*" ) + "$";
assertTrue( "Check failure message", getFailure().getReason().matches(
pattern ) );
@@ -930,24 +985,60 @@
{
return path.trim().replaceAll( "\r\n", "\n" ).replace( '\r', '\n'
).replaceAll( "<\\?xml .+\\?>", "" );
}
-
+
private void checkSuccess()
{
- assertEquals( "check no errors", 0, reportingDatabase.getNumFailures()
);
- assertEquals( "check no warnings", 0,
reportingDatabase.getNumWarnings() );
- assertEquals( "check no notices", 0, reportingDatabase.getNumNotices()
);
+ checkCounts(0, 0, 0);
}
private void checkFailure()
{
- assertEquals( "check num errors", 1,
reportingDatabase.getNumFailures() );
- assertEquals( "check no warnings", 0,
reportingDatabase.getNumWarnings() );
- assertEquals( "check no notices", 0, reportingDatabase.getNumNotices()
);
+ checkCounts(1, 0, 0);
+ }
+
+ private void checkCounts( int failures, int warnings, int notices )
+ {
+ int actualFailures = reportingDatabase.getNumFailures();
+ int actualWarnings = reportingDatabase.getNumWarnings();
+ int actualNotices = reportingDatabase.getNumNotices();
+
+ if ( ( failures != actualFailures ) || ( warnings != actualWarnings )
|| ( notices != actualNotices ) )
+ {
+ fail( "Check Results Counts expected:<" + failures + "," +
warnings + "," + notices + "> but was:<"
+ + actualFailures + "," + actualWarnings + "," + actualNotices
+ ">" );
+ }
}
private String getI18nString( String key )
{
return i18n.getString( repositoryConverter.getClass().getName(),
Locale.getDefault(), key );
+ }
+
+ private void assertHasFailureReason( String reason )
+ {
+ ArtifactResults artifact = (ArtifactResults)
reportingDatabase.getArtifactIterator().next();
+
+ // Attempt to find the reason ...
+ for ( Iterator it = artifact.getFailures().iterator(); it.hasNext(); )
+ {
+ Result result = (Result) it.next();
+ if ( StringUtils.equals( result.getReason(), reason ) )
+ {
+ return;
+ }
+ }
+
+ // Didn't find it! whoops ...
+ System.err.println( "ArtifactResults : " + artifact.getGroupId() + ":"
+ artifact.getArtifactId() + ":"
+ + artifact.getVersion() + ":" + artifact.getType() + ":" +
artifact.getClassifier() );
+ for ( Iterator it = artifact.getFailures().iterator(); it.hasNext(); )
+ {
+ Result result = (Result) it.next();
+ System.err.println( " Failure: " + result.getProcessor() + ":" +
result.getProblem() + ":"
+ + result.getReason() );
+ }
+
+ fail( "Unable to find failure reason <" + reason + "> in artifact <" +
artifact + ">" );
}
private Result getFailure()
Added:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java?view=auto&rev=507658
==============================================================================
---
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
(added)
+++
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
Wed Feb 14 11:13:36 2007
@@ -0,0 +1,44 @@
+package org.apache.maven.archiva.converter.transaction;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * AllTests
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class AllTests
+{
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite( "Test for
org.apache.maven.archiva.converter.transaction" );
+ //$JUnit-BEGIN$
+ suite.addTestSuite( CreateFileEventTest.class );
+ suite.addTestSuite( CopyFileEventTest.class );
+ //$JUnit-END$
+ return suite;
+ }
+
+}
Propchange:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/java/org/apache/maven/archiva/converter/transaction/AllTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/resources/org/apache/maven/archiva/converter/RepositoryConverterTest.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/resources/org/apache/maven/archiva/converter/RepositoryConverterTest.xml?view=diff&rev=507658&r1=507657&r2=507658
==============================================================================
---
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/resources/org/apache/maven/archiva/converter/RepositoryConverterTest.xml
(original)
+++
maven/archiva/branches/archiva-MRM-239/archiva-converter/src/test/resources/org/apache/maven/archiva/converter/RepositoryConverterTest.xml
Wed Feb 14 11:13:36 2007
@@ -16,10 +16,11 @@
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
- -->
+-->
<component-set>
<components>
+
<component>
<role>org.apache.maven.archiva.converter.RepositoryConverter</role>
<implementation>org.apache.maven.archiva.converter.DefaultRepositoryConverter</implementation>
@@ -37,8 +38,8 @@
<field-name>artifactFactory</field-name>
</requirement>
<requirement>
- <role>org.apache.maven.model.converter.ArtifactPomRewriter</role>
- <field-name>rewriter</field-name>
+
<role>org.apache.maven.archiva.reporting.database.ReportingDatabase</role>
+ <field-name>reportingDatabase</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.i18n.I18N</role>
@@ -63,14 +64,70 @@
<field-name>artifactFactory</field-name>
</requirement>
<requirement>
- <role>org.apache.maven.model.converter.ArtifactPomRewriter</role>
- <field-name>rewriter</field-name>
+
<role>org.apache.maven.archiva.reporting.database.ReportingDatabase</role>
+ <field-name>reportingDatabase</field-name>
</requirement>
<requirement>
<role>org.codehaus.plexus.i18n.I18N</role>
<field-name>i18n</field-name>
</requirement>
</requirements>
+ </component>
+
+
+ <component>
+ <role>org.codehaus.plexus.jdo.JdoFactory</role>
+ <role-hint>archiva</role-hint>
+
<implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
+
+ <configuration>
+ <!-- Database Configuration -->
+ <driverName>org.hsqldb.jdbcDriver</driverName>
+ <url>jdbc:hsqldb:mem:TESTDB</url>
+ <userName>sa</userName>
+ <password></password>
+
+ <!-- JPOX and JDO configuration -->
+
<persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
+ <otherProperties>
+ <property>
+ <name>javax.jdo.PersistenceManagerFactoryClass</name>
+ <value>org.jpox.PersistenceManagerFactoryImpl</value>
+ </property>
+ <property>
+ <name>org.jpox.autoCreateSchema</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jpox.validateTables</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateConstraints</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.validateColumns</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jpox.autoStartMechanism</name>
+ <value>None</value>
+ </property>
+ <property>
+ <name>org.jpox.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.poid.transactionIsolation</name>
+ <value>READ_UNCOMMITTED</value>
+ </property>
+ <property>
+ <name>org.jpox.rdbms.dateTimezone</name>
+ <value>JDK_DEFAULT_TIMEZONE</value>
+ </property>
+ </otherProperties>
+ </configuration>
</component>
</components>
</component-set>