/
CloudConnectorArchetypeIT.java
89 lines (69 loc) · 2.93 KB
/
CloudConnectorArchetypeIT.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
* Mule Development Kit
* Copyright 2010-2011 (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
*
* 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.mule.devkit.it;
import org.apache.maven.it.VerificationException;
import org.apache.maven.it.Verifier;
import org.junit.Before;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class CloudConnectorArchetypeIT {
private static final File ROOT = new File("target/integration-tests/");
private static final String ARCHETYPE_PROPERTIES = "/cloud-connector-archetype.properties";
private Properties archetypeProperties;
private Properties verifierProperties;
@Before
public void setUp() throws VerificationException, IOException {
InputStream stream = getClass().getResourceAsStream(ARCHETYPE_PROPERTIES);
archetypeProperties = new Properties();
archetypeProperties.load(stream);
verifierProperties = new Properties();
verifierProperties.setProperty("use.mavenRepoLocal", "true");
Verifier verifier = new Verifier(ROOT.getAbsolutePath());
// deleting a former created artifact from the archetype to be tested
verifier.deleteArtifact(getGroupId(), getArtifactId(), getVersion(), null);
// delete the created maven project
verifier.deleteDirectory(getArtifactId());
}
private String getVersion() {
return archetypeProperties.getProperty("version");
}
private String getArtifactId() {
return archetypeProperties.getProperty("artifactId");
}
private String getGroupId() {
return archetypeProperties.getProperty("groupId");
}
@Test
public void testGenerateArchetype() throws VerificationException {
Verifier verifier = new Verifier(ROOT.getAbsolutePath());
verifier.setSystemProperties(archetypeProperties);
verifier.setVerifierProperties(verifierProperties);
verifier.setAutoclean(false);
verifier.setMavenDebug(false);
verifier.setDebug(false);
verifier.executeGoal("archetype:generate");
verifier.verifyErrorFreeLog();
verifier = new Verifier(ROOT.getAbsolutePath() + "/" + getArtifactId());
verifier.setAutoclean(true);
verifier.executeGoal("package");
verifier.verifyErrorFreeLog();
verifier.verifyTextInLog("generate-sources");
}
}