ko-archetype-test/src/test/java/org/apidesign/html/archetype/test/VerifyArchetypeTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 13 May 2013 14:25:37 +0200
changeset 1202 5f04bdbc6ee1
child 1203 eaa7c421a09e
permissions -rw-r--r--
Moving archetype tests into separate module - at that moment it is possible to use the previously generated archetype
     1 /**
     2  * HTML via Java(tm) Language Bindings
     3  * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
     4  *
     5  * This program is free software: you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation, version 2 of the License.
     8  *
     9  * This program is distributed in the hope that it will be useful,
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  * GNU General Public License for more details. apidesign.org
    13  * designates this particular file as subject to the
    14  * "Classpath" exception as provided by apidesign.org
    15  * in the License file that accompanied this code.
    16  *
    17  * You should have received a copy of the GNU General Public License
    18  * along with this program. Look for COPYING file in the top folder.
    19  * If not, see http://wiki.apidesign.org/wiki/GPLwithClassPathException
    20  */
    21 package org.apidesign.html.archetype.test;
    22 
    23 import java.io.File;
    24 import java.util.Properties;
    25 import org.apache.maven.it.Verifier;
    26 import org.testng.annotations.Test;
    27 import static org.testng.Assert.*;
    28 
    29 /**
    30  *
    31  * @author Jaroslav Tulach <jtulach@netbeans.org>
    32  */
    33 public class VerifyArchetypeTest {
    34     @Test public void fxBrwsrCompiles() throws Exception {
    35         final File dir = new File("target/tests/fxcompile/").getAbsoluteFile();
    36         generateFromArchetype(dir);
    37         
    38         File created = new File(dir, "o-a-test");
    39         assertTrue(created.isDirectory(), "Project created");
    40         assertTrue(new File(created, "pom.xml").isFile(), "Pom file is in there");
    41         
    42         Verifier v = new Verifier(created.getAbsolutePath());
    43         v.executeGoal("verify");
    44         
    45         v.verifyErrorFreeLog();
    46     }
    47 
    48     private Verifier generateFromArchetype(final File dir) throws Exception {
    49         Verifier v = new Verifier(dir.getAbsolutePath());
    50         v.setAutoclean(false);
    51         v.deleteDirectory("");
    52         dir.mkdirs();
    53         Properties sysProp = v.getSystemProperties();
    54         sysProp.put("groupId", "org.apidesign.test");
    55         sysProp.put("artifactId", "o-a-test");
    56         sysProp.put("package", "org.apidesign.test.oat");
    57         sysProp.put("archetypeGroupId", "org.apidesign.html");
    58         sysProp.put("archetypeArtifactId", "knockout4j-archetype");
    59         sysProp.put("archetypeVersion", ArchetypeVersionTest.findCurrentVersion());
    60         v.executeGoal("archetype:generate");
    61         v.verifyErrorFreeLog();
    62         return v;
    63     }
    64 }