|
| 1 | +package io.swagger.v3.generator.online; |
| 2 | + |
| 3 | +import com.fasterxml.jackson.databind.JsonNode; |
| 4 | +import io.swagger.codegen.v3.service.GenerationRequest; |
| 5 | +import io.swagger.codegen.v3.service.Options; |
| 6 | +import io.swagger.oas.inflector.models.RequestContext; |
| 7 | +import io.swagger.oas.inflector.models.ResponseContext; |
| 8 | +import io.swagger.v3.core.util.Json; |
| 9 | +import org.apache.commons.io.FileUtils; |
| 10 | +import org.testng.Assert; |
| 11 | +import org.testng.annotations.Test; |
| 12 | + |
| 13 | +import javax.ws.rs.core.MediaType; |
| 14 | +import java.io.File; |
| 15 | +import java.util.LinkedHashMap; |
| 16 | +import java.util.Map; |
| 17 | + |
| 18 | +public class GeneratorControllerTest { |
| 19 | + @Test |
| 20 | + public void generateJava() throws Exception { |
| 21 | + String json = FileUtils.readFileToString(new File("src/test/resources/petstore-oas3.json")); |
| 22 | + JsonNode node = Json.mapper().readTree(json); |
| 23 | + Map<String, Object> spec = Json.mapper().convertValue(node, LinkedHashMap.class); |
| 24 | + |
| 25 | + |
| 26 | + GenerationRequest generationRequest = new GenerationRequest() |
| 27 | + .spec(spec) |
| 28 | + .lang("java") |
| 29 | + .options(new Options() |
| 30 | + .outputDir("testout") |
| 31 | + .addAdditionalProperty("outputFolder", "testoutputFolder") |
| 32 | + .addAdditionalProperty("useRuntimeException", true) |
| 33 | + .addAdditionalProperty("useRxJava", true)); |
| 34 | + |
| 35 | + GeneratorController g = new GeneratorController(); |
| 36 | + RequestContext r = new RequestContext(); |
| 37 | + ResponseContext rr = g.generate(r, generationRequest); |
| 38 | + Assert.assertEquals(rr.getStatus(), 200); |
| 39 | + Assert.assertEquals(rr.getContentType(), MediaType.APPLICATION_OCTET_STREAM_TYPE); |
| 40 | + Assert.assertTrue(rr.getHeaders().getFirst("Content-Disposition").contains(" filename=\"java-client-generated.zip\"")); |
| 41 | + } |
| 42 | +} |
0 commit comments