View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.release.plugin.mojos;
18  
19  import org.apache.maven.plugin.testing.MojoRule;
20  import org.codehaus.plexus.util.FileUtils;
21  import org.junit.Before;
22  import org.junit.Rule;
23  import org.junit.Test;
24  
25  import java.io.File;
26  
27  import static junit.framework.TestCase.assertTrue;
28  import static org.junit.Assert.assertNotNull;
29  
30  /**
31   * Unit tests for {@link CommonsSiteCompressionMojo}.
32   *
33   * @since 1.0
34   */
35  public class CommonsStagingCleanupMojoTest {
36  
37      private static final String COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH = "target/testing-commons-release-plugin";
38  
39      @Rule
40      public final MojoRule rule = new MojoRule() {
41          @Override
42          protected void before() throws Throwable {
43              // noop
44          }
45  
46          @Override
47          protected void after() {
48              // noop
49          }
50      };
51  
52      protected CommonsStagingCleanupMojo mojo;
53  
54      @Before
55      public void setUp() throws Exception {
56          final File testingDirectory = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH);
57          if (testingDirectory.exists()) {
58              FileUtils.deleteDirectory(testingDirectory);
59          }
60      }
61  
62      @Test
63      public void testCompressSiteSuccess() throws Exception {
64          final File testingDirectory = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH);
65          testingDirectory.mkdir();
66          final File testPom = new File("src/test/resources/mojos/staging-cleanup/staging-cleanup.xml");
67          assertNotNull(testPom);
68          assertTrue(testPom.exists());
69          mojo = (CommonsStagingCleanupMojo) rule.lookupMojo("clean-staging", testPom);
70          mojo.execute();
71          final File cleanupDir = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm-cleanup");
72          assertTrue(cleanupDir.exists());
73      }
74  }