[PHP] Fix #6474: Bug with 'format: date' when using --model-name-prefix (#6510)

* Add test case which repeats the issue #6474

* Add "date" to type mapping

* Update samples

./bin/php-petstore.sh
./bin/security/php-petstore.sh
This commit is contained in:
Akihito Nakano
2017-09-19 19:07:37 +09:00
committed by wing328
parent e27d4577c1
commit 594b390e11
3 changed files with 16 additions and 1 deletions

View File

@@ -117,6 +117,7 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
typeMapping.put("string", "string");
typeMapping.put("byte", "int");
typeMapping.put("boolean", "bool");
typeMapping.put("date", "\\DateTime");
typeMapping.put("Date", "\\DateTime");
typeMapping.put("DateTime", "\\DateTime");
typeMapping.put("file", "\\SplFileObject");

View File

@@ -1,12 +1,14 @@
package io.swagger.codegen.php;
import io.swagger.codegen.CodegenModel;
import io.swagger.codegen.CodegenOperation;
import io.swagger.codegen.CodegenProperty;
import io.swagger.codegen.DefaultCodegen;
import io.swagger.codegen.languages.PhpClientCodegen;
import io.swagger.models.ArrayModel;
import io.swagger.models.Model;
import io.swagger.models.ModelImpl;
import io.swagger.models.Operation;
import io.swagger.models.properties.Property;
import io.swagger.models.properties.ArrayProperty;
import io.swagger.models.properties.DateTimeProperty;
@@ -344,5 +346,17 @@ public class PhpModelTest {
Assert.assertEquals(codegen.toEnumVarName("hello", null), "HELLO");
}
@Test(description = "returns DateTime when using `--model-name-prefix`")
public void dateTest() {
final Swagger model = new SwaggerParser().read("src/test/resources/2_0/datePropertyTest.json");
final DefaultCodegen codegen = new PhpClientCodegen();
codegen.setModelNamePrefix("foo");
final String path = "/tests/dateResponse";
final Operation p = model.getPaths().get(path).getPost();
final CodegenOperation op = codegen.fromOperation(path, "post", p, model.getDefinitions());
Assert.assertEquals(op.returnType, "\\DateTime");
Assert.assertEquals(op.bodyParam.dataType, "\\DateTime");
}
}