Skip to content
Merged
Next Next commit
[fix-kotlinArrayEnumEmbedded] added test
  • Loading branch information
nekkiy committed Nov 18, 2019
commit ed33b9a9d9d5e0e392b4296e2dde65f43f3b40c0
Original file line number Diff line number Diff line change
@@ -1,15 +1,58 @@
package org.openapitools.codegen.kotlin.spring;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.parser.OpenAPIParser;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.servers.Server;
import io.swagger.v3.parser.core.models.ParseOptions;
import org.openapitools.codegen.ClientOptInput;
import org.openapitools.codegen.CodegenConstants;
import org.openapitools.codegen.MockDefaultGenerator;
import org.openapitools.codegen.TestUtils;
import org.openapitools.codegen.config.CodegenConfigurator;
import org.openapitools.codegen.languages.AbstractJavaCodegen;
import org.openapitools.codegen.languages.JavaClientCodegen;
import org.openapitools.codegen.languages.KotlinSpringServerCodegen;
import org.openapitools.codegen.languages.SpringCodegen;
import org.openapitools.codegen.languages.features.CXFServerFeatures;
import org.testng.Assert;
import org.testng.annotations.Test;

import java.io.File;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.Map;

public class KotlinSpringServerCodegenTest {

@Test(description = "test embedded enum array")
public void embeddedEnumArrayTest() throws Exception {
File output = Files.createTempDirectory("test").toFile().getCanonicalFile();
output.deleteOnExit();
String outputPath = output.getAbsolutePath().replace('\\', '/');
OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/issue______kotlinArrayEnumEmbedded.yaml");
KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen();
codegen.setOutputDir(output.getAbsolutePath());
codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "zz.yyyy.model.xxxx");

ClientOptInput input = new ClientOptInput();
input.openAPI(openAPI);
input.config(codegen);

MockDefaultGenerator generator = new MockDefaultGenerator();
generator.opts(input).generate();

String filePath = new File(output, "src/main/kotlin/zz/yyyy/model/xxxx/EmbeddedEnumArray.kt").getAbsolutePath().replace("\\", "/");
String kotlinEmbArray = generator.getFiles().get(filePath);
System.out.println("=====================");
System.out.println(kotlinEmbArray);
System.out.println("=====================");



}

@Test
public void testInitialConfigValues() throws Exception {
final KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen();
Expand All @@ -34,6 +77,7 @@ public void testInitialConfigValues() throws Exception {
Assert.assertEquals(codegen.additionalProperties().get(KotlinSpringServerCodegen.SERVER_PORT), "8080");
}


@Test
public void testSettersForConfigValues() throws Exception {
final KotlinSpringServerCodegen codegen = new KotlinSpringServerCodegen();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
openapi: "3.0.1"
info:
title: test
version: "1.0"
paths:
/test:
get:
operationId: test
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EmbeddedEnumArray'

components:
schemas:
EmbeddedEnumArray:
type: object
properties:
colors:
type: array
items:
type: string
enum: ['BLACK', 'RED', 'ORANGE', 'YELLOW', 'BLUE', 'GREEN']