/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed 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. */ package org.guvnor.common.services.project.backend.server.utils; import java.util.ArrayList; import java.util.List; import org.apache.maven.model.Plugin; import org.junit.Test; import static org.guvnor.common.services.project.backend.server.utils.TestUtils.*; import static org.junit.Assert.*; public class MavenPluginUpdaterTest { @Test public void testIgnorePluginsThatHaveNoGroupIdOrArtifactId() throws Exception { List<Plugin> to = new ArrayList<Plugin>(); ArrayList<org.guvnor.common.services.project.model.Plugin> from = new ArrayList<org.guvnor.common.services.project.model.Plugin>(); from.add( makeGuvnorPlugin( null, null, null ) ); from.add( makeGuvnorPlugin( null, null, "1.0" ) ); from.add( makeGuvnorPlugin( "myGroup", null, "1.0" ) ); from.add( makeGuvnorPlugin( null, "myArtifact", "1.0" ) ); to = new MavenPluginUpdater( to ).update( from ); assertTrue( to.isEmpty() ); } @Test public void testChangeVersion() throws Exception { List<Plugin> to = new ArrayList<Plugin>(); to.add( makeMavenPlugin( "myPlugin", "myArtifact", "1.0" ) ); ArrayList<org.guvnor.common.services.project.model.Plugin> from = new ArrayList<org.guvnor.common.services.project.model.Plugin>(); from.add( makeGuvnorPlugin( "myPlugin", "myArtifact", "2.0" ) ); to = new MavenPluginUpdater( to ).update( from ); assertEquals( 1, to.size() ); assertEquals( "2.0", to.get( 0 ).getVersion() ); } @Test public void testAddNew() throws Exception { List<Plugin> to = new ArrayList<Plugin>(); to.add( makeMavenPlugin( "myPlugin", "myArtifact", "1.0" ) ); ArrayList<org.guvnor.common.services.project.model.Plugin> from = new ArrayList<org.guvnor.common.services.project.model.Plugin>(); from.add( makeGuvnorPlugin( "myPlugin", "myArtifact", "1.0" ) ); from.add( makeGuvnorPlugin( "junit", "junit", "1.44" ) ); to = new MavenPluginUpdater( to ).update( from ); assertEquals( 2, to.size() ); assertEquals( "1.0", to.get( 0 ).getVersion() ); assertEquals( "1.44", to.get( 1 ).getVersion() ); } @Test public void testRemove() throws Exception { List<Plugin> to = new ArrayList<Plugin>(); to.add( makeMavenPlugin( "myPlugin", "myArtifact", "1.0" ) ); to.add( makeMavenPlugin( "junit", "junit", "1.44" ) ); ArrayList<org.guvnor.common.services.project.model.Plugin> from = new ArrayList<org.guvnor.common.services.project.model.Plugin>(); from.add( makeGuvnorPlugin( "myPlugin", "myArtifact", "1.0" ) ); to = new MavenPluginUpdater( to ).update( from ); assertEquals( 1, to.size() ); assertEquals( "1.0", to.get( 0 ).getVersion() ); } }