From d4c59421660fdd15ae8f8ff967f7478080ea8044 Mon Sep 17 00:00:00 2001 From: Maciej Zielinski Date: Wed, 4 Nov 2015 10:02:19 +0100 Subject: [PATCH] #168 fix bug when there is not subdirectories --- .../main/groovy/io/codearte/accurest/TestGenerator.groovy | 4 ++-- .../main/groovy/io/codearte/accurest/util/NamesUtil.groovy | 2 +- .../io/codearte/accurest/GeneratorScannerSpec.groovy | 7 ++++--- .../directory/with/stubs/package/exceptions/test.groovy | 0 4 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 accurest-core/src/test/resources/directory/with/stubs/package/exceptions/test.groovy diff --git a/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy b/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy index 719b5cadca..339def4b8c 100755 --- a/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy +++ b/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy @@ -76,8 +76,8 @@ class TestGenerator { private static String buildPackage(final String packageNameForClass, final String includedDirectoryRelativePath) { String directory = beforeLast(includedDirectoryRelativePath, File.separator) - return "$packageNameForClass.${directoryToPackage(directory)}" - } + return !directory.empty ? "$packageNameForClass.${directoryToPackage(directory)}" : packageNameForClass + } private static String normalizePath(String path) { return FilenameUtils.separatorsToUnix(path) diff --git a/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy b/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy index 5b19c72645..23e8c54479 100644 --- a/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy +++ b/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy @@ -9,7 +9,7 @@ class NamesUtil { if (string?.indexOf(separator) > -1) { return string.substring(0, string.lastIndexOf(separator)) } - return string + return '' } static String afterLast(String string, String separator) { diff --git a/accurest-core/src/test/groovy/io/codearte/accurest/GeneratorScannerSpec.groovy b/accurest-core/src/test/groovy/io/codearte/accurest/GeneratorScannerSpec.groovy index fb573f7a1b..f11187e3d2 100644 --- a/accurest-core/src/test/groovy/io/codearte/accurest/GeneratorScannerSpec.groovy +++ b/accurest-core/src/test/groovy/io/codearte/accurest/GeneratorScannerSpec.groovy @@ -7,7 +7,7 @@ class GeneratorScannerSpec extends Specification { private SingleTestGenerator classGenerator = Mock(SingleTestGenerator) - def "should find all .json files and generate 3 classes for them"() { + def "should find all .json files and generate 6 classes for them"() { given: File resource = new File(this.getClass().getResource("/directory/with/stubs/stubsRepositoryIndicator").toURI()) AccurestConfigProperties properties = new AccurestConfigProperties() @@ -16,7 +16,7 @@ class GeneratorScannerSpec extends Specification { when: testGenerator.generateTestClasses("com.ofg") then: - 5 * classGenerator.buildClass(_, _, _) >> "qwerty" + 6 * classGenerator.buildClass(_, _, _) >> "qwerty" } def "should filter other directory"() { @@ -30,7 +30,7 @@ class GeneratorScannerSpec extends Specification { testGenerator.generateTestClasses("com.ofg") then: 1 * classGenerator.buildClass(_, 'differentSpec', _) >> "qwerty" - 2 * classGenerator.buildClass(_, 'exceptionsSpec', _) >> "qwerty" + 3 * classGenerator.buildClass(_, 'exceptionsSpec', _) >> "qwerty" } def "should ignore file"() { @@ -55,6 +55,7 @@ class GeneratorScannerSpec extends Specification { when: testGenerator.generateTestClasses("com.ofg") then: + 1 * classGenerator.buildClass(_, 'exceptionsSpec', 'com.ofg') >> "spec" 1 * classGenerator.buildClass(_, 'exceptionsSpec', 'com.ofg.v1') >> "spec1" 1 * classGenerator.buildClass(_, 'exceptionsSpec', 'com.ofg.v2') >> "spec2" } diff --git a/accurest-core/src/test/resources/directory/with/stubs/package/exceptions/test.groovy b/accurest-core/src/test/resources/directory/with/stubs/package/exceptions/test.groovy new file mode 100644 index 0000000000..e69de29bb2