mirror of
https://github.com/jlengrand/openapi-generator.git
synced 2026-05-16 00:21:19 +00:00
Merge pull request #3236 from cliffano/master
Disable path HTML-escaping in Ruby api template
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package io.swagger.codegen.ruby;
|
||||
|
||||
import io.swagger.codegen.ClientOpts;
|
||||
import io.swagger.codegen.ClientOptInput;
|
||||
import io.swagger.codegen.CodegenConfig;
|
||||
import io.swagger.codegen.DefaultGenerator;
|
||||
import io.swagger.codegen.languages.RubyClientCodegen;
|
||||
import io.swagger.models.Swagger;
|
||||
import io.swagger.parser.SwaggerParser;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.testng.annotations.AfterMethod;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.testng.Assert.*;
|
||||
|
||||
/**
|
||||
* Tests for RubyClientCodegen-generated templates
|
||||
*/
|
||||
public class RubyClientCodegenTest {
|
||||
|
||||
public TemporaryFolder folder = new TemporaryFolder();
|
||||
|
||||
@BeforeMethod
|
||||
public void setUp() throws Exception {
|
||||
folder.create();
|
||||
}
|
||||
|
||||
@AfterMethod
|
||||
public void tearDown() throws Exception {
|
||||
folder.delete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenerateRubyClientWithHtmlEntity() throws Exception {
|
||||
final File output = folder.getRoot();
|
||||
|
||||
final Swagger swagger = new SwaggerParser().read("src/test/resources/2_0/pathWithHtmlEntity.yaml");
|
||||
CodegenConfig codegenConfig = new RubyClientCodegen();
|
||||
codegenConfig.setOutputDir(output.getAbsolutePath());
|
||||
|
||||
ClientOptInput clientOptInput = new ClientOptInput().opts(new ClientOpts()).swagger(swagger).config(codegenConfig);
|
||||
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
generator.opts(clientOptInput);
|
||||
List<File> files = generator.generate();
|
||||
boolean apiFileGenerated = false;
|
||||
for (File file : files) {
|
||||
if (file.getName().equals("default_api.rb")) {
|
||||
apiFileGenerated = true;
|
||||
// Ruby client should set the path unescaped in the api file
|
||||
assertTrue(FileUtils.readFileToString(file, StandardCharsets.UTF_8).contains("local_var_path = \"/foo=bar\""));
|
||||
}
|
||||
}
|
||||
if (!apiFileGenerated) {
|
||||
fail("Default api file is not generated!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
swagger: "2.0"
|
||||
basePath: "/"
|
||||
paths:
|
||||
/foo=bar:
|
||||
get:
|
||||
parameters: []
|
||||
responses:
|
||||
200:
|
||||
description: "success"
|
||||
Reference in New Issue
Block a user