diff --git a/thingifier/src/main/java/uk/co/compendiumdev/thingifier/swaggerizer/Swaggerizer.java b/thingifier/src/main/java/uk/co/compendiumdev/thingifier/swaggerizer/Swaggerizer.java index ea7a6247..b2400bd5 100644 --- a/thingifier/src/main/java/uk/co/compendiumdev/thingifier/swaggerizer/Swaggerizer.java +++ b/thingifier/src/main/java/uk/co/compendiumdev/thingifier/swaggerizer/Swaggerizer.java @@ -559,7 +559,7 @@ private void preferServer(final OpenAPI api, final String preferredServerUrl) { } if (preferredServer == null) { - preferredServer = new Server().description("current request").url(preferredUrl); + return; } reorderedServers.add(0, preferredServer); api.setServers(reorderedServers); diff --git a/thingifier/src/test/java/uk/co/compendiumdev/thingifier/swaggerizer/SwaggerizerServerPreferenceTest.java b/thingifier/src/test/java/uk/co/compendiumdev/thingifier/swaggerizer/SwaggerizerServerPreferenceTest.java index 055208ac..ebc9526b 100644 --- a/thingifier/src/test/java/uk/co/compendiumdev/thingifier/swaggerizer/SwaggerizerServerPreferenceTest.java +++ b/thingifier/src/test/java/uk/co/compendiumdev/thingifier/swaggerizer/SwaggerizerServerPreferenceTest.java @@ -30,6 +30,18 @@ void prefersConfiguredHttpsServerForSameHostWhenCurrentRequestIsHttp() { Assertions.assertFalse(json.contains("\"description\" : \"current request\"")); } + @Test + void doesNotAddCurrentRequestServerWhenCurrentRequestIsNotConfigured() { + final String json = + new Swaggerizer(apiDefn()).asJsonWithPreferredServer("http://internal:4567"); + + Assertions.assertTrue( + json.indexOf("\"url\" : \"https://apichallenges.eviltester.com\"") + < json.indexOf("\"url\" : \"http://localhost:4567\"")); + Assertions.assertFalse(json.contains("\"url\" : \"http://internal:4567\"")); + Assertions.assertFalse(json.contains("\"description\" : \"current request\"")); + } + private ThingifierApiDocumentationDefn apiDefn() { final ThingifierApiDocumentationDefn apiDefn = new ThingifierApiDocumentationDefn(); apiDefn.addServer("https://apichallenges.eviltester.com", "cloud hosted version");