Skip to content

Commit 88f2f0f

Browse files
committed
openapi-processor/openapi-processor-spring#198, improve expected/generated test file filter
1 parent e9a41ff commit 88f2f0f

File tree

2 files changed

+36
-8
lines changed

2 files changed

+36
-8
lines changed

openapi-processor-test/src/main/groovy/io/openapiprocessor/test/FileSupport.groovy

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,13 @@ class FileSupport {
241241
* @return true if there is a difference
242242
*/
243243
boolean printUnifiedDiff (String expected, Path generated) {
244-
def expectedLines = getResource (expected).readLines ()
244+
def expectedStream = getResource (expected)
245+
if (expectedStream == null) {
246+
log.error ("failed to find {}", expected)
247+
return true
248+
}
249+
250+
def expectedLines = expectedStream.readLines ()
245251

246252
def patch = DiffUtils.diff (
247253
expectedLines,

openapi-processor-test/src/main/groovy/io/openapiprocessor/test/TestSetRunner.groovy

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020 https://github.com/openapi-processor/openapi-processor-test
2+
* Copyright 2020 https://github.com/openapi-processor/openapi-processor-base
33
* PDX-License-Identifier: Apache-2.0
44
*/
55

@@ -82,10 +82,13 @@ class TestSetRunner {
8282
def expectedFiles = files.getExpectedFiles (sourcePath, testSet.expected)
8383
def generatedFiles = files.getGeneratedFiles (generatedPath)
8484

85-
// even if not expected, check that the annotation was generated
86-
def expectedFilesPlus = expectedFiles + ["support/Generated.java"]
85+
generatedFiles = filterUnexpectedFiles(expectedFiles, generatedFiles, [
86+
"support/Generated.java",
87+
"validation/Values.java",
88+
"validation/ValueValidator.java"
89+
] as Set<String>)
8790

88-
def expectedFileNames = resolveFileNames(expectedFilesPlus, PATH_GENERATED)
91+
def expectedFileNames = resolveFileNames(expectedFiles, PATH_GENERATED)
8992
assert expectedFileNames == generatedFiles
9093

9194
// compare expected files with the generated files
@@ -149,10 +152,13 @@ class TestSetRunner {
149152
def expectedFiles = files.getExpectedFiles (path, testSet.expected)
150153
def generatedFiles = files.getGeneratedFiles (generatedPath)
151154

152-
// even if not expected, check that the annotation was generated
153-
def expectedFilesPlus = expectedFiles + ["support/Generated.java"]
155+
generatedFiles = filterUnexpectedFiles(expectedFiles, generatedFiles, [
156+
"support/Generated.java",
157+
"validation/Values.java",
158+
"validation/ValueValidator.java"
159+
] as Set<String>)
154160

155-
def expectedFileNames = resolveFileNames(expectedFilesPlus, PATH_GENERATED)
161+
def expectedFileNames = resolveFileNames(expectedFiles, PATH_GENERATED)
156162
assert expectedFileNames == generatedFiles
157163

158164
def success = true
@@ -166,6 +172,22 @@ class TestSetRunner {
166172
success
167173
}
168174

175+
private static Set<String> filterUnexpectedFiles(
176+
Set<String> expectedFiles,
177+
Set<String> generatedFiles,
178+
Set<String> unexpectedFiles
179+
) {
180+
def generated = new TreeSet<String>()
181+
generatedFiles.each {
182+
if (!expectedFiles.contains(it) && unexpectedFiles.contains(it)) {
183+
return
184+
}
185+
186+
generated.add(it)
187+
}
188+
return generated as SortedSet<String>
189+
}
190+
169191
private String setMappingModelType(String source) {
170192
def mapping = getMapping(source)
171193
mapping['options']['model-type'] = testSet.modelType

0 commit comments

Comments
 (0)