/**
* 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 TransformerArchetypeIT {
private static final File ROOT = new File("target/integration-tests/");
private static final String ARCHETYPE_PROPERTIES = "/transformer-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.executeGoal("archetype:generate");
verifier.verifyErrorFreeLog();
verifier = new Verifier(ROOT.getAbsolutePath() + "/" + getArtifactId());
verifier.setAutoclean(true);
verifier.executeGoal("package");
verifier.verifyErrorFreeLog();
verifier.verifyTextInLog("generate-sources");
}
}