Repository: zest-java Updated Branches: refs/heads/develop 09facf1aa -> 0accd2cf6
http://git-wip-us.apache.org/repos/asf/zest-java/blob/0accd2cf/tools/shell/src/test/java/org/apache/zest/tools/shell/create/project/RestappProjectCreatorTest.java ---------------------------------------------------------------------- diff --git a/tools/shell/src/test/java/org/apache/zest/tools/shell/create/project/RestappProjectCreatorTest.java b/tools/shell/src/test/java/org/apache/zest/tools/shell/create/project/RestappProjectCreatorTest.java new file mode 100644 index 0000000..4cf8431 --- /dev/null +++ b/tools/shell/src/test/java/org/apache/zest/tools/shell/create/project/RestappProjectCreatorTest.java @@ -0,0 +1,119 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.apache.zest.tools.shell.create.project; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; +import org.apache.zest.tools.shell.FileUtils; +import org.apache.zest.tools.shell.TestHelper; +import org.junit.Test; + +import static org.apache.zest.tools.shell.FileUtils.removeDir; +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertThat; + +public class RestAppProjectCreatorTest +{ + private RestAppProjectCreator underTest = new RestAppProjectCreator(); + + @Test + public void givenCorrectInputWhenCreatedProjectExpectCompleteProjectCreated() + throws Exception + { + + TestHelper.zetZestZome(); + File projectDir = new File( "ZestTest" ); + if( projectDir.exists() ) + { + removeDir( projectDir ); + } + Map<String, String> properties = new HashMap<>(); + properties.put( "zest.home", System.getProperty( "zest.home" ) ); + properties.put( "root.package", "org.apache.zest.test" ); + properties.put( "project.dir", "ZestTest" ); + properties.put( "project.name", "ZestTest" ); + properties.put( "template.dir", "etc/templates/restapp/files" ); + underTest.create( "ZestTest", projectDir, properties ); + + assertThat( projectDir.exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/build.gradle" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/src" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/src/main/resources" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/src/main/java/org/apache/zest/test/app/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/src/main/java/org/apache/zest/test/app/ZestTest.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/src/main/webapp/WEB-INF/web.xml" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "app/src/test/java/org/apache/zest/test/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/config/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/config/ConfigModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/config/ConfigurationLayer.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/connectivity/ConnectivityLayer.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/connectivity/RestModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/connectivity/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/domain/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/domain/CrudModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/domain/DomainLayer.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/domain/OrderModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/domain/SecurityModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/infrastructure/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/infrastructure/FileConfigurationModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/infrastructure/IndexingModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/infrastructure/InfrastructureLayer.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/infrastructure/SerializationModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/infrastructure/StorageModule.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/java/org/apache/zest/test/bootstrap/ZestTestApplicationAssembler.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main/resources" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/test/java/org/apache/zest/test/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/build.gradle" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/main" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "bootstrap/src/test/java/org/apache/zest/test/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/build.gradle" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/resources" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/orders/Customer.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/orders/Order.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/orders/OrderItem.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/orders/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/security/HardcodedSecurityRepositoryMixin.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/security/SecurityRepository.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/main/java/org/apache/zest/test/model/security/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "model/src/test/java/org/apache/zest/test/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/build.gradle" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/src" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/src/main/resources" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/src/main/java/org/apache/zest/test/rest/security/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/src/main/java/org/apache/zest/test/rest/security/SimpleEnroler.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/src/main/java/org/apache/zest/test/rest/security/SimpleVerifier.java" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "rest/src/test/java/org/apache/zest/test/package.html" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "gradle/wrapper/gradle-wrapper.jar" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "gradle/wrapper/gradle-wrapper.properties" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "gradlew" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "gradlew.bat" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "build.gradle" ).exists(), equalTo( true ) ); + assertThat( new File( projectDir, "settings.gradle" ).exists(), equalTo( true ) ); + if( FileUtils.removeDir( projectDir ) ) + { + System.err.println( "Unable to remove file. Why???" ); + } + assertThat( projectDir.exists(), equalTo( false ) ); + } +}
