From e6573c5a0fcdba8a7b1504558d676a49f892ce19 Mon Sep 17 00:00:00 2001 From: gracekarina Date: Sun, 22 Apr 2018 17:28:20 -0500 Subject: [PATCH] adding changes refs #682 --- .../io/swagger/v3/parser/OpenAPIV3Parser.java | 19 +++- .../v3/parser/test/FileReferenceTest.java | 30 +++--- .../v3/parser/test/OpenAPIResolverTest.java | 12 +-- .../v3/parser/test/OpenAPIV3ParserTest.java | 92 +++++++++---------- 4 files changed, 83 insertions(+), 70 deletions(-) diff --git a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/OpenAPIV3Parser.java b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/OpenAPIV3Parser.java index 0e5f57d7eb..529255656c 100644 --- a/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/OpenAPIV3Parser.java +++ b/modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/OpenAPIV3Parser.java @@ -44,11 +44,13 @@ public SwaggerParseResult readLocation(String url, List auth } result = readWithInfo(url,auth); + + if (result.getOpenAPI() != null) { String version = result.getOpenAPI().getOpenapi(); if (version != null && version.startsWith("3.0")) { if (options != null) { - OpenAPIResolver resolver = new OpenAPIResolver(result.getOpenAPI(), auth, url); + OpenAPIResolver resolver = new OpenAPIResolver(result.getOpenAPI(), auth, processLocation(url)); if (options.isResolve()) { result.setOpenAPI(resolver.resolve()); } @@ -113,6 +115,21 @@ private ObjectMapper getRightMapper(String data) { } return mapper; } + + public String processLocation(String location){ + try { + if (location.toLowerCase().startsWith("http")) { + return location; + } + return getClass().getClassLoader().getResource(location).toString(); + + + } + catch (Exception e) { + LOGGER.warn("Exception while reading:", e); + return "unable to read location `" + location + "`" ; + } + } public SwaggerParseResult readWithInfo(String location, List auths) { String data; diff --git a/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/FileReferenceTest.java b/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/FileReferenceTest.java index cb6d3af951..4d7effdb43 100644 --- a/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/FileReferenceTest.java +++ b/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/FileReferenceTest.java @@ -23,7 +23,7 @@ public class FileReferenceTest { public void testIssue306() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-306.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-306.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -42,7 +42,7 @@ public void testIssue306() { public void testIssue308() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-308.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-308.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -55,7 +55,7 @@ public void testIssue308() { public void testIssue310() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-310.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-310.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -68,7 +68,7 @@ public void testIssue310() { public void testIssue312() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-312.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-312.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -86,7 +86,7 @@ public void testIssue312() { public void testIssue314() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-314.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-314.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -106,7 +106,7 @@ public void testIssue314() { public void testIssue316() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-316.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-316.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -130,7 +130,7 @@ public void testIssue316() { public void testIssue323() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-323.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-323.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -145,7 +145,7 @@ public void testIssue323() { public void testIssue289() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/issue-289.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("issue-289.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -156,7 +156,7 @@ public void testIssue289() { public void testIssue336() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-336.json", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-336.json", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -167,7 +167,7 @@ public void testIssue336() { public void testIssue340() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-340.json", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-340.json", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -178,14 +178,14 @@ public void testIssue340() { public void testIssue304() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-304.json", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-304.json", null, options); assertNotNull(result.getOpenAPI().getComponents().getSchemas()); } @Test public void testAllOfFlatAndNested() { - for (String path : Arrays.asList("./src/test/resources/allOf-properties-ext-ref/models/swagger.json", - "./src/test/resources/allOf-properties-ext-ref/swagger.json")) { + for (String path : Arrays.asList("allOf-properties-ext-ref/models/swagger.json", + "allOf-properties-ext-ref/swagger.json")) { //ParseOptions options = new ParseOptions(); //options.setResolve(true); OpenAPI swagger = new OpenAPIV3Parser().read(path); @@ -203,7 +203,7 @@ public void testAllOfFlatAndNested() { public void testIssue421() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/nested-file-references/issue-421.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("nested-file-references/issue-421.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); @@ -238,7 +238,7 @@ public void testIssue421() { public void testRelativeRefIssue421() { ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/resources/main.yaml", null, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("main.yaml", null, options); assertNotNull(result.getOpenAPI()); OpenAPI swagger = result.getOpenAPI(); diff --git a/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIResolverTest.java b/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIResolverTest.java index dd3d18684e..780a7266c8 100644 --- a/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIResolverTest.java +++ b/modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIResolverTest.java @@ -590,7 +590,7 @@ public void resolveAllOfWithoutAggregatingParameters(@Injectable final List aut ParseOptions options = new ParseOptions(); options.setResolveCombinators(false); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().readLocation("src/test/resources/oneof-anyof.yaml",auths,options).getOpenAPI(); + OpenAPI openAPI = new OpenAPIV3Parser().readLocation("oneof-anyof.yaml",auths,options).getOpenAPI(); assertTrue(openAPI.getPaths().get("/mixed-array").getGet().getResponses().get("200").getContent().get("application/json").getSchema() instanceof ArraySchema); @@ -667,7 +667,7 @@ public void referringSpecWithoutComponentsTag() throws Exception { public void testRefNameConflicts() throws Exception { ParseOptions options = new ParseOptions(); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().readLocation("/refs-name-conflict/a.yaml",null, options).getOpenAPI(); + OpenAPI openAPI = new OpenAPIV3Parser().readLocation("refs-name-conflict/a.yaml",null, options).getOpenAPI(); assertEquals("local", ((Schema) openAPI.getPaths().get("/newPerson").getPost().getResponses().get("200").getContent().get("*/*").getSchema().getProperties().get("location")).getExample()); assertEquals("referred", ((Schema)openAPI.getPaths().get("/oldPerson").getPost().getResponses().get("200").getContent().get("*/*").getSchema().getProperties().get("location")).getExample()); @@ -710,7 +710,7 @@ public void testComposedSchemaAdjacent(@Injectable final List auths) throws Exception{ - String pathFile = FileUtils.readFileToString(new File("src/test/resources/oas3.yaml.template")); + String pathFile = FileUtils.readFileToString(new File("src/test/resources/oas3.yaml.template")); pathFile = pathFile.replace("${dynamicPort}", String.valueOf(this.serverPort)); ParseOptions options = new ParseOptions(); options.setResolve(true); @@ -339,7 +334,7 @@ public void testInlineModelResolverByUrl(){ @Test public void testRefAdditionalProperties() throws Exception { - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/relative/additionalProperties.yaml"); + OpenAPI openAPI = new OpenAPIV3Parser().read("relative/additionalProperties.yaml"); Assert.assertNotNull(openAPI); Assert.assertTrue(openAPI.getComponents().getSchemas().size() == 3); @@ -353,7 +348,7 @@ public void testRefAndInlineAllOf(@Injectable final List aut ParseOptions options = new ParseOptions(); options.setResolve(true); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/allOfAndRef.yaml",auths,options); + OpenAPI openAPI = new OpenAPIV3Parser().read("allOfAndRef.yaml",auths,options); Assert.assertNotNull(openAPI); Assert.assertTrue(openAPI.getComponents().getSchemas().size() == 2); @@ -366,7 +361,7 @@ public void testRefAndInlineAllOf(@Injectable final List aut public void testComposedRefResolvingIssue628(@Injectable final List auths) throws Exception { ParseOptions options = new ParseOptions(); options.setResolve(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/composedSchemaRef.yaml", auths, options); + OpenAPI openAPI = new OpenAPIV3Parser().read("composedSchemaRef.yaml", auths, options); Assert.assertNotNull(openAPI); @@ -384,7 +379,7 @@ public void testComposedRefResolvingIssue628(@Injectable final List auths) throws Exception { ParseOptions options = new ParseOptions(); options.setResolve(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/composedSchemaRef.yaml", auths, options); + OpenAPI openAPI = new OpenAPIV3Parser().read("composedSchemaRef.yaml", auths, options); Assert.assertNotNull(openAPI); @@ -398,7 +393,7 @@ public void testComposedSchemaAdjacent(@Injectable final List definitions = openAPI.getComponents().getSchemas(); assertTrue(definitions.containsKey("x")); @@ -630,7 +625,7 @@ public void testPetstore() throws Exception { OpenAPIV3Parser parser = new OpenAPIV3Parser(); ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = parser.readLocation("src/test/resources/petstore.yaml", null, options); + SwaggerParseResult result = parser.readLocation("petstore.yaml", null, options); assertNotNull(result); assertTrue(result.getMessages().isEmpty()); @@ -666,7 +661,7 @@ public void testPetstore() throws Exception { @Test public void testFileReferenceWithVendorExt() throws Exception { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/file-reference-with-vendor-ext/b.yaml"); + final OpenAPI openAPI = parser.read("file-reference-with-vendor-ext/b.yaml"); Map definitions = openAPI.getComponents().getSchemas(); assertTrue(definitions.get("z").getExtensions().get("x-foo") instanceof Map); assertEquals(((Map) definitions.get("z").getExtensions().get("x-foo")).get("bar"), "baz"); @@ -677,22 +672,23 @@ public void testFileReferenceWithVendorExt() throws Exception { @Test public void testTroublesomeFile() throws Exception { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/troublesome.yaml"); + final OpenAPI openAPI = parser.read("troublesome.yaml"); } @Test public void testLoadRelativeFileTree_Yaml() throws Exception { JsonToYamlFileDuplicator.duplicateFilesInYamlFormat("src/test/resources/relative-file-references/json", "src/test/resources/relative-file-references/yaml"); - final OpenAPI openAPI = doRelativeFileTest("src/test/resources/relative-file-references/yaml/parent.yaml"); + final OpenAPI openAPI = doRelativeFileTest("relative-file-references/yaml/parent.yaml"); assertNotNull(Yaml.mapper().writeValueAsString(openAPI)); } + @Test public void testLoadRecursiveExternalDef() throws Exception { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/file-reference-to-recursive-defs/b.yaml"); + final OpenAPI openAPI = parser.read("file-reference-to-recursive-defs/b.yaml"); Map definitions = openAPI.getComponents().getSchemas(); assertEquals((((ArraySchema) definitions.get("v").getProperties().get("children")).getItems()).get$ref(), "#/components/schemas/v"); @@ -705,7 +701,7 @@ public void testLoadNestedItemsReferences() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); ParseOptions options = new ParseOptions(); options.setResolve(true); - SwaggerParseResult result = parser.readLocation("src/test/resources/nested-items-references/b.yaml", null, options); + SwaggerParseResult result = parser.readLocation("nested-items-references/b.yaml", null, options); OpenAPI openAPI = result.getOpenAPI(); Map definitions = openAPI.getComponents().getSchemas(); assertTrue(definitions.containsKey("z")); @@ -715,7 +711,7 @@ public void testLoadNestedItemsReferences() { @Test public void testIssue75() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue99.yaml"); + final OpenAPI openAPI = parser.read("issue99.yaml"); RequestBody body = openAPI.getPaths().get("/albums").getPost().getRequestBody(); Schema model = body.getContent().get("application/json").getSchema(); @@ -738,7 +734,7 @@ public void testIssue62() { @Test public void testIssue146() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue_146.yaml"); + final OpenAPI openAPI = parser.read("issue_146.yaml"); assertNotNull(openAPI); QueryParameter p = ((QueryParameter) openAPI.getPaths().get("/checker").getGet().getParameters().get(0)); StringSchema pp = (StringSchema) ((ArraySchema)p.getSchema()).getItems(); @@ -748,7 +744,7 @@ public void testIssue146() { @Test(description = "Test (path & form) parameter's required attribute") public void testParameterRequired() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/petstore.yaml"); + final OpenAPI openAPI = parser.read("petstore.yaml"); final List operationParams = openAPI.getPaths().get("/pet/{petId}").getPost().getParameters(); final PathParameter pathParameter = (PathParameter) operationParams.get(0); @@ -758,7 +754,7 @@ public void testParameterRequired() { @Test public void testIssue108() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue_108.yaml"); + final OpenAPI openAPI = parser.read("issue_108.yaml"); assertNotNull(openAPI); } @@ -848,7 +844,7 @@ public void testIssue286() { @Test public void testIssue360() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue_360.yaml"); + final OpenAPI openAPI = parser.read("issue_360.yaml"); assertNotNull(openAPI); RequestBody body = openAPI.getPaths().get("/pets").getPost().getRequestBody(); @@ -987,7 +983,7 @@ private void assertParamDetails(List parameters, int index, Class @Test public void testNestedReferences() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/relative-file-references/json/parent.json"); + final OpenAPI openAPI = parser.read("relative-file-references/json/parent.json"); assertTrue(openAPI.getComponents().getSchemas().containsKey("externalArray")); assertTrue(openAPI.getComponents().getSchemas().containsKey("referencedByLocalArray")); assertTrue(openAPI.getComponents().getSchemas().containsKey("externalObject")); @@ -998,7 +994,7 @@ public void testNestedReferences() { @Test public void testCodegenPetstore() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/petstore-codegen.yaml"); + final OpenAPI openAPI = parser.read("petstore-codegen.yaml"); Schema enumModel = openAPI.getComponents().getSchemas().get("Enum_Test"); assertNotNull(enumModel); Schema enumProperty = (Schema)enumModel.getProperties().get("enum_integer"); @@ -1024,7 +1020,7 @@ public void testCodegenPetstore() { @Test public void testIssue339() throws Exception { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue-339.yaml"); + final OpenAPI openAPI = parser.read("issue-339.yaml"); Parameter param = openAPI.getPaths().get("/store/order/{orderId}").getGet().getParameters().get(0); assertTrue(param instanceof PathParameter); @@ -1142,7 +1138,7 @@ public void testIssue393() { @Test public void testBadFormat() throws Exception { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/bad_format.yaml"); + final OpenAPI openAPI = parser.read("bad_format.yaml"); PathItem path = openAPI.getPaths().get("/pets"); @@ -1181,7 +1177,7 @@ public void testBadFormat() throws Exception { @Test public void testIssue357() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue_357.yaml"); + final OpenAPI openAPI = parser.read("issue_357.yaml"); assertNotNull(openAPI); List getParams = openAPI.getPaths().get("/testApi").getGet().getParameters(); assertEquals(2, getParams.size()); @@ -1204,7 +1200,7 @@ public void testIssue357() { @Test public void testIssue358() { OpenAPIV3Parser parser = new OpenAPIV3Parser(); - final OpenAPI openAPI = parser.read("src/test/resources/issue_358.yaml"); + final OpenAPI openAPI = parser.read("issue_358.yaml"); assertNotNull(openAPI); List parms = openAPI.getPaths().get("/testApi").getGet().getParameters(); assertEquals(1, parms.size()); @@ -1349,7 +1345,7 @@ public void testIssue450() { @Test public void testIssue480() { - final OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/issue-480.yaml"); + final OpenAPI openAPI = new OpenAPIV3Parser().read("issue-480.yaml"); for (String key : openAPI.getComponents().getSecuritySchemes().keySet()) { SecurityScheme definition = openAPI.getComponents().getSecuritySchemes().get(key); @@ -1367,20 +1363,20 @@ public void testIssue480() { @Test public void checkAllOfAreTaken() { - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/allOf-example/allOf.yaml"); + OpenAPI openAPI = new OpenAPIV3Parser().read("allOf-example/allOf.yaml"); assertEquals(2, openAPI.getComponents().getSchemas().size()); } @Test(description = "Issue #616 Relative references inside of 'allOf'") public void checkAllOfWithRelativeReferencesAreFound() { - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/allOf-relative-file-references/parent.yaml"); + OpenAPI openAPI = new OpenAPIV3Parser().read("allOf-relative-file-references/parent.yaml"); assertEquals(4, openAPI.getComponents().getSchemas().size()); } @Test(description = "Issue #616 Relative references inside of 'allOf'") public void checkAllOfWithRelativeReferencesIssue604() { - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/resources/allOf-relative-file-references/swagger.yaml"); + OpenAPI openAPI = new OpenAPIV3Parser().read("allOf-relative-file-references/swagger.yaml"); assertEquals(2, openAPI.getComponents().getSchemas().size()); } @@ -1389,7 +1385,7 @@ public void readingSpecStringShouldNotOverQuotingStringExample() throws Exceptio OpenAPIV3Parser parser = new OpenAPIV3Parser(); ParseOptions options = new ParseOptions(); options.setResolve(false); - final OpenAPI openAPI = parser.read("src/test/resources/over-quoted-example.yaml", null, options); + final OpenAPI openAPI = parser.read("over-quoted-example.yaml", null, options); Map definitions = openAPI.getComponents().getSchemas(); assertEquals("NoQuotePlease", definitions.get("CustomerType").getExample());