Package org.apache.maven.archiva.reporting.database

Source Code of org.apache.maven.archiva.reporting.database.ArtifactResultsDatabaseTest

package org.apache.maven.archiva.reporting.database;

/*
* 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 org.apache.maven.archiva.reporting.AbstractRepositoryReportsTestCase;
import org.apache.maven.archiva.reporting.model.ArtifactResults;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.versioning.VersionRange;

import java.util.List;

/**
* ArtifactResultsDatabaseTest
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
* @version $Id: ArtifactResultsDatabaseTest.java 511053 2007-02-23 19:05:21Z joakime $
*/
public class ArtifactResultsDatabaseTest
    extends AbstractRepositoryReportsTestCase
{
    private Artifact artifact;

    private String processor, problem, reason;

    private ArtifactResultsDatabase database;

    protected void setUp()
        throws Exception
    {
        super.setUp();

        database = (ArtifactResultsDatabase) lookup( ArtifactResultsDatabase.ROLE );

        artifact = new DefaultArtifact( "group", "artifact", VersionRange.createFromVersion( "1.0" ), "scope", "type",
                                        "classifier", null );
        processor = "processor";
        problem = "problem";
        reason = "reason";
    }

    protected void tearDown()
        throws Exception
    {
        release( database );

        super.tearDown();
    }

    public void testAddNoticeArtifactStringStringString()
    {
        database.addNotice( artifact, processor, problem, reason );
        ArtifactResults artifactResults = database.getArtifactResults( artifact );

        assertEquals( 1, database.getNumNotices() );
        assertEquals( 1, artifactResults.getNotices().size() );

        database.addNotice( artifact, processor, problem, reason );
        artifactResults = database.getArtifactResults( artifact );

        assertEquals( 1, database.getNumNotices() );
        assertEquals( 1, artifactResults.getNotices().size() );
    }

    public void testAddWarningArtifactStringStringString()
    {
        database.addWarning( artifact, processor, problem, reason );
        ArtifactResults artifactResults = database.getArtifactResults( artifact );

        assertEquals( 1, database.getNumWarnings() );
        assertEquals( 1, artifactResults.getWarnings().size() );

        database.addWarning( artifact, processor, problem, reason );
        artifactResults = database.getArtifactResults( artifact );

        assertEquals( 1, database.getNumWarnings() );
        assertEquals( 1, artifactResults.getWarnings().size() );
    }

    public void testAddFailureArtifactStringStringString()
    {
        database.addFailure( artifact, processor, problem, reason );
        ArtifactResults artifactResults = database.getArtifactResults( artifact );

        assertEquals( 1, database.getNumFailures() );
        assertEquals( 1, artifactResults.getFailures().size() );

        database.addFailure( artifact, processor, problem, reason );
        artifactResults = database.getArtifactResults( artifact );

        assertEquals( 1, database.getNumFailures() );
        assertEquals( 1, artifactResults.getFailures().size() );
    }

    public void testFindArtifactResults()
    {
        String groupId = "org.test.group";

        Artifact bar = createArtifact( "org.bar", "bar", "2.0" );
        Artifact foo = createArtifact( groupId, "foo", "1.0" );
        Artifact fooSources = createArtifactWithClassifier( groupId, "foo", "1.0", "jar", "sources" );
        Artifact fooJavadoc = createArtifactWithClassifier( groupId, "foo", "1.0", "jar", "javadoc" );

        database.addFailure( bar, processor, problem, "A reason that should not be found." );

        String testprocessor = "test-processor";
        String testproblem = "test-problem";

        database.addFailure( foo, testprocessor, testproblem, "Test Reason on main jar." );
        database.addFailure( foo, testprocessor, testproblem, "Someone mistook this for an actual reason." );
        database.addWarning( foo, testprocessor, testproblem, "Congrats you have a test reason." );

        database.addFailure( fooSources, testprocessor, testproblem, "Sources do not seem to match classes." );
        database.addWarning( fooJavadoc, testprocessor, testproblem, "Javadoc content makes no sense." );

        ArtifactResults artifactResults = database.getArtifactResults( foo );

        assertEquals( 4, database.getNumFailures() );
        assertEquals( 2, artifactResults.getFailures().size() );

        List hits = database.findArtifactResults( groupId, "foo", "1.0" );
        assertNotNull( hits );

//        for ( Iterator it = hits.iterator(); it.hasNext(); )
//        {
//            ArtifactResults result = (ArtifactResults) it.next();
//            System.out.println( " result: " + result.getGroupId() + ":" + result.getArtifactId() + ":"
//                + result.getVersion() + ":" + result.getClassifier() + ":" + result.getType() );
//
//            for ( Iterator itmsgs = result.getFailures().iterator(); itmsgs.hasNext(); )
//            {
//                Result res = (Result) itmsgs.next();
//                String msg = (String) res.getReason();
//                System.out.println( "    failure: " + msg );
//            }
//
//            for ( Iterator itmsgs = result.getWarnings().iterator(); itmsgs.hasNext(); )
//            {
//                Result res = (Result) itmsgs.next();
//                String msg = (String) res.getReason();
//                System.out.println( "    warning: " + msg );
//            }
//
//            for ( Iterator itmsgs = result.getNotices().iterator(); itmsgs.hasNext(); )
//            {
//                Result res = (Result) itmsgs.next();
//                String msg = (String) res.getReason();
//                System.out.println( "    notice: " + msg );
//            }
//        }

        assertEquals( "Should find 3 artifacts", 3, hits.size() ); // 3 artifacts
    }
}
TOP

Related Classes of org.apache.maven.archiva.reporting.database.ArtifactResultsDatabaseTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.