1 package org.apache.maven.it; 2 3 /* 4 * Licensed to the Apache Software Foundation (ASF) under one 5 * or more contributor license agreements. See the NOTICE file 6 * distributed with this work for additional information 7 * regarding copyright ownership. The ASF licenses this file 8 * to you under the Apache License, Version 2.0 (the 9 * "License"); you may not use this file except in compliance 10 * with the License. You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, 15 * software distributed under the License is distributed on an 16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17 * KIND, either express or implied. See the License for the 18 * specific language governing permissions and limitations 19 * under the License. 20 */ 21 22 import java.io.File; 23 24 import org.apache.maven.it.Verifier; 25 import org.apache.maven.it.util.ResourceExtractor; 26 27 /** 28 * This is a test set for <a href="http://jira.codehaus.org/browse/MNG-3642">MNG-3642</a>. 29 * 30 * @todo Fill in a better description of what this test verifies! 31 * 32 * @author <a href="mailto:brianf@apache.org">Brian Fox</a> 33 * @author jdcasey 34 * 35 */ 36 public class MavenITmng3642DynamicResourcesTest 37 extends AbstractMavenIntegrationTestCase 38 { 39 public MavenITmng3642DynamicResourcesTest() 40 { 41 super( "(2.0.9,)" ); // only test in 2.0.9+ 42 } 43 44 public void testitMNG3642 () 45 throws Exception 46 { 47 // The testdir is computed from the location of this 48 // file. 49 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3642" ); 50 51 Verifier verifier; 52 53 /* 54 * We must first make sure that any artifact created 55 * by this test has been removed from the local 56 * repository. Failing to do this could cause 57 * unstable test results. Fortunately, the verifier 58 * makes it easy to do this. 59 */ 60 verifier = newVerifier( testDir.getAbsolutePath() ); 61 62 /* 63 * The Command Line Options (CLI) are passed to the 64 * verifier as a list. This is handy for things like 65 * redefining the local repository if needed. In 66 * this case, we use the -N flag so that Maven won't 67 * recurse. We are only installing the parent pom to 68 * the local repo here. 69 */ 70 verifier.executeGoal( "process-test-resources" ); 71 72 /* 73 * This is the simplest way to check a build 74 * succeeded. It is also the simplest way to create 75 * an IT test: make the build pass when the test 76 * should pass, and make the build fail when the 77 * test should fail. There are other methods 78 * supported by the verifier. They can be seen here: 79 * http://maven.apache.org/shared/maven-verifier/apidocs/index.html 80 */ 81 verifier.verifyErrorFreeLog(); 82 83 /* 84 * Reset the streams before executing the verifier 85 * again. 86 */ 87 verifier.resetStreams(); 88 89 File first = new File( testDir, "target/test-classes/one.txt" ); 90 assertTrue( "First resource file was not present: " + first, first.exists() ); 91 92 File second = new File( testDir, "target/test-classes/two.txt" ); 93 assertTrue( "Second resource file was not present: " + second, second.exists() ); 94 } 95 }