Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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']