forked from loafle/openapi-generator-original
Merge remote-tracking branch 'origin/master' into 2.3.0
This commit is contained in:
commit
18e6440bcc
@ -785,6 +785,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you
|
|||||||
- [Riffyn](https://riffyn.com)
|
- [Riffyn](https://riffyn.com)
|
||||||
- [Royal Bank of Canada (RBC)](http://www.rbc.com/canada.html)
|
- [Royal Bank of Canada (RBC)](http://www.rbc.com/canada.html)
|
||||||
- [Saritasa](https://www.saritasa.com/)
|
- [Saritasa](https://www.saritasa.com/)
|
||||||
|
- [SAS](https://www.sas.com)
|
||||||
- [SCOOP Software GmbH](http://www.scoop-software.de)
|
- [SCOOP Software GmbH](http://www.scoop-software.de)
|
||||||
- [Shine Solutions](https://shinesolutions.com/)
|
- [Shine Solutions](https://shinesolutions.com/)
|
||||||
- [Simpfony](https://www.simpfony.com/)
|
- [Simpfony](https://www.simpfony.com/)
|
||||||
|
@ -26,6 +26,6 @@ fi
|
|||||||
|
|
||||||
# if you've executed sbt assembly previously it will use that instead.
|
# if you've executed sbt assembly previously it will use that instead.
|
||||||
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
|
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
|
||||||
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l clojure -o samples/client/petstore/clojure"
|
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l clojure -o samples/client/petstore/clojure"
|
||||||
|
|
||||||
java $JAVA_OPTS -jar $executable $ags
|
java $JAVA_OPTS -jar $executable $ags
|
||||||
|
@ -2560,7 +2560,9 @@ public class DefaultCodegen {
|
|||||||
name = getAlias(name);
|
name = getAlias(name);
|
||||||
if (typeMapping.containsKey(name)) {
|
if (typeMapping.containsKey(name)) {
|
||||||
name = typeMapping.get(name);
|
name = typeMapping.get(name);
|
||||||
|
p.baseType = name;
|
||||||
} else {
|
} else {
|
||||||
|
p.baseType = name;
|
||||||
name = toModelName(name);
|
name = toModelName(name);
|
||||||
if (defaultIncludes.contains(name)) {
|
if (defaultIncludes.contains(name)) {
|
||||||
imports.add(name);
|
imports.add(name);
|
||||||
@ -2569,7 +2571,6 @@ public class DefaultCodegen {
|
|||||||
name = getTypeDeclaration(name);
|
name = getTypeDeclaration(name);
|
||||||
}
|
}
|
||||||
p.dataType = name;
|
p.dataType = name;
|
||||||
p.baseType = name;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p.paramName = toParamName(bp.getName());
|
p.paramName = toParamName(bp.getName());
|
||||||
|
@ -959,8 +959,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
@Override
|
@Override
|
||||||
public String toEnumValue(String value, String datatype) {
|
public String toEnumValue(String value, String datatype) {
|
||||||
if ("Integer".equals(datatype) || "Long".equals(datatype) ||
|
if ("Integer".equals(datatype) || "Long".equals(datatype) ||
|
||||||
"Float".equals(datatype) || "Double".equals(datatype)) {
|
"Double".equals(datatype)) {
|
||||||
return value;
|
return value;
|
||||||
|
} else if ("Float".equals(datatype)) {
|
||||||
|
// add f to number, e.g. 3.14 => 3.14f
|
||||||
|
return value + "f";
|
||||||
} else {
|
} else {
|
||||||
return "\"" + escapeText(value) + "\"";
|
return "\"" + escapeText(value) + "\"";
|
||||||
}
|
}
|
||||||
|
@ -560,7 +560,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg
|
|||||||
example = "new \\DateTime(\"" + escapeText(example) + "\")";
|
example = "new \\DateTime(\"" + escapeText(example) + "\")";
|
||||||
} else if (!languageSpecificPrimitives.contains(type)) {
|
} else if (!languageSpecificPrimitives.contains(type)) {
|
||||||
// type is a model class, e.g. User
|
// type is a model class, e.g. User
|
||||||
example = "new " + type + "()";
|
example = "new " + getTypeDeclaration(type) + "()";
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Type " + type + " not handled properly in setParameterExampleValue");
|
LOGGER.warn("Type " + type + " not handled properly in setParameterExampleValue");
|
||||||
}
|
}
|
||||||
|
@ -17,21 +17,27 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
|
|
||||||
private static final String CLASS_PREFIX = "classPrefix";
|
private static final String CLASS_PREFIX = "classPrefix";
|
||||||
private static final String API_VERSION = "apiVersion";
|
private static final String API_VERSION = "apiVersion";
|
||||||
|
private static final String BUILD_METHOD = "buildMethod";
|
||||||
|
private static final String NAMED_CREDENTIAL = "namedCredential";
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(ApexClientCodegen.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ApexClientCodegen.class);
|
||||||
private String classPrefix = "Swag";
|
private String classPrefix = "Swag";
|
||||||
private String apiVersion = "39.0";
|
private String apiVersion = "39.0";
|
||||||
|
private String buildMethod = "sfdx";
|
||||||
|
private String namedCredential = classPrefix;
|
||||||
|
private String srcPath = "force-app/main/default/";
|
||||||
|
|
||||||
public ApexClientCodegen() {
|
public ApexClientCodegen() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
importMapping.clear();
|
importMapping.clear();
|
||||||
|
|
||||||
|
testFolder = sourceFolder = srcPath;
|
||||||
|
|
||||||
embeddedTemplateDir = templateDir = "apex";
|
embeddedTemplateDir = templateDir = "apex";
|
||||||
outputFolder = "generated-code" + File.separator + "apex";
|
outputFolder = "generated-code" + File.separator + "apex";
|
||||||
testFolder = sourceFolder = "deploy";
|
|
||||||
apiPackage = "classes";
|
apiPackage = "classes";
|
||||||
modelPackage = "classes";
|
modelPackage = "classes";
|
||||||
testPackage = "deploy.classes";
|
testPackage = "force-app.main.default.classes";
|
||||||
modelNamePrefix = classPrefix;
|
modelNamePrefix = classPrefix;
|
||||||
dateLibrary = "";
|
dateLibrary = "";
|
||||||
|
|
||||||
@ -46,22 +52,15 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
|
|
||||||
cliOptions.add(CliOption.newString(CLASS_PREFIX, "Prefix for generated classes. Set this to avoid overwriting existing classes in your org."));
|
cliOptions.add(CliOption.newString(CLASS_PREFIX, "Prefix for generated classes. Set this to avoid overwriting existing classes in your org."));
|
||||||
cliOptions.add(CliOption.newString(API_VERSION, "The Metadata API version number to use for components in this package."));
|
cliOptions.add(CliOption.newString(API_VERSION, "The Metadata API version number to use for components in this package."));
|
||||||
|
cliOptions.add(CliOption.newString(BUILD_METHOD, "The build method for this package."));
|
||||||
|
cliOptions.add(CliOption.newString(NAMED_CREDENTIAL, "The named credential name for the HTTP callouts"));
|
||||||
|
|
||||||
supportingFiles.add(new SupportingFile("package.mustache", "deploy", "package.xml"));
|
supportingFiles.add(new SupportingFile("Swagger.cls", srcPath + "classes", "Swagger.cls"));
|
||||||
supportingFiles.add(new SupportingFile("package.mustache", "undeploy", "destructiveChanges.xml"));
|
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "Swagger.cls-meta.xml"));
|
||||||
supportingFiles.add(new SupportingFile("build.mustache", "build.xml"));
|
supportingFiles.add(new SupportingFile("SwaggerTest.cls", srcPath + "classes", "SwaggerTest.cls"));
|
||||||
supportingFiles.add(new SupportingFile("build.properties", "build.properties"));
|
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "SwaggerTest.cls-meta.xml"));
|
||||||
supportingFiles.add(new SupportingFile("remove.package.mustache", "undeploy", "package.xml"));
|
supportingFiles.add(new SupportingFile("SwaggerResponseMock.cls", srcPath + "classes", "SwaggerResponseMock.cls"));
|
||||||
supportingFiles.add(new SupportingFile("Swagger.cls", "deploy/classes", "Swagger.cls"));
|
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "SwaggerResponseMock.cls-meta.xml"));
|
||||||
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", "Swagger.cls-meta.xml"));
|
|
||||||
supportingFiles.add(new SupportingFile("SwaggerTest.cls", "deploy/classes", "SwaggerTest.cls"));
|
|
||||||
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", "SwaggerTest.cls-meta.xml"));
|
|
||||||
supportingFiles.add(new SupportingFile("SwaggerResponseMock.cls", "deploy/classes", "SwaggerResponseMock.cls"));
|
|
||||||
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", "SwaggerResponseMock.cls-meta.xml"));
|
|
||||||
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
|
|
||||||
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
|
|
||||||
|
|
||||||
writeOptional(outputFolder, new SupportingFile("README.mustache", "README.md"));
|
|
||||||
|
|
||||||
typeMapping.put("BigDecimal", "Double");
|
typeMapping.put("BigDecimal", "Double");
|
||||||
typeMapping.put("binary", "String");
|
typeMapping.put("binary", "String");
|
||||||
@ -114,6 +113,16 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
}
|
}
|
||||||
additionalProperties.put(API_VERSION, apiVersion);
|
additionalProperties.put(API_VERSION, apiVersion);
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(BUILD_METHOD)) {
|
||||||
|
setBuildMethod((String)additionalProperties.get(BUILD_METHOD));
|
||||||
|
}
|
||||||
|
additionalProperties.put(BUILD_METHOD, buildMethod);
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(NAMED_CREDENTIAL)) {
|
||||||
|
setNamedCredential((String)additionalProperties.get(NAMED_CREDENTIAL));
|
||||||
|
}
|
||||||
|
additionalProperties.put(NAMED_CREDENTIAL, namedCredential);
|
||||||
|
|
||||||
postProcessOpts();
|
postProcessOpts();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,18 +241,20 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
@Override
|
@Override
|
||||||
public void preprocessSwagger(Swagger swagger) {
|
public void preprocessSwagger(Swagger swagger) {
|
||||||
Info info = swagger.getInfo();
|
Info info = swagger.getInfo();
|
||||||
String description = info.getDescription();
|
String calloutLabel = info.getTitle();
|
||||||
String sanitized = sanitizeName(info.getTitle());
|
additionalProperties.put("calloutLabel", calloutLabel);
|
||||||
additionalProperties.put("sanitizedName", sanitized);
|
String sanitized = sanitizeName(calloutLabel);
|
||||||
supportingFiles.add(new SupportingFile("remoteSite.mustache", "deploy/remoteSiteSettings",
|
additionalProperties.put("calloutName", sanitized);
|
||||||
sanitized + ".remoteSite"
|
supportingFiles.add(new SupportingFile("namedCredential.mustache", srcPath + "/namedCredentials",
|
||||||
|
sanitized + ".namedCredential"
|
||||||
));
|
));
|
||||||
|
|
||||||
// max length for description for a Remote Site setting
|
if (additionalProperties.get(BUILD_METHOD).equals("sfdx")) {
|
||||||
if (description != null && description.length() > 255) {
|
generateSfdxSupportingFiles();
|
||||||
description = description.substring(0, 255);
|
} else if (additionalProperties.get(BUILD_METHOD).equals("ant")) {
|
||||||
|
generateAntSupportingFiles();
|
||||||
}
|
}
|
||||||
additionalProperties.put("shortDescription", description);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -289,6 +300,20 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
return input.replace("'", "\\'");
|
return input.replace("'", "\\'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setBuildMethod(String buildMethod) {
|
||||||
|
if (buildMethod.equals("ant")) {
|
||||||
|
this.srcPath = "deploy/";
|
||||||
|
} else {
|
||||||
|
this.srcPath = "src/";
|
||||||
|
}
|
||||||
|
testFolder = sourceFolder = srcPath;
|
||||||
|
this.buildMethod = buildMethod;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNamedCredential(String namedCredential) {
|
||||||
|
this.namedCredential = namedCredential;
|
||||||
|
}
|
||||||
|
|
||||||
public void setClassPrefix(String classPrefix) {
|
public void setClassPrefix(String classPrefix) {
|
||||||
// the best thing we can do without namespacing in Apex
|
// the best thing we can do without namespacing in Apex
|
||||||
modelNamePrefix = classPrefix;
|
modelNamePrefix = classPrefix;
|
||||||
@ -310,8 +335,8 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
|
|
||||||
private void postProcessOpts() {
|
private void postProcessOpts() {
|
||||||
supportingFiles.add(
|
supportingFiles.add(
|
||||||
new SupportingFile("client.mustache", "deploy/classes", classPrefix + "Client.cls"));
|
new SupportingFile("client.mustache", srcPath + "classes", classPrefix + "Client.cls"));
|
||||||
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes",
|
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes",
|
||||||
classPrefix + "Client.cls-meta.xml"
|
classPrefix + "Client.cls-meta.xml"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -451,4 +476,28 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
|||||||
public String getHelp() {
|
public String getHelp() {
|
||||||
return "Generates an Apex API client library (beta).";
|
return "Generates an Apex API client library (beta).";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void generateAntSupportingFiles() {
|
||||||
|
|
||||||
|
supportingFiles.add(new SupportingFile("package.mustache", "deploy", "package.xml"));
|
||||||
|
supportingFiles.add(new SupportingFile("package.mustache", "undeploy", "destructiveChanges.xml"));
|
||||||
|
supportingFiles.add(new SupportingFile("build.mustache", "build.xml"));
|
||||||
|
supportingFiles.add(new SupportingFile("build.properties", "build.properties"));
|
||||||
|
supportingFiles.add(new SupportingFile("remove.package.mustache", "undeploy", "package.xml"));
|
||||||
|
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
|
||||||
|
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
|
||||||
|
|
||||||
|
writeOptional(outputFolder, new SupportingFile("README_ant.mustache", "README.md"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void generateSfdxSupportingFiles() {
|
||||||
|
|
||||||
|
supportingFiles.add(new SupportingFile("sfdx.mustache", "", "sfdx-oss-manifest.json"));
|
||||||
|
|
||||||
|
writeOptional(outputFolder, new SupportingFile("README_sfdx.mustache", "README.md"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -560,6 +560,9 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
|
|||||||
if ("int?".equalsIgnoreCase(datatype) || "long?".equalsIgnoreCase(datatype) ||
|
if ("int?".equalsIgnoreCase(datatype) || "long?".equalsIgnoreCase(datatype) ||
|
||||||
"double?".equalsIgnoreCase(datatype) || "float?".equalsIgnoreCase(datatype)) {
|
"double?".equalsIgnoreCase(datatype) || "float?".equalsIgnoreCase(datatype)) {
|
||||||
return value;
|
return value;
|
||||||
|
} else if ("float?".equalsIgnoreCase(datatype)) {
|
||||||
|
// for float in C#, append "f". e.g. 3.14 => 3.14f
|
||||||
|
return value + "f";
|
||||||
} else {
|
} else {
|
||||||
return "\"" + escapeText(value) + "\"";
|
return "\"" + escapeText(value) + "\"";
|
||||||
}
|
}
|
||||||
|
@ -615,19 +615,19 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
example = "/path/to/file";
|
example = "/path/to/file";
|
||||||
}
|
}
|
||||||
example = "\"" + escapeText(example) + "\"";
|
example = "\"" + escapeText(example) + "\"";
|
||||||
} else if ("Date".equalsIgnoreCase(type)) {
|
} else if ("\\Date".equalsIgnoreCase(type)) {
|
||||||
if (example == null) {
|
if (example == null) {
|
||||||
example = "2013-10-20";
|
example = "2013-10-20";
|
||||||
}
|
}
|
||||||
example = "new \\DateTime(\"" + escapeText(example) + "\")";
|
example = "new \\DateTime(\"" + escapeText(example) + "\")";
|
||||||
} else if ("DateTime".equalsIgnoreCase(type)) {
|
} else if ("\\DateTime".equalsIgnoreCase(type)) {
|
||||||
if (example == null) {
|
if (example == null) {
|
||||||
example = "2013-10-20T19:20:30+01:00";
|
example = "2013-10-20T19:20:30+01:00";
|
||||||
}
|
}
|
||||||
example = "new \\DateTime(\"" + escapeText(example) + "\")";
|
example = "new \\DateTime(\"" + escapeText(example) + "\")";
|
||||||
} else if (!languageSpecificPrimitives.contains(type)) {
|
} else if (!languageSpecificPrimitives.contains(type)) {
|
||||||
// type is a model class, e.g. User
|
// type is a model class, e.g. User
|
||||||
example = "new " + type + "()";
|
example = "new " + getTypeDeclaration(type) + "()";
|
||||||
} else {
|
} else {
|
||||||
LOGGER.warn("Type " + type + " not handled properly in setParameterExampleValue");
|
LOGGER.warn("Type " + type + " not handled properly in setParameterExampleValue");
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,114 @@
|
|||||||
|
# {{appName}} API Client
|
||||||
|
{{#appDescription}}
|
||||||
|
|
||||||
|
{{{appDescription}}}
|
||||||
|
{{/appDescription}}
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- [Salesforce DX](https://www.salesforce.com/products/platform/products/salesforce-dx/)
|
||||||
|
|
||||||
|
|
||||||
|
If everything is set correctly:
|
||||||
|
|
||||||
|
- Running `sfdx version` in a command prompt should output something like:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sfdx-cli/5.7.5-05549de (darwin-amd64) go1.7.5 sfdxstable
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
1. Copy the output into your Salesforce DX folder - or alternatively deploy the output directly into the workspace.
|
||||||
|
2. Deploy the code via Salesforce DX to your Scratch Org
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ sfdx force:source:push
|
||||||
|
```
|
||||||
|
3. If the API needs authentication update the Named Credential in Setup.
|
||||||
|
4. Run your Apex tests using
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ sfdx sfdx force:apex:test:run
|
||||||
|
```
|
||||||
|
5. Retrieve the job id from the console and check the test results.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ sfdx force:apex:test:report -i theJobId
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Please follow the [installation](#installation) instruction and execute the following Apex code:
|
||||||
|
|
||||||
|
```java{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}
|
||||||
|
{{classname}} api = new {{classname}}();
|
||||||
|
{{#hasAuthMethods}}
|
||||||
|
{{classPrefix}}Client client = api.getClient();
|
||||||
|
{{#isApiKey}}
|
||||||
|
// Configure API key authorization: {{{name}}}
|
||||||
|
ApiKeyAuth {{{name}}} = (ApiKeyAuth) client.getAuthentication('{{{name}}}');
|
||||||
|
{{{name}}}.setApiKey('YOUR API KEY');{{/isApiKey}}
|
||||||
|
{{/hasAuthMethods}}
|
||||||
|
{{#hasParams}}
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
{{#allParams}}
|
||||||
|
'{{{paramName}}}' => {{{example}}}{{#hasMore}},{{/hasMore}}
|
||||||
|
{{/allParams}}
|
||||||
|
};
|
||||||
|
{{/hasParams}}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// cross your fingers
|
||||||
|
{{#returnType}}{{{returnType}}} result = {{/returnType}}api.{{{operationId}}}({{#hasParams}}params{{/hasParams}});
|
||||||
|
{{#returnType}}
|
||||||
|
System.debug(result);
|
||||||
|
{{/returnType}}
|
||||||
|
} catch (Swagger.ApiException e) {
|
||||||
|
// ...handle your exceptions
|
||||||
|
}{{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation for API Endpoints
|
||||||
|
|
||||||
|
All URIs are relative to *{{basePath}}*
|
||||||
|
|
||||||
|
Class | Method | HTTP request | Description
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{#summary}}{{summary}}{{/summary}}
|
||||||
|
{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
|
||||||
|
|
||||||
|
## Documentation for Models
|
||||||
|
|
||||||
|
{{#models}}{{#model}} - [{{classname}}]({{modelDocPath}}{{classname}}.md)
|
||||||
|
{{/model}}{{/models}}
|
||||||
|
|
||||||
|
## Documentation for Authorization
|
||||||
|
|
||||||
|
{{^authMethods}}All endpoints do not require authorization.
|
||||||
|
{{/authMethods}}Authentication schemes defined for the API:
|
||||||
|
{{#authMethods}}### {{name}}
|
||||||
|
|
||||||
|
{{#isApiKey}}- **Type**: API key
|
||||||
|
- **API key parameter name**: {{keyParamName}}
|
||||||
|
- **Location**: {{#isKeyInQuery}}URL query string{{/isKeyInQuery}}{{#isKeyInHeader}}HTTP header{{/isKeyInHeader}}
|
||||||
|
{{/isApiKey}}
|
||||||
|
{{#isBasic}}- **Type**: HTTP basic authentication
|
||||||
|
{{/isBasic}}
|
||||||
|
{{#isOAuth}}- **Type**: OAuth
|
||||||
|
- **Flow**: {{flow}}
|
||||||
|
- **Authorizatoin URL**: {{authorizationUrl}}
|
||||||
|
- **Scopes**: {{^scopes}}N/A{{/scopes}}
|
||||||
|
{{#scopes}} - {{scope}}: {{description}}
|
||||||
|
{{/scopes}}
|
||||||
|
{{/isOAuth}}
|
||||||
|
|
||||||
|
{{/authMethods}}
|
||||||
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
{{#apiInfo}}{{#apis}}{{^hasMore}}{{infoEmail}}
|
||||||
|
{{/hasMore}}{{/apis}}{{/apiInfo}}
|
@ -65,49 +65,6 @@ public class Swagger {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HttpBasicAuth implements Authentication {
|
|
||||||
private String username = '';
|
|
||||||
private String password = '';
|
|
||||||
|
|
||||||
public void setUsername(String username) {
|
|
||||||
this.username = username;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPassword(String password) {
|
|
||||||
this.password = password;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCredentials(String username, String password) {
|
|
||||||
setUsername(username);
|
|
||||||
setPassword(password);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestVisible
|
|
||||||
private String getHeaderValue() {
|
|
||||||
return 'Basic ' + EncodingUtil.base64Encode(Blob.valueOf(username + ':' + password));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void apply(Map<String, Object> headers, List<Param> query) {
|
|
||||||
headers.put('Authorization', getHeaderValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class OAuth2 implements Authentication {
|
|
||||||
private String accessToken = '';
|
|
||||||
|
|
||||||
public void setAccessToken(String accessToken) {
|
|
||||||
this.accessToken = accessToken;
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestVisible
|
|
||||||
private String getHeaderValue() {
|
|
||||||
return 'Bearer ' + accessToken;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void apply(Map<String, Object> headers, List<Param> query) {
|
|
||||||
headers.put('Authorization', getHeaderValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ApiException extends Exception {
|
public class ApiException extends Exception {
|
||||||
private final Integer code;
|
private final Integer code;
|
||||||
@ -144,6 +101,7 @@ public class Swagger {
|
|||||||
protected String preferredContentType = 'application/json';
|
protected String preferredContentType = 'application/json';
|
||||||
protected String preferredAccept = 'application/json';
|
protected String preferredAccept = 'application/json';
|
||||||
protected final String basePath;
|
protected final String basePath;
|
||||||
|
protected final String calloutName;
|
||||||
|
|
||||||
@TestVisible
|
@TestVisible
|
||||||
protected final Map<String, Authentication> authentications = new Map<String, Authentication>();
|
protected final Map<String, Authentication> authentications = new Map<String, Authentication>();
|
||||||
@ -152,36 +110,6 @@ public class Swagger {
|
|||||||
return authentications.get(authName);
|
return authentications.get(authName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void setUsername(String username) {
|
|
||||||
for (Authentication auth : authentications.values()) {
|
|
||||||
if (auth instanceof HttpBasicAuth) {
|
|
||||||
((HttpBasicAuth) auth).setUsername(username);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new NoSuchElementException('No HTTP basic authentication configured!');
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void setPassword(String password) {
|
|
||||||
for (Authentication auth : authentications.values()) {
|
|
||||||
if (auth instanceof HttpBasicAuth) {
|
|
||||||
((HttpBasicAuth) auth).setPassword(password);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new NoSuchElementException('No HTTP basic authentication configured!');
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void setCredentials(String username, String password) {
|
|
||||||
for (Authentication auth : authentications.values()) {
|
|
||||||
if (auth instanceof HttpBasicAuth) {
|
|
||||||
((HttpBasicAuth) auth).setCredentials(username, password);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new NoSuchElementException('No HTTP basic authentication configured!');
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void setApiKey(String apiKey) {
|
public virtual void setApiKey(String apiKey) {
|
||||||
for (Authentication auth : authentications.values()) {
|
for (Authentication auth : authentications.values()) {
|
||||||
if (auth instanceof ApiKeyAuth) {
|
if (auth instanceof ApiKeyAuth) {
|
||||||
@ -192,16 +120,6 @@ public class Swagger {
|
|||||||
throw new NoSuchElementException('No API key authentication configured!');
|
throw new NoSuchElementException('No API key authentication configured!');
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void setAccessToken(String accessToken) {
|
|
||||||
for (Authentication auth : authentications.values()) {
|
|
||||||
if (auth instanceof OAuth2) {
|
|
||||||
((OAuth2) auth).setAccessToken(accessToken);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new NoSuchElementException('No OAuth2 authentication configured!');
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Param> makeParams(String name, List<Object> values) {
|
public List<Param> makeParams(String name, List<Object> values) {
|
||||||
List<Param> pairs = new List<Param>();
|
List<Param> pairs = new List<Param>();
|
||||||
for (Object value : new List<Object>(values)) {
|
for (Object value : new List<Object>(values)) {
|
||||||
@ -380,7 +298,7 @@ public class Swagger {
|
|||||||
protected virtual String toEndpoint(String path, Map<String, Object> params,
|
protected virtual String toEndpoint(String path, Map<String, Object> params,
|
||||||
List<Param> queryParams) {
|
List<Param> queryParams) {
|
||||||
String query = '?' + paramsToString(queryParams);
|
String query = '?' + paramsToString(queryParams);
|
||||||
return basePath + toPath(path, params) + query.removeEnd('?');
|
return '"callout:' + calloutName + toPath(path, params) + query.removeEnd('?') + '""';
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestVisible
|
@TestVisible
|
||||||
|
@ -35,217 +35,17 @@ private class SwaggerTest {
|
|||||||
System.assertEquals('auth_token=foo-bar-api-key', query.get(0).toString());
|
System.assertEquals('auth_token=foo-bar-api-key', query.get(0).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void HttpBasicAuth_base64EncodeCredentials() {
|
|
||||||
Map<String, Object> headers = new Map<String, String>();
|
|
||||||
List<Swagger.Param> query = new List<Swagger.Param>();
|
|
||||||
Swagger.HttpBasicAuth auth = new Swagger.HttpBasicAuth();
|
|
||||||
auth.setCredentials('username', 'password');
|
|
||||||
auth.apply(headers, query);
|
|
||||||
|
|
||||||
System.assert(query.isEmpty());
|
|
||||||
System.assertEquals(1, headers.size());
|
|
||||||
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', headers.get('Authorization'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void HttpBasicAuth_base64EncodeUsernamePassword() {
|
|
||||||
Map<String, Object> headers = new Map<String, String>();
|
|
||||||
List<Swagger.Param> query = new List<Swagger.Param>();
|
|
||||||
Swagger.HttpBasicAuth auth = new Swagger.HttpBasicAuth();
|
|
||||||
auth.setUsername('username');
|
|
||||||
auth.setPassword('password');
|
|
||||||
auth.apply(headers, query);
|
|
||||||
|
|
||||||
System.assert(query.isEmpty());
|
|
||||||
System.assertEquals(1, headers.size());
|
|
||||||
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', headers.get('Authorization'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void OAuth2_tokenInAuthorizationHeaderWithBearerPrefix() {
|
|
||||||
Map<String, Object> headers = new Map<String, String>();
|
|
||||||
List<Swagger.Param> query = new List<Swagger.Param>();
|
|
||||||
Swagger.OAuth2 auth = new Swagger.OAuth2();
|
|
||||||
auth.setAccessToken('foo-bar-api-key');
|
|
||||||
auth.apply(headers, query);
|
|
||||||
|
|
||||||
System.assert(query.isEmpty());
|
|
||||||
System.assertEquals(1, headers.size());
|
|
||||||
System.assertEquals('Bearer foo-bar-api-key', headers.get('Authorization'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
@isTest
|
||||||
private static void ApiClient_returnAuthenticationMatchingInput() {
|
private static void ApiClient_returnAuthenticationMatchingInput() {
|
||||||
MockApiClient client = new MockApiClient();
|
MockApiClient client = new MockApiClient();
|
||||||
Swagger.ApiKeyHeaderAuth auth1 = new Swagger.ApiKeyHeaderAuth('foo');
|
Swagger.ApiKeyHeaderAuth auth1 = new Swagger.ApiKeyHeaderAuth('foo');
|
||||||
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('foo');
|
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('foo');
|
||||||
Swagger.HttpBasicAuth auth3 = new Swagger.HttpBasicAuth();
|
|
||||||
Swagger.OAuth2 auth4 = new Swagger.OAuth2();
|
|
||||||
|
|
||||||
client.authentications.put('auth1', auth1);
|
client.authentications.put('auth1', auth1);
|
||||||
client.authentications.put('auth2', auth2);
|
client.authentications.put('auth2', auth2);
|
||||||
client.authentications.put('auth3', auth3);
|
|
||||||
client.authentications.put('auth4', auth4);
|
|
||||||
|
|
||||||
System.assertEquals(auth1, client.getAuthentication('auth1'));
|
System.assertEquals(auth1, client.getAuthentication('auth1'));
|
||||||
System.assertEquals(auth2, client.getAuthentication('auth2'));
|
System.assertEquals(auth2, client.getAuthentication('auth2'));
|
||||||
System.assertEquals(auth3, client.getAuthentication('auth3'));
|
|
||||||
System.assertEquals(auth4, client.getAuthentication('auth4'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_noAuthenticationsMatchInputReturnNull() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
Swagger.OAuth2 auth = new Swagger.OAuth2();
|
|
||||||
client.authentications.put('auth', auth);
|
|
||||||
|
|
||||||
System.assertEquals(auth, client.getAuthentication('auth'));
|
|
||||||
System.assertEquals(null, client.getAuthentication('no-auth'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setUsernamePasswordFirstBasicAuthOnly() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
|
|
||||||
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('auth2');
|
|
||||||
Swagger.ApiKeyHeaderAuth auth3 = new Swagger.ApiKeyHeaderAuth('auth3');
|
|
||||||
Swagger.HttpBasicAuth auth4 = new Swagger.HttpBasicAuth();
|
|
||||||
Swagger.HttpBasicAuth auth5 = new Swagger.HttpBasicAuth();
|
|
||||||
client.authentications.put('auth1', auth1);
|
|
||||||
client.authentications.put('auth2', auth2);
|
|
||||||
client.authentications.put('auth3', auth3);
|
|
||||||
client.authentications.put('auth4', auth4);
|
|
||||||
client.authentications.put('auth5', auth5);
|
|
||||||
client.setUsername('username');
|
|
||||||
client.setPassword('password');
|
|
||||||
|
|
||||||
System.assertEquals('Bearer ', auth1.getHeaderValue());
|
|
||||||
System.assertEquals('', auth2.getApiKey());
|
|
||||||
System.assertEquals('', auth3.getApiKey());
|
|
||||||
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', auth4.getHeaderValue());
|
|
||||||
System.assertEquals('Basic Og==', auth5.getHeaderValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setUsernameExceptionNoBasicAuth() {
|
|
||||||
Swagger.ApiClient client = new Swagger.ApiClient();
|
|
||||||
try {
|
|
||||||
client.setUsername('username');
|
|
||||||
} catch (NoSuchElementException e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
System.assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setPasswordExceptionNoBasicAuth() {
|
|
||||||
Swagger.ApiClient client = new Swagger.ApiClient();
|
|
||||||
try {
|
|
||||||
client.setPassword('password');
|
|
||||||
} catch (NoSuchElementException e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
System.assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setCredentialsFirstBasicAuthOnly() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
|
|
||||||
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('auth2');
|
|
||||||
Swagger.ApiKeyHeaderAuth auth3 = new Swagger.ApiKeyHeaderAuth('auth3');
|
|
||||||
Swagger.HttpBasicAuth auth4 = new Swagger.HttpBasicAuth();
|
|
||||||
Swagger.HttpBasicAuth auth5 = new Swagger.HttpBasicAuth();
|
|
||||||
client.authentications.put('auth1', auth1);
|
|
||||||
client.authentications.put('auth2', auth2);
|
|
||||||
client.authentications.put('auth3', auth3);
|
|
||||||
client.authentications.put('auth4', auth4);
|
|
||||||
client.authentications.put('auth5', auth5);
|
|
||||||
client.setCredentials('username', 'password');
|
|
||||||
|
|
||||||
System.assertEquals('Bearer ', auth1.getHeaderValue());
|
|
||||||
System.assertEquals('', auth2.getApiKey());
|
|
||||||
System.assertEquals('', auth3.getApiKey());
|
|
||||||
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', auth4.getHeaderValue());
|
|
||||||
System.assertEquals('Basic Og==', auth5.getHeaderValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setCredentialsExceptionNoBasicAuth() {
|
|
||||||
Swagger.ApiClient client = new Swagger.ApiClient();
|
|
||||||
try {
|
|
||||||
client.setCredentials('username', 'password');
|
|
||||||
} catch (NoSuchElementException e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
System.assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setApiKeyFirstKeyAuthOnly() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
|
|
||||||
Swagger.HttpBasicAuth auth2 = new Swagger.HttpBasicAuth();
|
|
||||||
Swagger.HttpBasicAuth auth3 = new Swagger.HttpBasicAuth();
|
|
||||||
Swagger.ApiKeyQueryAuth auth4 = new Swagger.ApiKeyQueryAuth('auth4');
|
|
||||||
Swagger.ApiKeyHeaderAuth auth5 = new Swagger.ApiKeyHeaderAuth('auth5');
|
|
||||||
client.authentications.put('auth1', auth1);
|
|
||||||
client.authentications.put('auth2', auth2);
|
|
||||||
client.authentications.put('auth3', auth3);
|
|
||||||
client.authentications.put('auth4', auth4);
|
|
||||||
client.authentications.put('auth5', auth5);
|
|
||||||
client.setApiKey('foo-bar-api-key');
|
|
||||||
|
|
||||||
System.assertEquals('Bearer ', auth1.getHeaderValue());
|
|
||||||
System.assertEquals('Basic Og==', auth2.getHeaderValue());
|
|
||||||
System.assertEquals('Basic Og==', auth3.getHeaderValue());
|
|
||||||
System.assertEquals('foo-bar-api-key', auth4.getApiKey());
|
|
||||||
System.assertEquals('', auth5.getApiKey());
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setApiKeyExceptionNoKeyAuth() {
|
|
||||||
Swagger.ApiClient client = new Swagger.ApiClient();
|
|
||||||
try {
|
|
||||||
client.setApiKey('foo-bar-api-key');
|
|
||||||
} catch (NoSuchElementException e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
System.assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setAccessTokenFirstOauthOnly() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
Swagger.HttpBasicAuth auth1 = new Swagger.HttpBasicAuth();
|
|
||||||
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('auth2');
|
|
||||||
Swagger.ApiKeyHeaderAuth auth3 = new Swagger.ApiKeyHeaderAuth('auth3');
|
|
||||||
Swagger.OAuth2 auth4 = new Swagger.OAuth2();
|
|
||||||
Swagger.OAuth2 auth5 = new Swagger.OAuth2();
|
|
||||||
client.authentications.put('auth1', auth1);
|
|
||||||
client.authentications.put('auth2', auth2);
|
|
||||||
client.authentications.put('auth3', auth3);
|
|
||||||
client.authentications.put('auth4', auth4);
|
|
||||||
client.authentications.put('auth5', auth5);
|
|
||||||
client.setAccessToken('foo-bar-api-key');
|
|
||||||
|
|
||||||
System.assertEquals('Basic Og==', auth1.getHeaderValue());
|
|
||||||
System.assertEquals('', auth2.getApiKey());
|
|
||||||
System.assertEquals('', auth3.getApiKey());
|
|
||||||
System.assertEquals('Bearer foo-bar-api-key', auth4.getHeaderValue());
|
|
||||||
System.assertEquals('Bearer ', auth5.getHeaderValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setAccessTokenExceptionNoOAuth() {
|
|
||||||
Swagger.ApiClient client = new Swagger.ApiClient();
|
|
||||||
try {
|
|
||||||
client.setAccessToken('foo-bar-api-key');
|
|
||||||
} catch (NoSuchElementException e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
System.assert(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@isTest
|
@isTest
|
||||||
@ -483,22 +283,6 @@ private class SwaggerTest {
|
|||||||
System.assert(headers3.isEmpty());
|
System.assert(headers3.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_applyOnlyGivenAuthMethodsToParams() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
Map<String, Object> headers = new Map<String, Object>();
|
|
||||||
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
|
|
||||||
Swagger.ApiKeyHeaderAuth auth2 = new Swagger.ApiKeyHeaderAuth('X-Authentication-Token');
|
|
||||||
auth1.setAccessToken('boo-bat-api-key');
|
|
||||||
auth2.setApiKey('foo-bar-api-key');
|
|
||||||
client.authentications.put('auth1', auth1);
|
|
||||||
client.authentications.put('auth2', auth2);
|
|
||||||
client.applyAuthentication(new List<String>{'auth2'}, headers, new List<Swagger.Param>());
|
|
||||||
|
|
||||||
System.assertEquals(1, headers.size());
|
|
||||||
System.assertEquals('foo-bar-api-key', headers.get('X-Authentication-Token'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
@isTest
|
||||||
private static void ApiClient_formUrlWithQueryParamsPathParams() {
|
private static void ApiClient_formUrlWithQueryParamsPathParams() {
|
||||||
MockApiClient client = new MockApiClient();
|
MockApiClient client = new MockApiClient();
|
||||||
@ -513,206 +297,6 @@ private class SwaggerTest {
|
|||||||
System.assertEquals(expected, actual);
|
System.assertEquals(expected, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setupRequestWithBody() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
HttpResponse res = new HttpResponse();
|
|
||||||
SwaggerResponseMock mock = new SwaggerResponseMock(res);
|
|
||||||
Swagger.OAuth2 auth = new Swagger.OAuth2();
|
|
||||||
auth.setAccessToken('foo-bar-access-token');
|
|
||||||
client.authentications.put('oauth_method', auth);
|
|
||||||
Test.setMock(HttpCalloutMock.class, mock);
|
|
||||||
|
|
||||||
HttpResponse returned = client.getResponse(
|
|
||||||
'PUT', '/courses/{course}/assignments/{assignmentId}',
|
|
||||||
new Map<String, Object> {
|
|
||||||
'title' => 'Chapter 4 quiz',
|
|
||||||
'timed' => true,
|
|
||||||
'time' => 60,
|
|
||||||
'points' => 20.5,
|
|
||||||
'due' => Datetime.newInstanceGmt(2016, 5, 10, 23, 59, 59),
|
|
||||||
'description' => ''
|
|
||||||
},
|
|
||||||
new List<Swagger.Param>(),
|
|
||||||
new List<Swagger.Param>(),
|
|
||||||
new Map<String, Object>{
|
|
||||||
'course' => 'acc321',
|
|
||||||
'assignmentId' => 5
|
|
||||||
},
|
|
||||||
new Map<String, Object>{
|
|
||||||
'X-Session' => 'foo-bar-444'
|
|
||||||
},
|
|
||||||
new List<String>{'application/json', 'application/xml'},
|
|
||||||
new List<String>{'application/json', 'application/xml'},
|
|
||||||
new List<String>{'oauth_method'}
|
|
||||||
);
|
|
||||||
|
|
||||||
HttpRequest req = mock.getRequest();
|
|
||||||
String expectedUrl = 'https://www.mccombs.utexas.edu/courses/acc321/assignments/5';
|
|
||||||
Set<String> body = new Set<String>(req
|
|
||||||
.getBody()
|
|
||||||
.removeStart('{')
|
|
||||||
.removeEnd('}')
|
|
||||||
.split(',')
|
|
||||||
);
|
|
||||||
|
|
||||||
System.assertEquals(res, returned);
|
|
||||||
System.assertEquals(expectedUrl, req.getEndpoint());
|
|
||||||
System.assertEquals(6, body.size());
|
|
||||||
System.assert(body.contains('"title":"Chapter 4 quiz"'));
|
|
||||||
System.assert(body.contains('"timed":true'));
|
|
||||||
System.assert(body.contains('"time":60'));
|
|
||||||
System.assert(body.contains('"points":20.5'));
|
|
||||||
System.assert(body.contains('"due":"2016-05-10T23:59:59.000Z"'));
|
|
||||||
System.assert(body.contains('"description":""'));
|
|
||||||
System.assertEquals('PUT', req.getMethod());
|
|
||||||
System.assertEquals('Bearer foo-bar-access-token', req.getHeader('Authorization'));
|
|
||||||
System.assertEquals('foo-bar-444', req.getHeader('X-Session'));
|
|
||||||
System.assertEquals('application/json', req.getHeader('Accept'));
|
|
||||||
System.assertEquals('application/json', req.getHeader('Content-Type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setupRequestWithForm() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
HttpResponse res = new HttpResponse();
|
|
||||||
SwaggerResponseMock mock = new SwaggerResponseMock(res);
|
|
||||||
Swagger.OAuth2 auth = new Swagger.OAuth2();
|
|
||||||
auth.setAccessToken('foo-bar-access-token');
|
|
||||||
client.authentications.put('oauth_method', auth);
|
|
||||||
Test.setMock(HttpCalloutMock.class, mock);
|
|
||||||
|
|
||||||
HttpResponse returned = client.getResponse(
|
|
||||||
'PUT', '/courses/{course}/assignments/{assignmentId}', '',
|
|
||||||
new List<Swagger.Param>(),
|
|
||||||
new List<Swagger.Param>{
|
|
||||||
new Swagger.Param('title', 'Chapter 4 quiz'),
|
|
||||||
new Swagger.Param('timed', 'true'),
|
|
||||||
new Swagger.Param('time', '60'),
|
|
||||||
new Swagger.Param('points', '20.5'),
|
|
||||||
new Swagger.Param('due', '2016-05-10 18:59:59'),
|
|
||||||
new Swagger.Param('description', 'complete & upload \'section1: advanced\'')
|
|
||||||
},
|
|
||||||
new Map<String, Object>{
|
|
||||||
'course' => 'acc321',
|
|
||||||
'assignmentId' => 5
|
|
||||||
},
|
|
||||||
new Map<String, Object>{
|
|
||||||
'X-Session' => 'foo-bar-444'
|
|
||||||
},
|
|
||||||
new List<String>{'text/html', 'application/xml'},
|
|
||||||
new List<String>{'application/x-www-form-urlencoded'},
|
|
||||||
new List<String>{'oauth_method'}
|
|
||||||
);
|
|
||||||
|
|
||||||
HttpRequest req = mock.getRequest();
|
|
||||||
String expectedUrl = 'https://www.mccombs.utexas.edu/courses/acc321/assignments/5';
|
|
||||||
Set<String> body = new Set<String>(req.getBody().split('&'));
|
|
||||||
|
|
||||||
System.assertEquals(res, returned);
|
|
||||||
System.assertEquals(expectedUrl, req.getEndpoint());
|
|
||||||
System.assertEquals(6, body.size());
|
|
||||||
System.assert(body.contains('title=Chapter+4+quiz'));
|
|
||||||
System.assert(body.contains('timed=true'));
|
|
||||||
System.assert(body.contains('time=60'));
|
|
||||||
System.assert(body.contains('points=20.5'));
|
|
||||||
System.assert(body.contains('due=2016-05-10+18%3A59%3A59'));
|
|
||||||
System.assert(body.contains('description=complete+%26+upload+%27section1%3A+advanced%27'));
|
|
||||||
System.assertEquals('PUT', req.getMethod());
|
|
||||||
System.assertEquals('Bearer foo-bar-access-token', req.getHeader('Authorization'));
|
|
||||||
System.assertEquals('foo-bar-444', req.getHeader('X-Session'));
|
|
||||||
System.assertEquals('text/html,application/xml', req.getHeader('Accept'));
|
|
||||||
System.assertEquals('application/x-www-form-urlencoded', req.getHeader('Content-Type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_setupRequestWithQuery() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
HttpResponse res = new HttpResponse();
|
|
||||||
SwaggerResponseMock mock = new SwaggerResponseMock(res);
|
|
||||||
Swagger.OAuth2 auth = new Swagger.OAuth2();
|
|
||||||
auth.setAccessToken('foo-bar-access-token');
|
|
||||||
client.authentications.put('oauth_method', auth);
|
|
||||||
Test.setMock(HttpCalloutMock.class, mock);
|
|
||||||
|
|
||||||
HttpResponse returned = client.getResponse(
|
|
||||||
'GET', '/courses/{course}/assignments', '',
|
|
||||||
new List<Swagger.Param>{
|
|
||||||
new Swagger.Param('title', '#chapter1:section2'),
|
|
||||||
new Swagger.Param('due', '2016-05-10 18:59:59')
|
|
||||||
},
|
|
||||||
new List<Swagger.Param>(),
|
|
||||||
new Map<String, Object>{
|
|
||||||
'course' => 'acc321'
|
|
||||||
},
|
|
||||||
new Map<String, Object>(),
|
|
||||||
new List<String>{'application/xml'},
|
|
||||||
new List<String>{'text/plain'},
|
|
||||||
new List<String>{'oauth_method'}
|
|
||||||
);
|
|
||||||
|
|
||||||
HttpRequest req = mock.getRequest();
|
|
||||||
List<String> splitUrl = req.getEndpoint().split('\\?');
|
|
||||||
String expectedUrl = 'https://www.mccombs.utexas.edu/courses/acc321/assignments';
|
|
||||||
Set<String> query = new Set<String>(splitUrl.get(1).split('&'));
|
|
||||||
|
|
||||||
System.assertEquals(res, returned);
|
|
||||||
System.assertEquals(expectedUrl, splitUrl.get(0));
|
|
||||||
System.assertEquals(2, query.size());
|
|
||||||
System.assert(query.contains('title=%23chapter1%3Asection2'));
|
|
||||||
System.assert(query.contains('due=2016-05-10+18%3A59%3A59'));
|
|
||||||
System.assertEquals('GET', req.getMethod());
|
|
||||||
System.assertEquals('Bearer foo-bar-access-token', req.getHeader('Authorization'));
|
|
||||||
System.assertEquals('application/xml', req.getHeader('Accept'));
|
|
||||||
System.assertEquals('text/plain', req.getHeader('Content-Type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
|
||||||
private static void ApiClient_nonSuccessfulStatusCodeException() {
|
|
||||||
MockApiClient client = new MockApiClient();
|
|
||||||
HttpResponse res = new HttpResponse();
|
|
||||||
SwaggerResponseMock mock = new SwaggerResponseMock(res);
|
|
||||||
Swagger.OAuth2 auth = new Swagger.OAuth2();
|
|
||||||
auth.setAccessToken('foo-bar-access-token');
|
|
||||||
client.authentications.put('oauth_method', auth);
|
|
||||||
Test.setMock(HttpCalloutMock.class, mock);
|
|
||||||
|
|
||||||
res.setStatus('Not Found');
|
|
||||||
res.setStatusCode(404);
|
|
||||||
res.setHeader('X-Request-ID', '1234567890');
|
|
||||||
res.setHeader('Content-Type', 'application/json');
|
|
||||||
res.setBody('{"error":"the specified course does not exist"}');
|
|
||||||
|
|
||||||
try {
|
|
||||||
client.invoke(
|
|
||||||
'GET', '/courses/{course}', '',
|
|
||||||
new List<Swagger.Param>(),
|
|
||||||
new List<Swagger.Param>(),
|
|
||||||
new Map<String, Object>{
|
|
||||||
'course' => 'acc321'
|
|
||||||
},
|
|
||||||
new Map<String, Object>(),
|
|
||||||
new List<String>{'application/json'},
|
|
||||||
new List<String>{'text/plain'},
|
|
||||||
new List<String>{'oauth_method'},
|
|
||||||
null
|
|
||||||
);
|
|
||||||
} catch (Swagger.ApiException e) {
|
|
||||||
Map<String, String> headers = e.getHeaders();
|
|
||||||
|
|
||||||
System.assertEquals('API returned HTTP 404: Not Found', e.getMessage());
|
|
||||||
System.assertEquals(404, e.getStatusCode());
|
|
||||||
System.assertEquals('Not Found', e.getStatus());
|
|
||||||
System.assertEquals('{"error":"the specified course does not exist"}', e.getBody());
|
|
||||||
System.assertEquals(2, headers.size());
|
|
||||||
System.assertEquals('1234567890', headers.get('X-Request-ID'));
|
|
||||||
System.assertEquals('application/json', headers.get('Content-Type'));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
System.assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@isTest
|
@isTest
|
||||||
private static void ApiClient_returnParsedBody() {
|
private static void ApiClient_returnParsedBody() {
|
||||||
MockApiClient client = new MockApiClient();
|
MockApiClient client = new MockApiClient();
|
||||||
|
@ -37,18 +37,10 @@ private class {{classname}}Test {
|
|||||||
|
|
||||||
{{#authMethods}}
|
{{#authMethods}}
|
||||||
client = new {{classPrefix}}Client();
|
client = new {{classPrefix}}Client();
|
||||||
api = new {{classname}}(client);{{#isBasic}}
|
api = new {{classname}}(client);{{#isApiKey}}
|
||||||
((Swagger.HttpBasicAuth){{/isBasic}}{{#isOAuth}}
|
((Swagger.ApiKeyAuth){{/isApiKey}} client.getAuthentication('{{name}}');
|
||||||
((Swagger.OAuth2){{/isOAuth}}{{#isApiKey}}
|
|
||||||
((Swagger.ApiKeyAuth){{/isApiKey}} client.getAuthentication('{{name}}'))
|
|
||||||
{{#isBasic}}
|
|
||||||
.setCredentials('username', 'password');
|
|
||||||
{{/isBasic}}
|
|
||||||
{{#isOAuth}}
|
|
||||||
.setAccessToken('foo-bar-access-token');
|
|
||||||
{{/isOAuth}}
|
|
||||||
{{#isApiKey}}
|
{{#isApiKey}}
|
||||||
.setApiKey('foo-bar-api-key');
|
client.setApiKey('foo-bar-api-key');
|
||||||
{{/isApiKey}}
|
{{/isApiKey}}
|
||||||
{{#examples}}
|
{{#examples}}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ public class {{classPrefix}}Client extends Swagger.ApiClient {
|
|||||||
{{#hasAuthMethods}}
|
{{#hasAuthMethods}}
|
||||||
public {{classPrefix}}Client() {
|
public {{classPrefix}}Client() {
|
||||||
basePath = '{{basePath}}';
|
basePath = '{{basePath}}';
|
||||||
|
calloutName = '{{calloutName}}';
|
||||||
{{#authMethods}}
|
{{#authMethods}}
|
||||||
{{#isApiKey}}
|
{{#isApiKey}}
|
||||||
{{#isKeyInQuery}}
|
{{#isKeyInQuery}}
|
||||||
@ -11,20 +12,13 @@ public class {{classPrefix}}Client extends Swagger.ApiClient {
|
|||||||
authentications.put('{{name}}', new Swagger.ApiKeyHeaderAuth('{{keyParamName}}'));
|
authentications.put('{{name}}', new Swagger.ApiKeyHeaderAuth('{{keyParamName}}'));
|
||||||
{{/isKeyInQuery}}
|
{{/isKeyInQuery}}
|
||||||
{{/isApiKey}}
|
{{/isApiKey}}
|
||||||
{{^isApiKey}}
|
|
||||||
{{#isBasic}}
|
|
||||||
authentications.put('{{name}}', new Swagger.HttpBasicAuth());
|
|
||||||
{{/isBasic}}
|
|
||||||
{{^isBasic}}
|
|
||||||
authentications.put('{{name}}', new Swagger.OAuth2());
|
|
||||||
{{/isBasic}}
|
|
||||||
{{/isApiKey}}
|
|
||||||
{{/authMethods}}
|
{{/authMethods}}
|
||||||
}
|
}
|
||||||
{{/hasAuthMethods}}
|
{{/hasAuthMethods}}
|
||||||
{{^hasAuthMethods}}
|
{{^hasAuthMethods}}
|
||||||
public {{classPrefix}}Client() {
|
public {{classPrefix}}Client() {
|
||||||
basePath = '{{basePath}}';
|
basePath = '{{basePath}}';
|
||||||
|
calloutName = '{{calloutName}}';
|
||||||
}
|
}
|
||||||
{{/hasAuthMethods}}
|
{{/hasAuthMethods}}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<NamedCredential xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<endpoint>{{basePath}}</endpoint>
|
||||||
|
<principalType>Anonymous</principalType>
|
||||||
|
<protocol>NoAuthentication</protocol>
|
||||||
|
<label>{{calloutName}}</label>
|
||||||
|
</NamedCredential>
|
@ -25,7 +25,7 @@ Generated with Swagger Codegen (github.com/swagger-api/swagger-codegen)</descrip
|
|||||||
</types>
|
</types>
|
||||||
<types>
|
<types>
|
||||||
<members>{{sanitizedName}}</members>
|
<members>{{sanitizedName}}</members>
|
||||||
<name>RemoteSiteSetting</name>
|
<name>NamedCredential</name>
|
||||||
</types>
|
</types>
|
||||||
<version>{{apiVersion}}</version>
|
<version>{{apiVersion}}</version>
|
||||||
</Package>
|
</Package>
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<RemoteSiteSetting xmlns="http://soap.sforce.com/2006/04/metadata">{{#shortDescription}}
|
|
||||||
<description>{{{shortDescription}}}</description>{{/shortDescription}}
|
|
||||||
<disableProtocolSecurity>false</disableProtocolSecurity>
|
|
||||||
<isActive>true</isActive>
|
|
||||||
<url>{{basePath}}</url>
|
|
||||||
</RemoteSiteSetting>
|
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"sfdxSource": true,
|
||||||
|
"version": "1.0.0",
|
||||||
|
"sourceFolder": "src/",
|
||||||
|
"folders": [
|
||||||
|
"src/classes"
|
||||||
|
],
|
||||||
|
"files": [
|
||||||
|
]
|
||||||
|
}
|
@ -4,5 +4,5 @@
|
|||||||
:license {:name "<&projectLicenseName>"<#projectLicenseUrl>
|
:license {:name "<&projectLicenseName>"<#projectLicenseUrl>
|
||||||
:url "<&projectLicenseUrl>"</projectLicenseUrl>}</projectLicenseName>
|
:url "<&projectLicenseUrl>"</projectLicenseUrl>}</projectLicenseName>
|
||||||
:dependencies [[org.clojure/clojure "1.7.0"]
|
:dependencies [[org.clojure/clojure "1.7.0"]
|
||||||
[clj-http "2.0.0"]
|
[clj-http "3.6.0"]
|
||||||
[cheshire "5.5.0"]])
|
[cheshire "5.5.0"]])
|
||||||
|
@ -102,18 +102,27 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}{{#hasAuthMethods}}{{#authMethods}}{{#isBasic}}
|
{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}
|
||||||
|
{{#hasAuthMethods}}
|
||||||
|
{{#authMethods}}
|
||||||
|
{{#isBasic}}
|
||||||
// Configure HTTP basic authorization: {{{name}}}
|
// Configure HTTP basic authorization: {{{name}}}
|
||||||
Configuration.Default.Username = "YOUR_USERNAME";
|
Configuration.Default.Username = "YOUR_USERNAME";
|
||||||
Configuration.Default.Password = "YOUR_PASSWORD";{{/isBasic}}{{#isApiKey}}
|
Configuration.Default.Password = "YOUR_PASSWORD";
|
||||||
|
{{/isBasic}}
|
||||||
|
{{#isApiKey}}
|
||||||
// Configure API key authorization: {{{name}}}
|
// Configure API key authorization: {{{name}}}
|
||||||
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
// Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");{{/isApiKey}}{{#isOAuth}}
|
// Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");
|
||||||
|
{{/isApiKey}}
|
||||||
|
{{#isOAuth}}
|
||||||
// Configure OAuth2 access token for authorization: {{{name}}}
|
// Configure OAuth2 access token for authorization: {{{name}}}
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";{{/isOAuth}}{{/authMethods}}
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
{{/hasAuthMethods}}
|
{{/isOAuth}}
|
||||||
|
{{/authMethods}}
|
||||||
|
|
||||||
|
{{/hasAuthMethods}}
|
||||||
var apiInstance = new {{classname}}();
|
var apiInstance = new {{classname}}();
|
||||||
{{#allParams}}
|
{{#allParams}}
|
||||||
{{#isPrimitiveType}}
|
{{#isPrimitiveType}}
|
||||||
@ -136,9 +145,10 @@ namespace Example
|
|||||||
{
|
{
|
||||||
Debug.Print("Exception when calling {{classname}}.{{operationId}}: " + e.Message );
|
Debug.Print("Exception when calling {{classname}}.{{operationId}}: " + e.Message );
|
||||||
}
|
}
|
||||||
|
{{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}{{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
<a name="documentation-for-api-endpoints"></a>
|
<a name="documentation-for-api-endpoints"></a>
|
||||||
|
@ -32,18 +32,26 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
{{#hasAuthMethods}}{{#authMethods}}{{#isBasic}}
|
{{#hasAuthMethods}}
|
||||||
|
{{#authMethods}}
|
||||||
|
{{#isBasic}}
|
||||||
// Configure HTTP basic authorization: {{{name}}}
|
// Configure HTTP basic authorization: {{{name}}}
|
||||||
Configuration.Default.Username = "YOUR_USERNAME";
|
Configuration.Default.Username = "YOUR_USERNAME";
|
||||||
Configuration.Default.Password = "YOUR_PASSWORD";{{/isBasic}}{{#isApiKey}}
|
Configuration.Default.Password = "YOUR_PASSWORD";
|
||||||
|
{{/isBasic}}
|
||||||
|
{{#isApiKey}}
|
||||||
// Configure API key authorization: {{{name}}}
|
// Configure API key authorization: {{{name}}}
|
||||||
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
// Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");{{/isApiKey}}{{#isOAuth}}
|
// Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");
|
||||||
|
{{/isApiKey}}
|
||||||
|
{{#isOAuth}}
|
||||||
// Configure OAuth2 access token for authorization: {{{name}}}
|
// Configure OAuth2 access token for authorization: {{{name}}}
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";{{/isOAuth}}{{/authMethods}}
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
{{/hasAuthMethods}}
|
{{/isOAuth}}
|
||||||
|
{{/authMethods}}
|
||||||
|
|
||||||
|
{{/hasAuthMethods}}
|
||||||
var apiInstance = new {{classname}}();
|
var apiInstance = new {{classname}}();
|
||||||
{{#allParams}}
|
{{#allParams}}
|
||||||
{{#isPrimitiveType}}
|
{{#isPrimitiveType}}
|
||||||
@ -75,7 +83,7 @@ namespace Example
|
|||||||
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
|
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
|
------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
|
||||||
{{#allParams}} **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**]({{baseType}}.md){{/isFile}}{{/isPrimitiveType}}| {{description}} | {{^required}}[optional] {{/required}}{{#defaultValue}}[default to {{defaultValue}}]{{/defaultValue}}
|
{{#allParams}} **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**]({{#isContainer}}{{baseType}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}.md){{/isFile}}{{/isPrimitiveType}}| {{description}} | {{^required}}[optional] {{/required}}{{#defaultValue}}[default to {{defaultValue}}]{{/defaultValue}}
|
||||||
{{/allParams}}
|
{{/allParams}}
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
@ -117,7 +117,9 @@ module {{moduleName}}
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Typhoeus::Request.new(url, req_opts)
|
request = Typhoeus::Request.new(url, req_opts)
|
||||||
|
download_file(request) if opts[:return_type] == 'File'
|
||||||
|
request
|
||||||
end
|
end
|
||||||
|
|
||||||
# Check if the given MIME is a JSON MIME.
|
# Check if the given MIME is a JSON MIME.
|
||||||
@ -138,14 +140,16 @@ module {{moduleName}}
|
|||||||
# @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
|
# @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
|
||||||
def deserialize(response, return_type)
|
def deserialize(response, return_type)
|
||||||
body = response.body
|
body = response.body
|
||||||
|
|
||||||
|
# handle file downloading - return the File instance processed in request callbacks
|
||||||
|
# note that response body is empty when the file is written in chunks in request on_body callback
|
||||||
|
return @tempfile if return_type == 'File'
|
||||||
|
|
||||||
return nil if body.nil? || body.empty?
|
return nil if body.nil? || body.empty?
|
||||||
|
|
||||||
# return response body directly for String return type
|
# return response body directly for String return type
|
||||||
return body if return_type == 'String'
|
return body if return_type == 'String'
|
||||||
|
|
||||||
# handle file downloading - save response body into a tmp file and return the File instance
|
|
||||||
return download_file(response) if return_type == 'File'
|
|
||||||
|
|
||||||
# ensuring a default content type
|
# ensuring a default content type
|
||||||
content_type = response.headers['Content-Type'] || 'application/json'
|
content_type = response.headers['Content-Type'] || 'application/json'
|
||||||
|
|
||||||
@ -208,30 +212,38 @@ module {{moduleName}}
|
|||||||
|
|
||||||
# Save response body into a file in (the defined) temporary folder, using the filename
|
# Save response body into a file in (the defined) temporary folder, using the filename
|
||||||
# from the "Content-Disposition" header if provided, otherwise a random filename.
|
# from the "Content-Disposition" header if provided, otherwise a random filename.
|
||||||
|
# The response body is written to the file in chunks in order to handle files which
|
||||||
|
# size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
|
||||||
|
# process can use.
|
||||||
#
|
#
|
||||||
# @see Configuration#temp_folder_path
|
# @see Configuration#temp_folder_path
|
||||||
# @return [Tempfile] the file downloaded
|
def download_file(request)
|
||||||
def download_file(response)
|
|
||||||
content_disposition = response.headers['Content-Disposition']
|
|
||||||
if content_disposition and content_disposition =~ /filename=/i
|
|
||||||
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
|
|
||||||
prefix = sanitize_filename(filename)
|
|
||||||
else
|
|
||||||
prefix = 'download-'
|
|
||||||
end
|
|
||||||
prefix = prefix + '-' unless prefix.end_with?('-')
|
|
||||||
|
|
||||||
tempfile = nil
|
tempfile = nil
|
||||||
encoding = response.body.encoding
|
encoding = nil
|
||||||
Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding) do |file|
|
request.on_headers do |response|
|
||||||
file.write(response.body)
|
content_disposition = response.headers['Content-Disposition']
|
||||||
tempfile = file
|
if content_disposition and content_disposition =~ /filename=/i
|
||||||
|
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
|
||||||
|
prefix = sanitize_filename(filename)
|
||||||
|
else
|
||||||
|
prefix = 'download-'
|
||||||
|
end
|
||||||
|
prefix = prefix + '-' unless prefix.end_with?('-')
|
||||||
|
encoding = response.body.encoding
|
||||||
|
tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
|
||||||
|
@tempfile = tempfile
|
||||||
|
end
|
||||||
|
request.on_body do |chunk|
|
||||||
|
chunk.force_encoding(encoding)
|
||||||
|
tempfile.write(chunk)
|
||||||
|
end
|
||||||
|
request.on_complete do |response|
|
||||||
|
tempfile.close
|
||||||
|
@config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
||||||
|
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
||||||
|
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
||||||
|
"explicitly with `tempfile.delete`"
|
||||||
end
|
end
|
||||||
@config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
|
|
||||||
"with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
|
|
||||||
"will be deleted automatically with GC. It's also recommended to delete the temp file "\
|
|
||||||
"explicitly with `tempfile.delete`"
|
|
||||||
tempfile
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Sanitize filename by removing path.
|
# Sanitize filename by removing path.
|
||||||
|
@ -1,75 +0,0 @@
|
|||||||
<project>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<groupId>com.wordnik</groupId>
|
|
||||||
<artifactId>Goswagger</artifactId>
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
<name>Goswagger</name>
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-dependency-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-dependencies</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
|
||||||
<version>1.2.1</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>go-get-testify</id>
|
|
||||||
<phase>pre-integration-test</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>exec</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<executable>go</executable>
|
|
||||||
<arguments>
|
|
||||||
<argument>get</argument>
|
|
||||||
<argument>github.com/stretchr/testify/assert</argument>
|
|
||||||
</arguments>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>go-get-sling</id>
|
|
||||||
<phase>pre-integration-test</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>exec</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<executable>go</executable>
|
|
||||||
<arguments>
|
|
||||||
<argument>get</argument>
|
|
||||||
<argument>github.com/dghubble/sling</argument>
|
|
||||||
</arguments>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>go-test</id>
|
|
||||||
<phase>integration-test</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>exec</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<executable>go</executable>
|
|
||||||
<arguments>
|
|
||||||
<argument>test</argument>
|
|
||||||
<argument>-v</argument>
|
|
||||||
</arguments>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
|
@ -47,7 +47,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**body** | [**SwagPet**](SwagPet.md)| Pet object that needs to be added to the store |
|
**body** | [**SwagPet**](Pet.md)| Pet object that needs to be added to the store |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
@ -292,7 +292,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**body** | [**SwagPet**](SwagPet.md)| Pet object that needs to be added to the store |
|
**body** | [**SwagPet**](Pet.md)| Pet object that needs to be added to the store |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**body** | [**SwagOrder**](SwagOrder.md)| order placed for purchasing the pet |
|
**body** | [**SwagOrder**](Order.md)| order placed for purchasing the pet |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ try {
|
|||||||
|
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**body** | [**SwagUser**](SwagUser.md)| Created user object |
|
**body** | [**SwagUser**](User.md)| Created user object |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
@ -342,7 +342,7 @@ try {
|
|||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------- | ------------- | ------------- | -------------
|
------------- | ------------- | ------------- | -------------
|
||||||
**username** | **String**| name that need to be deleted |
|
**username** | **String**| name that need to be deleted |
|
||||||
**body** | [**SwagUser**](SwagUser.md)| Updated user object |
|
**body** | [**SwagUser**](User.md)| Updated user object |
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|
||||||
|
@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the result of uploading an image resource
|
||||||
|
*/
|
||||||
|
public class SwagApiResponse implements Swagger.MappedProperties {
|
||||||
|
/**
|
||||||
|
* Get code
|
||||||
|
* @return code
|
||||||
|
*/
|
||||||
|
public Integer code { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get r_type
|
||||||
|
* @return r_type
|
||||||
|
*/
|
||||||
|
public String r_type { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get message
|
||||||
|
* @return message
|
||||||
|
*/
|
||||||
|
public String message { get; set; }
|
||||||
|
|
||||||
|
private static final Map<String, String> propertyMappings = new Map<String, String>{
|
||||||
|
'type' => 'r_type'
|
||||||
|
};
|
||||||
|
|
||||||
|
public Map<String, String> getPropertyMappings() {
|
||||||
|
return propertyMappings;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SwagApiResponse getExample() {
|
||||||
|
SwagApiResponse apiResponse = new SwagApiResponse();
|
||||||
|
apiResponse.code = 123;
|
||||||
|
apiResponse.r_type = 'aeiou';
|
||||||
|
apiResponse.message = 'aeiou';
|
||||||
|
return apiResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean equals(Object obj) {
|
||||||
|
if (obj instanceof SwagApiResponse) {
|
||||||
|
SwagApiResponse apiResponse = (SwagApiResponse) obj;
|
||||||
|
return this.code == apiResponse.code
|
||||||
|
&& this.r_type == apiResponse.r_type
|
||||||
|
&& this.message == apiResponse.message;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer hashCode() {
|
||||||
|
Integer hashCode = 43;
|
||||||
|
hashCode = (17 * hashCode) + (code == null ? 0 : System.hashCode(code));
|
||||||
|
hashCode = (17 * hashCode) + (r_type == null ? 0 : System.hashCode(r_type));
|
||||||
|
hashCode = (17 * hashCode) + (message == null ? 0 : System.hashCode(message));
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,87 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagApiResponseTest {
|
||||||
|
@isTest
|
||||||
|
private static void equalsSameInstance() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = apiResponse1;
|
||||||
|
SwagApiResponse apiResponse3 = new SwagApiResponse();
|
||||||
|
SwagApiResponse apiResponse4 = apiResponse3;
|
||||||
|
|
||||||
|
System.assert(apiResponse1.equals(apiResponse2));
|
||||||
|
System.assert(apiResponse2.equals(apiResponse1));
|
||||||
|
System.assert(apiResponse1.equals(apiResponse1));
|
||||||
|
System.assert(apiResponse3.equals(apiResponse4));
|
||||||
|
System.assert(apiResponse4.equals(apiResponse3));
|
||||||
|
System.assert(apiResponse3.equals(apiResponse3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalsIdenticalInstance() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse3 = new SwagApiResponse();
|
||||||
|
SwagApiResponse apiResponse4 = new SwagApiResponse();
|
||||||
|
|
||||||
|
System.assert(apiResponse1.equals(apiResponse2));
|
||||||
|
System.assert(apiResponse2.equals(apiResponse1));
|
||||||
|
System.assert(apiResponse3.equals(apiResponse4));
|
||||||
|
System.assert(apiResponse4.equals(apiResponse3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsUnlikeInstance() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = new SwagApiResponse();
|
||||||
|
|
||||||
|
System.assertEquals(false, apiResponse1.equals(apiResponse2));
|
||||||
|
System.assertEquals(false, apiResponse2.equals(apiResponse1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsDifferentType() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = new SwagApiResponse();
|
||||||
|
|
||||||
|
System.assertEquals(false, apiResponse1.equals('foo'));
|
||||||
|
System.assertEquals(false, apiResponse2.equals('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsNull() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = new SwagApiResponse();
|
||||||
|
SwagApiResponse apiResponse3;
|
||||||
|
|
||||||
|
System.assertEquals(false, apiResponse1.equals(apiResponse3));
|
||||||
|
System.assertEquals(false, apiResponse2.equals(apiResponse3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void consistentHashCodeValue() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = new SwagApiResponse();
|
||||||
|
|
||||||
|
System.assertEquals(apiResponse1.hashCode(), apiResponse1.hashCode());
|
||||||
|
System.assertEquals(apiResponse2.hashCode(), apiResponse2.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalInstancesHaveSameHashCode() {
|
||||||
|
SwagApiResponse apiResponse1 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse2 = SwagApiResponse.getExample();
|
||||||
|
SwagApiResponse apiResponse3 = new SwagApiResponse();
|
||||||
|
SwagApiResponse apiResponse4 = new SwagApiResponse();
|
||||||
|
|
||||||
|
System.assert(apiResponse1.equals(apiResponse2));
|
||||||
|
System.assert(apiResponse3.equals(apiResponse4));
|
||||||
|
System.assertEquals(apiResponse1.hashCode(), apiResponse2.hashCode());
|
||||||
|
System.assertEquals(apiResponse3.hashCode(), apiResponse4.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void maintainRenamedProperties() {
|
||||||
|
SwagApiResponse apiResponse = new SwagApiResponse();
|
||||||
|
Map<String, String> propertyMappings = apiResponse.getPropertyMappings();
|
||||||
|
System.assertEquals('r_type', propertyMappings.get('type'));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A category for a pet
|
||||||
|
*/
|
||||||
|
public class SwagCategory {
|
||||||
|
/**
|
||||||
|
* Get id
|
||||||
|
* @return id
|
||||||
|
*/
|
||||||
|
public Long id { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get name
|
||||||
|
* @return name
|
||||||
|
*/
|
||||||
|
public String name { get; set; }
|
||||||
|
|
||||||
|
public static SwagCategory getExample() {
|
||||||
|
SwagCategory category = new SwagCategory();
|
||||||
|
category.id = 123456789L;
|
||||||
|
category.name = 'aeiou';
|
||||||
|
return category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean equals(Object obj) {
|
||||||
|
if (obj instanceof SwagCategory) {
|
||||||
|
SwagCategory category = (SwagCategory) obj;
|
||||||
|
return this.id == category.id
|
||||||
|
&& this.name == category.name;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer hashCode() {
|
||||||
|
Integer hashCode = 43;
|
||||||
|
hashCode = (17 * hashCode) + (id == null ? 0 : System.hashCode(id));
|
||||||
|
hashCode = (17 * hashCode) + (name == null ? 0 : System.hashCode(name));
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,80 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagCategoryTest {
|
||||||
|
@isTest
|
||||||
|
private static void equalsSameInstance() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = category1;
|
||||||
|
SwagCategory category3 = new SwagCategory();
|
||||||
|
SwagCategory category4 = category3;
|
||||||
|
|
||||||
|
System.assert(category1.equals(category2));
|
||||||
|
System.assert(category2.equals(category1));
|
||||||
|
System.assert(category1.equals(category1));
|
||||||
|
System.assert(category3.equals(category4));
|
||||||
|
System.assert(category4.equals(category3));
|
||||||
|
System.assert(category3.equals(category3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalsIdenticalInstance() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = SwagCategory.getExample();
|
||||||
|
SwagCategory category3 = new SwagCategory();
|
||||||
|
SwagCategory category4 = new SwagCategory();
|
||||||
|
|
||||||
|
System.assert(category1.equals(category2));
|
||||||
|
System.assert(category2.equals(category1));
|
||||||
|
System.assert(category3.equals(category4));
|
||||||
|
System.assert(category4.equals(category3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsUnlikeInstance() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = new SwagCategory();
|
||||||
|
|
||||||
|
System.assertEquals(false, category1.equals(category2));
|
||||||
|
System.assertEquals(false, category2.equals(category1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsDifferentType() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = new SwagCategory();
|
||||||
|
|
||||||
|
System.assertEquals(false, category1.equals('foo'));
|
||||||
|
System.assertEquals(false, category2.equals('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsNull() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = new SwagCategory();
|
||||||
|
SwagCategory category3;
|
||||||
|
|
||||||
|
System.assertEquals(false, category1.equals(category3));
|
||||||
|
System.assertEquals(false, category2.equals(category3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void consistentHashCodeValue() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = new SwagCategory();
|
||||||
|
|
||||||
|
System.assertEquals(category1.hashCode(), category1.hashCode());
|
||||||
|
System.assertEquals(category2.hashCode(), category2.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalInstancesHaveSameHashCode() {
|
||||||
|
SwagCategory category1 = SwagCategory.getExample();
|
||||||
|
SwagCategory category2 = SwagCategory.getExample();
|
||||||
|
SwagCategory category3 = new SwagCategory();
|
||||||
|
SwagCategory category4 = new SwagCategory();
|
||||||
|
|
||||||
|
System.assert(category1.equals(category2));
|
||||||
|
System.assert(category3.equals(category4));
|
||||||
|
System.assertEquals(category1.hashCode(), category2.hashCode());
|
||||||
|
System.assertEquals(category3.hashCode(), category4.hashCode());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,7 @@
|
|||||||
|
public class SwagClient extends Swagger.ApiClient {
|
||||||
|
public SwagClient() {
|
||||||
|
basePath = 'http://petstore.swagger.io/v2';
|
||||||
|
calloutName = 'Swagger_Petstore';
|
||||||
|
authentications.put('api_key', new Swagger.ApiKeyHeaderAuth('api_key'));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An order for a pets from the pet store
|
||||||
|
*/
|
||||||
|
public class SwagOrder {
|
||||||
|
/**
|
||||||
|
* Get id
|
||||||
|
* @return id
|
||||||
|
*/
|
||||||
|
public Long id { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get petId
|
||||||
|
* @return petId
|
||||||
|
*/
|
||||||
|
public Long petId { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get quantity
|
||||||
|
* @return quantity
|
||||||
|
*/
|
||||||
|
public Integer quantity { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get shipDate
|
||||||
|
* @return shipDate
|
||||||
|
*/
|
||||||
|
public Datetime shipDate { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Order Status
|
||||||
|
*/
|
||||||
|
public enum StatusEnum {
|
||||||
|
PLACED,
|
||||||
|
APPROVED,
|
||||||
|
DELIVERED
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Order Status
|
||||||
|
* @return status
|
||||||
|
*/
|
||||||
|
public StatusEnum status { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get complete
|
||||||
|
* @return complete
|
||||||
|
*/
|
||||||
|
public Boolean complete { get; set; }
|
||||||
|
|
||||||
|
public SwagOrder() {
|
||||||
|
complete = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SwagOrder getExample() {
|
||||||
|
SwagOrder order = new SwagOrder();
|
||||||
|
order.id = 123456789L;
|
||||||
|
order.petId = 123456789L;
|
||||||
|
order.quantity = 123;
|
||||||
|
order.shipDate = Datetime.newInstanceGmt(2000, 1, 23, 4, 56, 7);
|
||||||
|
order.status = StatusEnum.PLACED;
|
||||||
|
order.complete = true;
|
||||||
|
return order;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean equals(Object obj) {
|
||||||
|
if (obj instanceof SwagOrder) {
|
||||||
|
SwagOrder order = (SwagOrder) obj;
|
||||||
|
return this.id == order.id
|
||||||
|
&& this.petId == order.petId
|
||||||
|
&& this.quantity == order.quantity
|
||||||
|
&& this.shipDate == order.shipDate
|
||||||
|
&& this.status == order.status
|
||||||
|
&& this.complete == order.complete;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer hashCode() {
|
||||||
|
Integer hashCode = 43;
|
||||||
|
hashCode = (17 * hashCode) + (id == null ? 0 : System.hashCode(id));
|
||||||
|
hashCode = (17 * hashCode) + (petId == null ? 0 : System.hashCode(petId));
|
||||||
|
hashCode = (17 * hashCode) + (quantity == null ? 0 : System.hashCode(quantity));
|
||||||
|
hashCode = (17 * hashCode) + (shipDate == null ? 0 : System.hashCode(shipDate));
|
||||||
|
hashCode = (17 * hashCode) + (status == null ? 0 : System.hashCode(status));
|
||||||
|
hashCode = (17 * hashCode) + (complete == null ? 0 : System.hashCode(complete));
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,91 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagOrderTest {
|
||||||
|
@isTest
|
||||||
|
private static void equalsSameInstance() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = order1;
|
||||||
|
SwagOrder order3 = new SwagOrder();
|
||||||
|
SwagOrder order4 = order3;
|
||||||
|
|
||||||
|
System.assert(order1.equals(order2));
|
||||||
|
System.assert(order2.equals(order1));
|
||||||
|
System.assert(order1.equals(order1));
|
||||||
|
System.assert(order3.equals(order4));
|
||||||
|
System.assert(order4.equals(order3));
|
||||||
|
System.assert(order3.equals(order3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalsIdenticalInstance() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = SwagOrder.getExample();
|
||||||
|
SwagOrder order3 = new SwagOrder();
|
||||||
|
SwagOrder order4 = new SwagOrder();
|
||||||
|
|
||||||
|
System.assert(order1.equals(order2));
|
||||||
|
System.assert(order2.equals(order1));
|
||||||
|
System.assert(order3.equals(order4));
|
||||||
|
System.assert(order4.equals(order3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsUnlikeInstance() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = new SwagOrder();
|
||||||
|
|
||||||
|
System.assertEquals(false, order1.equals(order2));
|
||||||
|
System.assertEquals(false, order2.equals(order1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsDifferentType() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = new SwagOrder();
|
||||||
|
|
||||||
|
System.assertEquals(false, order1.equals('foo'));
|
||||||
|
System.assertEquals(false, order2.equals('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsNull() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = new SwagOrder();
|
||||||
|
SwagOrder order3;
|
||||||
|
|
||||||
|
System.assertEquals(false, order1.equals(order3));
|
||||||
|
System.assertEquals(false, order2.equals(order3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void consistentHashCodeValue() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = new SwagOrder();
|
||||||
|
|
||||||
|
System.assertEquals(order1.hashCode(), order1.hashCode());
|
||||||
|
System.assertEquals(order2.hashCode(), order2.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalInstancesHaveSameHashCode() {
|
||||||
|
SwagOrder order1 = SwagOrder.getExample();
|
||||||
|
SwagOrder order2 = SwagOrder.getExample();
|
||||||
|
SwagOrder order3 = new SwagOrder();
|
||||||
|
SwagOrder order4 = new SwagOrder();
|
||||||
|
|
||||||
|
System.assert(order1.equals(order2));
|
||||||
|
System.assert(order3.equals(order4));
|
||||||
|
System.assertEquals(order1.hashCode(), order2.hashCode());
|
||||||
|
System.assertEquals(order3.hashCode(), order4.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void defaultValuesPopulated() {
|
||||||
|
SwagOrder order = new SwagOrder();
|
||||||
|
System.assertEquals(false, order.complete);
|
||||||
|
System.assertEquals(null, order.id);
|
||||||
|
System.assertEquals(null, order.petId);
|
||||||
|
System.assertEquals(null, order.quantity);
|
||||||
|
System.assertEquals(null, order.shipDate);
|
||||||
|
System.assertEquals(null, order.status);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A pet for sale in the pet store
|
||||||
|
*/
|
||||||
|
public class SwagPet {
|
||||||
|
/**
|
||||||
|
* Get id
|
||||||
|
* @return id
|
||||||
|
*/
|
||||||
|
public Long id { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get category
|
||||||
|
* @return category
|
||||||
|
*/
|
||||||
|
public SwagCategory category { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get name
|
||||||
|
* @return name
|
||||||
|
*/
|
||||||
|
public String name { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get photoUrls
|
||||||
|
* @return photoUrls
|
||||||
|
*/
|
||||||
|
public List<String> photoUrls { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get tags
|
||||||
|
* @return tags
|
||||||
|
*/
|
||||||
|
public List<SwagTag> tags { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pet status in the store
|
||||||
|
*/
|
||||||
|
public enum StatusEnum {
|
||||||
|
AVAILABLE,
|
||||||
|
PENDING,
|
||||||
|
SOLD
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pet status in the store
|
||||||
|
* @return status
|
||||||
|
*/
|
||||||
|
public StatusEnum status { get; set; }
|
||||||
|
|
||||||
|
public SwagPet() {
|
||||||
|
photoUrls = new List<String>();
|
||||||
|
tags = new List<SwagTag>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SwagPet getExample() {
|
||||||
|
SwagPet pet = new SwagPet();
|
||||||
|
pet.id = 123456789L;
|
||||||
|
pet.category = SwagCategory.getExample();
|
||||||
|
pet.name = 'doggie';
|
||||||
|
pet.photoUrls = new List<String>{'aeiou'};
|
||||||
|
pet.tags = new List<SwagTag>{SwagTag.getExample()};
|
||||||
|
pet.status = StatusEnum.AVAILABLE;
|
||||||
|
return pet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean equals(Object obj) {
|
||||||
|
if (obj instanceof SwagPet) {
|
||||||
|
SwagPet pet = (SwagPet) obj;
|
||||||
|
return this.id == pet.id
|
||||||
|
&& this.category == pet.category
|
||||||
|
&& this.name == pet.name
|
||||||
|
&& this.photoUrls == pet.photoUrls
|
||||||
|
&& this.tags == pet.tags
|
||||||
|
&& this.status == pet.status;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer hashCode() {
|
||||||
|
Integer hashCode = 43;
|
||||||
|
hashCode = (17 * hashCode) + (id == null ? 0 : System.hashCode(id));
|
||||||
|
hashCode = (17 * hashCode) + (category == null ? 0 : System.hashCode(category));
|
||||||
|
hashCode = (17 * hashCode) + (name == null ? 0 : System.hashCode(name));
|
||||||
|
hashCode = (17 * hashCode) + (photoUrls == null ? 0 : System.hashCode(photoUrls));
|
||||||
|
hashCode = (17 * hashCode) + (tags == null ? 0 : System.hashCode(tags));
|
||||||
|
hashCode = (17 * hashCode) + (status == null ? 0 : System.hashCode(status));
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,241 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SwagPetApi {
|
||||||
|
SwagClient client;
|
||||||
|
|
||||||
|
public SwagPetApi(SwagClient client) {
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwagPetApi() {
|
||||||
|
this.client = new SwagClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwagClient getClient() {
|
||||||
|
return this.client;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*
|
||||||
|
* @param body Pet object that needs to be added to the store (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void addPet(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'POST', '/pet',
|
||||||
|
(SwagPet) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*
|
||||||
|
* @param petId Pet id to delete (required)
|
||||||
|
* @param apiKey (optional)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void deletePet(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('petId'), 'petId');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'DELETE', '/pet/{petId}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'petId' => (Long) params.get('petId')
|
||||||
|
},
|
||||||
|
new Map<String, Object>{
|
||||||
|
'api_key' => (String) params.get('apiKey')
|
||||||
|
},
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Finds Pets by status
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
* @param status Status values that need to be considered for filter (required)
|
||||||
|
* @return List<SwagPet>
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public List<SwagPet> findPetsByStatus(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('status'), 'status');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
// cast query params to verify their expected type
|
||||||
|
query.addAll(client.makeParam('status', (List<String>) params.get('status'), 'csv'));
|
||||||
|
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (List<SwagPet>) client.invoke(
|
||||||
|
'GET', '/pet/findByStatus', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
List<SwagPet>.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Finds Pets by tags
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
* @param tags Tags to filter by (required)
|
||||||
|
* @return List<SwagPet>
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public List<SwagPet> findPetsByTags(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('tags'), 'tags');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
// cast query params to verify their expected type
|
||||||
|
query.addAll(client.makeParam('tags', (List<String>) params.get('tags'), 'csv'));
|
||||||
|
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (List<SwagPet>) client.invoke(
|
||||||
|
'GET', '/pet/findByTags', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
List<SwagPet>.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Find pet by ID
|
||||||
|
* Returns a single pet
|
||||||
|
* @param petId ID of pet to return (required)
|
||||||
|
* @return SwagPet
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public SwagPet getPetById(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('petId'), 'petId');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (SwagPet) client.invoke(
|
||||||
|
'GET', '/pet/{petId}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'petId' => (Long) params.get('petId')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'api_key' },
|
||||||
|
SwagPet.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*
|
||||||
|
* @param body Pet object that needs to be added to the store (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void updatePet(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'PUT', '/pet',
|
||||||
|
(SwagPet) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*
|
||||||
|
* @param petId ID of pet that needs to be updated (required)
|
||||||
|
* @param name Updated name of the pet (optional)
|
||||||
|
* @param status Updated status of the pet (optional)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void updatePetWithForm(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('petId'), 'petId');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
// cast form params to verify their expected type
|
||||||
|
form.addAll(client.makeParam('name', (String) params.get('name')));
|
||||||
|
form.addAll(client.makeParam('status', (String) params.get('status')));
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'POST', '/pet/{petId}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'petId' => (Long) params.get('petId')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/x-www-form-urlencoded' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*
|
||||||
|
* @param petId ID of pet to update (required)
|
||||||
|
* @param additionalMetadata Additional data to pass to server (optional)
|
||||||
|
* @param file file to upload (optional)
|
||||||
|
* @return SwagApiResponse
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public SwagApiResponse uploadFile(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('petId'), 'petId');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
// cast form params to verify their expected type
|
||||||
|
form.addAll(client.makeParam('additionalMetadata', (String) params.get('additionalMetadata')));
|
||||||
|
form.addAll(client.makeParam('file', (Blob) params.get('file')));
|
||||||
|
|
||||||
|
return (SwagApiResponse) client.invoke(
|
||||||
|
'POST', '/pet/{petId}/uploadImage', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'petId' => (Long) params.get('petId')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/x-www-form-urlencoded' },
|
||||||
|
new List<String> { 'petstore_auth' },
|
||||||
|
SwagApiResponse.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,233 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagPetApiTest {
|
||||||
|
/**
|
||||||
|
* Add a new pet to the store
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void addPetTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(201);
|
||||||
|
res.setStatus('Created');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'body' => SwagPet.getExample()
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
api.addPet(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes a pet
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void deletePetTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'petId' => 2147483648L,
|
||||||
|
'apiKey' => 'apiKey_example'
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
api.deletePet(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds Pets by status
|
||||||
|
*
|
||||||
|
* Multiple status values can be provided with comma separated strings
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void findPetsByStatusTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'status' => new List<String>{'available'}
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
List<SwagPet> response;
|
||||||
|
List<SwagPet> expectedResponse;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('[ {\n "photoUrls" : [ "aeiou" ],\n "name" : "doggie",\n "id" : 0,\n "category" : {\n "name" : "aeiou",\n "id" : 6\n },\n "tags" : [ {\n "name" : "aeiou",\n "id" : 1\n } ],\n "status" : "available"\n} ]');
|
||||||
|
expectedResponse = new List<SwagPet>{SwagPet.getExample()};
|
||||||
|
response = (List<SwagPet>) api.findPetsByStatus(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds Pets by tags
|
||||||
|
*
|
||||||
|
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void findPetsByTagsTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'tags' => new List<String>{'aeiou'}
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
List<SwagPet> response;
|
||||||
|
List<SwagPet> expectedResponse;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('[ {\n "photoUrls" : [ "aeiou" ],\n "name" : "doggie",\n "id" : 0,\n "category" : {\n "name" : "aeiou",\n "id" : 6\n },\n "tags" : [ {\n "name" : "aeiou",\n "id" : 1\n } ],\n "status" : "available"\n} ]');
|
||||||
|
expectedResponse = new List<SwagPet>{SwagPet.getExample()};
|
||||||
|
response = (List<SwagPet>) api.findPetsByTags(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find pet by ID
|
||||||
|
*
|
||||||
|
* Returns a single pet
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void getPetByIdTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'petId' => 2147483648L
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
SwagPet response;
|
||||||
|
SwagPet expectedResponse;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client);
|
||||||
|
((Swagger.ApiKeyAuth) client.getAuthentication('api_key');
|
||||||
|
client.setApiKey('foo-bar-api-key');
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{\n "photoUrls" : [ "aeiou" ],\n "name" : "doggie",\n "id" : 0,\n "category" : {\n "name" : "aeiou",\n "id" : 6\n },\n "tags" : [ {\n "name" : "aeiou",\n "id" : 1\n } ],\n "status" : "available"\n}');
|
||||||
|
expectedResponse = SwagPet.getExample();
|
||||||
|
response = (SwagPet) api.getPetById(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update an existing pet
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void updatePetTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'body' => SwagPet.getExample()
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
api.updatePet(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates a pet in the store with form data
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void updatePetWithFormTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'petId' => 2147483648L,
|
||||||
|
'name' => 'name_example',
|
||||||
|
'status' => 'status_example'
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
api.updatePetWithForm(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* uploads an image
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void uploadFileTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'petId' => 2147483648L,
|
||||||
|
'additionalMetadata' => 'additionalMetadata_example',
|
||||||
|
'file' => Blob.valueOf('Sample text file\nContents')
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagPetApi api;
|
||||||
|
SwagApiResponse response;
|
||||||
|
SwagApiResponse expectedResponse;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagPetApi(client); client.getAuthentication('petstore_auth');
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{\n "code" : 0,\n "type" : "aeiou",\n "message" : "aeiou"\n}');
|
||||||
|
expectedResponse = SwagApiResponse.getExample();
|
||||||
|
response = (SwagApiResponse) api.uploadFile(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,91 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagPetTest {
|
||||||
|
@isTest
|
||||||
|
private static void equalsSameInstance() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = pet1;
|
||||||
|
SwagPet pet3 = new SwagPet();
|
||||||
|
SwagPet pet4 = pet3;
|
||||||
|
|
||||||
|
System.assert(pet1.equals(pet2));
|
||||||
|
System.assert(pet2.equals(pet1));
|
||||||
|
System.assert(pet1.equals(pet1));
|
||||||
|
System.assert(pet3.equals(pet4));
|
||||||
|
System.assert(pet4.equals(pet3));
|
||||||
|
System.assert(pet3.equals(pet3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalsIdenticalInstance() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = SwagPet.getExample();
|
||||||
|
SwagPet pet3 = new SwagPet();
|
||||||
|
SwagPet pet4 = new SwagPet();
|
||||||
|
|
||||||
|
System.assert(pet1.equals(pet2));
|
||||||
|
System.assert(pet2.equals(pet1));
|
||||||
|
System.assert(pet3.equals(pet4));
|
||||||
|
System.assert(pet4.equals(pet3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsUnlikeInstance() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = new SwagPet();
|
||||||
|
|
||||||
|
System.assertEquals(false, pet1.equals(pet2));
|
||||||
|
System.assertEquals(false, pet2.equals(pet1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsDifferentType() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = new SwagPet();
|
||||||
|
|
||||||
|
System.assertEquals(false, pet1.equals('foo'));
|
||||||
|
System.assertEquals(false, pet2.equals('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsNull() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = new SwagPet();
|
||||||
|
SwagPet pet3;
|
||||||
|
|
||||||
|
System.assertEquals(false, pet1.equals(pet3));
|
||||||
|
System.assertEquals(false, pet2.equals(pet3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void consistentHashCodeValue() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = new SwagPet();
|
||||||
|
|
||||||
|
System.assertEquals(pet1.hashCode(), pet1.hashCode());
|
||||||
|
System.assertEquals(pet2.hashCode(), pet2.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalInstancesHaveSameHashCode() {
|
||||||
|
SwagPet pet1 = SwagPet.getExample();
|
||||||
|
SwagPet pet2 = SwagPet.getExample();
|
||||||
|
SwagPet pet3 = new SwagPet();
|
||||||
|
SwagPet pet4 = new SwagPet();
|
||||||
|
|
||||||
|
System.assert(pet1.equals(pet2));
|
||||||
|
System.assert(pet3.equals(pet4));
|
||||||
|
System.assertEquals(pet1.hashCode(), pet2.hashCode());
|
||||||
|
System.assertEquals(pet3.hashCode(), pet4.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void defaultValuesPopulated() {
|
||||||
|
SwagPet pet = new SwagPet();
|
||||||
|
System.assertEquals(new List<String>(), pet.photoUrls);
|
||||||
|
System.assertEquals(new List<SwagTag>(), pet.tags);
|
||||||
|
System.assertEquals(null, pet.id);
|
||||||
|
System.assertEquals(null, pet.category);
|
||||||
|
System.assertEquals(null, pet.name);
|
||||||
|
System.assertEquals(null, pet.status);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,122 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SwagStoreApi {
|
||||||
|
SwagClient client;
|
||||||
|
|
||||||
|
public SwagStoreApi(SwagClient client) {
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwagStoreApi() {
|
||||||
|
this.client = new SwagClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwagClient getClient() {
|
||||||
|
return this.client;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete purchase order by ID
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
* @param orderId ID of the order that needs to be deleted (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void deleteOrder(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('orderId'), 'orderId');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'DELETE', '/store/order/{orderId}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'orderId' => (String) params.get('orderId')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Returns pet inventories by status
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
* @return Map<String, Integer>
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public Map<String, Integer> getInventory() {
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (Map<String, Integer>) client.invoke(
|
||||||
|
'GET', '/store/inventory', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String> { 'api_key' },
|
||||||
|
Map<String, Integer>.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Find purchase order by ID
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
* @param orderId ID of pet that needs to be fetched (required)
|
||||||
|
* @return SwagOrder
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public SwagOrder getOrderById(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('orderId'), 'orderId');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (SwagOrder) client.invoke(
|
||||||
|
'GET', '/store/order/{orderId}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'orderId' => (Long) params.get('orderId')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
SwagOrder.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*
|
||||||
|
* @param body order placed for purchasing the pet (required)
|
||||||
|
* @return SwagOrder
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public SwagOrder placeOrder(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (SwagOrder) client.invoke(
|
||||||
|
'POST', '/store/order',
|
||||||
|
(SwagOrder) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
SwagOrder.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,115 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagStoreApiTest {
|
||||||
|
/**
|
||||||
|
* Delete purchase order by ID
|
||||||
|
*
|
||||||
|
* For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void deleteOrderTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'orderId' => 'orderId_example'
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagStoreApi api;
|
||||||
|
|
||||||
|
api = new SwagStoreApi(new SwagClient());
|
||||||
|
|
||||||
|
api.deleteOrder(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns pet inventories by status
|
||||||
|
*
|
||||||
|
* Returns a map of status codes to quantities
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void getInventoryTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagStoreApi api;
|
||||||
|
Map<String, Integer> response;
|
||||||
|
Map<String, Integer> expectedResponse;
|
||||||
|
|
||||||
|
client = new SwagClient();
|
||||||
|
api = new SwagStoreApi(client);
|
||||||
|
((Swagger.ApiKeyAuth) client.getAuthentication('api_key');
|
||||||
|
client.setApiKey('foo-bar-api-key');
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{\n "key" : 0\n}');
|
||||||
|
expectedResponse = new Map<String, Integer>{'key'=>123};
|
||||||
|
response = (Map<String, Integer>) api.getInventory();
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find purchase order by ID
|
||||||
|
*
|
||||||
|
* For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void getOrderByIdTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'orderId' => 2147483648L
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagStoreApi api;
|
||||||
|
SwagOrder response;
|
||||||
|
SwagOrder expectedResponse;
|
||||||
|
|
||||||
|
api = new SwagStoreApi(new SwagClient());
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{\n "petId" : 6,\n "quantity" : 1,\n "id" : 0,\n "shipDate" : "2000-01-23T04:56:07.000+00:00",\n "complete" : false,\n "status" : "placed"\n}');
|
||||||
|
expectedResponse = SwagOrder.getExample();
|
||||||
|
response = (SwagOrder) api.getOrderById(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place an order for a pet
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void placeOrderTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'body' => SwagOrder.getExample()
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagStoreApi api;
|
||||||
|
SwagOrder response;
|
||||||
|
SwagOrder expectedResponse;
|
||||||
|
|
||||||
|
api = new SwagStoreApi(new SwagClient());
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{\n "petId" : 6,\n "quantity" : 1,\n "id" : 0,\n "shipDate" : "2000-01-23T04:56:07.000+00:00",\n "complete" : false,\n "status" : "placed"\n}');
|
||||||
|
expectedResponse = SwagOrder.getExample();
|
||||||
|
response = (SwagOrder) api.placeOrder(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A tag for a pet
|
||||||
|
*/
|
||||||
|
public class SwagTag {
|
||||||
|
/**
|
||||||
|
* Get id
|
||||||
|
* @return id
|
||||||
|
*/
|
||||||
|
public Long id { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get name
|
||||||
|
* @return name
|
||||||
|
*/
|
||||||
|
public String name { get; set; }
|
||||||
|
|
||||||
|
public static SwagTag getExample() {
|
||||||
|
SwagTag tag = new SwagTag();
|
||||||
|
tag.id = 123456789L;
|
||||||
|
tag.name = 'aeiou';
|
||||||
|
return tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean equals(Object obj) {
|
||||||
|
if (obj instanceof SwagTag) {
|
||||||
|
SwagTag tag = (SwagTag) obj;
|
||||||
|
return this.id == tag.id
|
||||||
|
&& this.name == tag.name;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer hashCode() {
|
||||||
|
Integer hashCode = 43;
|
||||||
|
hashCode = (17 * hashCode) + (id == null ? 0 : System.hashCode(id));
|
||||||
|
hashCode = (17 * hashCode) + (name == null ? 0 : System.hashCode(name));
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,80 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagTagTest {
|
||||||
|
@isTest
|
||||||
|
private static void equalsSameInstance() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = tag1;
|
||||||
|
SwagTag tag3 = new SwagTag();
|
||||||
|
SwagTag tag4 = tag3;
|
||||||
|
|
||||||
|
System.assert(tag1.equals(tag2));
|
||||||
|
System.assert(tag2.equals(tag1));
|
||||||
|
System.assert(tag1.equals(tag1));
|
||||||
|
System.assert(tag3.equals(tag4));
|
||||||
|
System.assert(tag4.equals(tag3));
|
||||||
|
System.assert(tag3.equals(tag3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalsIdenticalInstance() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = SwagTag.getExample();
|
||||||
|
SwagTag tag3 = new SwagTag();
|
||||||
|
SwagTag tag4 = new SwagTag();
|
||||||
|
|
||||||
|
System.assert(tag1.equals(tag2));
|
||||||
|
System.assert(tag2.equals(tag1));
|
||||||
|
System.assert(tag3.equals(tag4));
|
||||||
|
System.assert(tag4.equals(tag3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsUnlikeInstance() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = new SwagTag();
|
||||||
|
|
||||||
|
System.assertEquals(false, tag1.equals(tag2));
|
||||||
|
System.assertEquals(false, tag2.equals(tag1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsDifferentType() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = new SwagTag();
|
||||||
|
|
||||||
|
System.assertEquals(false, tag1.equals('foo'));
|
||||||
|
System.assertEquals(false, tag2.equals('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsNull() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = new SwagTag();
|
||||||
|
SwagTag tag3;
|
||||||
|
|
||||||
|
System.assertEquals(false, tag1.equals(tag3));
|
||||||
|
System.assertEquals(false, tag2.equals(tag3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void consistentHashCodeValue() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = new SwagTag();
|
||||||
|
|
||||||
|
System.assertEquals(tag1.hashCode(), tag1.hashCode());
|
||||||
|
System.assertEquals(tag2.hashCode(), tag2.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalInstancesHaveSameHashCode() {
|
||||||
|
SwagTag tag1 = SwagTag.getExample();
|
||||||
|
SwagTag tag2 = SwagTag.getExample();
|
||||||
|
SwagTag tag3 = new SwagTag();
|
||||||
|
SwagTag tag4 = new SwagTag();
|
||||||
|
|
||||||
|
System.assert(tag1.equals(tag2));
|
||||||
|
System.assert(tag3.equals(tag4));
|
||||||
|
System.assertEquals(tag1.hashCode(), tag2.hashCode());
|
||||||
|
System.assertEquals(tag3.hashCode(), tag4.hashCode());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,106 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A User who is purchasing from the pet store
|
||||||
|
*/
|
||||||
|
public class SwagUser {
|
||||||
|
/**
|
||||||
|
* Get id
|
||||||
|
* @return id
|
||||||
|
*/
|
||||||
|
public Long id { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get username
|
||||||
|
* @return username
|
||||||
|
*/
|
||||||
|
public String username { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get firstName
|
||||||
|
* @return firstName
|
||||||
|
*/
|
||||||
|
public String firstName { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get lastName
|
||||||
|
* @return lastName
|
||||||
|
*/
|
||||||
|
public String lastName { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get email
|
||||||
|
* @return email
|
||||||
|
*/
|
||||||
|
public String email { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get password
|
||||||
|
* @return password
|
||||||
|
*/
|
||||||
|
public String password { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get phone
|
||||||
|
* @return phone
|
||||||
|
*/
|
||||||
|
public String phone { get; set; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User Status
|
||||||
|
* @return userStatus
|
||||||
|
*/
|
||||||
|
public Integer userStatus { get; set; }
|
||||||
|
|
||||||
|
public static SwagUser getExample() {
|
||||||
|
SwagUser user = new SwagUser();
|
||||||
|
user.id = 123456789L;
|
||||||
|
user.username = 'aeiou';
|
||||||
|
user.firstName = 'aeiou';
|
||||||
|
user.lastName = 'aeiou';
|
||||||
|
user.email = 'aeiou';
|
||||||
|
user.password = 'aeiou';
|
||||||
|
user.phone = 'aeiou';
|
||||||
|
user.userStatus = 123;
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean equals(Object obj) {
|
||||||
|
if (obj instanceof SwagUser) {
|
||||||
|
SwagUser user = (SwagUser) obj;
|
||||||
|
return this.id == user.id
|
||||||
|
&& this.username == user.username
|
||||||
|
&& this.firstName == user.firstName
|
||||||
|
&& this.lastName == user.lastName
|
||||||
|
&& this.email == user.email
|
||||||
|
&& this.password == user.password
|
||||||
|
&& this.phone == user.phone
|
||||||
|
&& this.userStatus == user.userStatus;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer hashCode() {
|
||||||
|
Integer hashCode = 43;
|
||||||
|
hashCode = (17 * hashCode) + (id == null ? 0 : System.hashCode(id));
|
||||||
|
hashCode = (17 * hashCode) + (username == null ? 0 : System.hashCode(username));
|
||||||
|
hashCode = (17 * hashCode) + (firstName == null ? 0 : System.hashCode(firstName));
|
||||||
|
hashCode = (17 * hashCode) + (lastName == null ? 0 : System.hashCode(lastName));
|
||||||
|
hashCode = (17 * hashCode) + (email == null ? 0 : System.hashCode(email));
|
||||||
|
hashCode = (17 * hashCode) + (password == null ? 0 : System.hashCode(password));
|
||||||
|
hashCode = (17 * hashCode) + (phone == null ? 0 : System.hashCode(phone));
|
||||||
|
hashCode = (17 * hashCode) + (userStatus == null ? 0 : System.hashCode(userStatus));
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,223 @@
|
|||||||
|
/*
|
||||||
|
* Swagger Petstore
|
||||||
|
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SwagUserApi {
|
||||||
|
SwagClient client;
|
||||||
|
|
||||||
|
public SwagUserApi(SwagClient client) {
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwagUserApi() {
|
||||||
|
this.client = new SwagClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
public SwagClient getClient() {
|
||||||
|
return this.client;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create user
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* @param body Created user object (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void createUser(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'POST', '/user',
|
||||||
|
(SwagUser) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*
|
||||||
|
* @param body List of user object (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void createUsersWithArrayInput(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'POST', '/user/createWithArray',
|
||||||
|
(List<SwagUser>) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*
|
||||||
|
* @param body List of user object (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void createUsersWithListInput(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'POST', '/user/createWithList',
|
||||||
|
(List<SwagUser>) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Delete user
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* @param username The name that needs to be deleted (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void deleteUser(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('username'), 'username');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'DELETE', '/user/{username}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'username' => (String) params.get('username')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*
|
||||||
|
* @param username The name that needs to be fetched. Use user1 for testing. (required)
|
||||||
|
* @return SwagUser
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public SwagUser getUserByName(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('username'), 'username');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (SwagUser) client.invoke(
|
||||||
|
'GET', '/user/{username}', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'username' => (String) params.get('username')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
SwagUser.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*
|
||||||
|
* @param username The user name for login (required)
|
||||||
|
* @param password The password for login in clear text (required)
|
||||||
|
* @return String
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public String loginUser(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('username'), 'username');
|
||||||
|
client.assertNotNull(params.get('password'), 'password');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
// cast query params to verify their expected type
|
||||||
|
query.addAll(client.makeParam('username', (String) params.get('username')));
|
||||||
|
query.addAll(client.makeParam('password', (String) params.get('password')));
|
||||||
|
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
return (String) client.invoke(
|
||||||
|
'GET', '/user/login', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
String.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void logoutUser() {
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'GET', '/user/logout', '',
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Updated user
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
* @param username name that need to be deleted (required)
|
||||||
|
* @param body Updated user object (required)
|
||||||
|
* @throws Swagger.ApiException if fails to make API call
|
||||||
|
*/
|
||||||
|
public void updateUser(Map<String, Object> params) {
|
||||||
|
client.assertNotNull(params.get('username'), 'username');
|
||||||
|
client.assertNotNull(params.get('body'), 'body');
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>();
|
||||||
|
|
||||||
|
client.invoke(
|
||||||
|
'PUT', '/user/{username}',
|
||||||
|
(SwagUser) params.get('body'),
|
||||||
|
query, form,
|
||||||
|
new Map<String, Object>{
|
||||||
|
'username' => (String) params.get('username')
|
||||||
|
},
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>{ 'application/json' },
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,204 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagUserApiTest {
|
||||||
|
/**
|
||||||
|
* Create user
|
||||||
|
*
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void createUserTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(201);
|
||||||
|
res.setStatus('Created');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'body' => SwagUser.getExample()
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
api.createUser(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void createUsersWithArrayInputTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'body' => new List<SwagUser>{SwagUser.getExample()}
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
api.createUsersWithArrayInput(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates list of users with given input array
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void createUsersWithListInputTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'body' => new List<SwagUser>{SwagUser.getExample()}
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
api.createUsersWithListInput(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete user
|
||||||
|
*
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void deleteUserTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'username' => 'username_example'
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
api.deleteUser(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get user by user name
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void getUserByNameTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'username' => 'username_example'
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
SwagUser response;
|
||||||
|
SwagUser expectedResponse;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{\n "firstName" : "aeiou",\n "lastName" : "aeiou",\n "password" : "aeiou",\n "userStatus" : 6,\n "phone" : "aeiou",\n "id" : 0,\n "email" : "aeiou",\n "username" : "aeiou"\n}');
|
||||||
|
expectedResponse = SwagUser.getExample();
|
||||||
|
response = (SwagUser) api.getUserByName(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs user into the system
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void loginUserTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'username' => 'username_example',
|
||||||
|
'password' => 'password_example'
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
String response;
|
||||||
|
String expectedResponse;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('"aeiou"');
|
||||||
|
expectedResponse = 'aeiou';
|
||||||
|
response = (String) api.loginUser(params);
|
||||||
|
System.assertEquals(expectedResponse, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs out current logged in user session
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void logoutUserTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
api.logoutUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updated user
|
||||||
|
*
|
||||||
|
* This can only be done by the logged in user.
|
||||||
|
*/
|
||||||
|
@isTest
|
||||||
|
private static void updateUserTest() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setStatus('OK');
|
||||||
|
Test.setMock(HttpCalloutMock.class, new SwaggerResponseMock(res));
|
||||||
|
|
||||||
|
Map<String, Object> params = new Map<String, Object>{
|
||||||
|
'username' => 'username_example',
|
||||||
|
'body' => SwagUser.getExample()
|
||||||
|
};
|
||||||
|
|
||||||
|
SwagClient client;
|
||||||
|
SwagUserApi api;
|
||||||
|
|
||||||
|
api = new SwagUserApi(new SwagClient());
|
||||||
|
|
||||||
|
api.updateUser(params);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,80 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwagUserTest {
|
||||||
|
@isTest
|
||||||
|
private static void equalsSameInstance() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = user1;
|
||||||
|
SwagUser user3 = new SwagUser();
|
||||||
|
SwagUser user4 = user3;
|
||||||
|
|
||||||
|
System.assert(user1.equals(user2));
|
||||||
|
System.assert(user2.equals(user1));
|
||||||
|
System.assert(user1.equals(user1));
|
||||||
|
System.assert(user3.equals(user4));
|
||||||
|
System.assert(user4.equals(user3));
|
||||||
|
System.assert(user3.equals(user3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalsIdenticalInstance() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = SwagUser.getExample();
|
||||||
|
SwagUser user3 = new SwagUser();
|
||||||
|
SwagUser user4 = new SwagUser();
|
||||||
|
|
||||||
|
System.assert(user1.equals(user2));
|
||||||
|
System.assert(user2.equals(user1));
|
||||||
|
System.assert(user3.equals(user4));
|
||||||
|
System.assert(user4.equals(user3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsUnlikeInstance() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = new SwagUser();
|
||||||
|
|
||||||
|
System.assertEquals(false, user1.equals(user2));
|
||||||
|
System.assertEquals(false, user2.equals(user1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsDifferentType() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = new SwagUser();
|
||||||
|
|
||||||
|
System.assertEquals(false, user1.equals('foo'));
|
||||||
|
System.assertEquals(false, user2.equals('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void notEqualsNull() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = new SwagUser();
|
||||||
|
SwagUser user3;
|
||||||
|
|
||||||
|
System.assertEquals(false, user1.equals(user3));
|
||||||
|
System.assertEquals(false, user2.equals(user3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void consistentHashCodeValue() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = new SwagUser();
|
||||||
|
|
||||||
|
System.assertEquals(user1.hashCode(), user1.hashCode());
|
||||||
|
System.assertEquals(user2.hashCode(), user2.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void equalInstancesHaveSameHashCode() {
|
||||||
|
SwagUser user1 = SwagUser.getExample();
|
||||||
|
SwagUser user2 = SwagUser.getExample();
|
||||||
|
SwagUser user3 = new SwagUser();
|
||||||
|
SwagUser user4 = new SwagUser();
|
||||||
|
|
||||||
|
System.assert(user1.equals(user2));
|
||||||
|
System.assert(user3.equals(user4));
|
||||||
|
System.assertEquals(user1.hashCode(), user2.hashCode());
|
||||||
|
System.assertEquals(user3.hashCode(), user4.hashCode());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,313 @@
|
|||||||
|
public class Swagger {
|
||||||
|
private static final String HEADER_CONTENT_TYPE = 'Content-Type';
|
||||||
|
private static final String HEADER_ACCEPT = 'Accept';
|
||||||
|
private static final String HEADER_ACCEPT_DELIMITER = ',';
|
||||||
|
private static final Map<String, String> DELIMITERS = new Map<String, String> {
|
||||||
|
'csv' => ',',
|
||||||
|
'ssv' => ' ',
|
||||||
|
'tsv' => '\t',
|
||||||
|
'pipes' => '|'
|
||||||
|
};
|
||||||
|
|
||||||
|
public class Param {
|
||||||
|
private String name, value;
|
||||||
|
|
||||||
|
public Param(String name, String value) {
|
||||||
|
this.name = name;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override String toString() {
|
||||||
|
return EncodingUtil.urlEncode(name, 'UTF-8') + '='
|
||||||
|
+ EncodingUtil.urlEncode(value, 'UTF-8');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Authentication {
|
||||||
|
void apply(Map<String, Object> headers, List<Param> query);
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface MappedProperties {
|
||||||
|
Map<String, String> getPropertyMappings();
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract class ApiKeyAuth implements Authentication {
|
||||||
|
protected final String paramName;
|
||||||
|
protected String key = '';
|
||||||
|
|
||||||
|
public void setApiKey(String key) {
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
private String getApiKey() {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ApiKeyQueryAuth extends ApiKeyAuth {
|
||||||
|
public ApiKeyQueryAuth(String paramName) {
|
||||||
|
this.paramName = paramName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void apply(Map<String, Object> headers, List<Param> query) {
|
||||||
|
query.add(new Param(paramName, key));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ApiKeyHeaderAuth extends ApiKeyAuth {
|
||||||
|
public ApiKeyHeaderAuth(String paramName) {
|
||||||
|
this.paramName = paramName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void apply(Map<String, Object> headers, List<Param> query) {
|
||||||
|
headers.put(paramName, key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class ApiException extends Exception {
|
||||||
|
private final Integer code;
|
||||||
|
private final String status;
|
||||||
|
private final Map<String, String> headers;
|
||||||
|
private final String body;
|
||||||
|
|
||||||
|
public ApiException(Integer code, String status, Map<String, String> headers, String body) {
|
||||||
|
this('API returned HTTP ' + code + ': ' + status);
|
||||||
|
this.code = code;
|
||||||
|
this.status = status;
|
||||||
|
this.headers = headers;
|
||||||
|
this.body = body;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getStatusCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getHeaders() {
|
||||||
|
return headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBody() {
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual class ApiClient {
|
||||||
|
protected String preferredContentType = 'application/json';
|
||||||
|
protected String preferredAccept = 'application/json';
|
||||||
|
protected final String basePath;
|
||||||
|
protected final String calloutName;
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected final Map<String, Authentication> authentications = new Map<String, Authentication>();
|
||||||
|
|
||||||
|
public virtual Authentication getAuthentication(String authName) {
|
||||||
|
return authentications.get(authName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void setApiKey(String apiKey) {
|
||||||
|
for (Authentication auth : authentications.values()) {
|
||||||
|
if (auth instanceof ApiKeyAuth) {
|
||||||
|
((ApiKeyAuth) auth).setApiKey(apiKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new NoSuchElementException('No API key authentication configured!');
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Param> makeParams(String name, List<Object> values) {
|
||||||
|
List<Param> pairs = new List<Param>();
|
||||||
|
for (Object value : new List<Object>(values)) {
|
||||||
|
pairs.add(new Param(name, String.valueOf(value)));
|
||||||
|
}
|
||||||
|
return pairs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Param> makeParam(String name, List<Object> values, String format) {
|
||||||
|
List<Param> pairs = new List<Param>();
|
||||||
|
if (values != null) {
|
||||||
|
String delimiter = DELIMITERS.get(format);
|
||||||
|
pairs.add(new Param(name, String.join(values, delimiter)));
|
||||||
|
}
|
||||||
|
return pairs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Param> makeParam(String name, Object value) {
|
||||||
|
List<Param> pairs = new List<Param>();
|
||||||
|
if (value != null) {
|
||||||
|
pairs.add(new Param(name, String.valueOf(value)));
|
||||||
|
}
|
||||||
|
return pairs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void assertNotNull(Object required, String parameterName) {
|
||||||
|
if (required == null) {
|
||||||
|
Exception e = new NullPointerException();
|
||||||
|
e.setMessage('Argument cannot be null: ' + parameterName);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual Object invoke(
|
||||||
|
String method, String path, Object body, List<Param> query, List<Param> form,
|
||||||
|
Map<String, Object> pathParams, Map<String, Object> headers, List<String> accepts,
|
||||||
|
List<String> contentTypes, List<String> authMethods, Type returnType) {
|
||||||
|
|
||||||
|
HttpResponse res = getResponse(method, path, body, query, form, pathParams, headers,
|
||||||
|
accepts, contentTypes, authMethods);
|
||||||
|
|
||||||
|
Integer code = res.getStatusCode();
|
||||||
|
Boolean isFailure = code / 100 != 2;
|
||||||
|
if (isFailure) {
|
||||||
|
throw new ApiException(code, res.getStatus(), getHeaders(res), res.getBody());
|
||||||
|
} else if (returnType != null) {
|
||||||
|
return toReturnValue(res.getBody(), returnType, res.getHeader('Content-Type'));
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual Map<String, String> getHeaders(HttpResponse res) {
|
||||||
|
Map<String, String> headers = new Map<String, String>();
|
||||||
|
List<String> headerKeys = res.getHeaderKeys();
|
||||||
|
for (String headerKey : headerKeys) {
|
||||||
|
headers.put(headerKey, res.getHeader(headerKey));
|
||||||
|
}
|
||||||
|
return headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual Object toReturnValue(String body, Type returnType, String contentType) {
|
||||||
|
if (contentType == 'application/json') {
|
||||||
|
Object o = returnType.newInstance();
|
||||||
|
if (o instanceof MappedProperties) {
|
||||||
|
Map<String, String> propertyMappings = ((MappedProperties) o).getPropertyMappings();
|
||||||
|
for (String baseName : propertyMappings.keySet()) {
|
||||||
|
body = body.replaceAll('"' + baseName + '"\\s*:',
|
||||||
|
'"' + propertyMappings.get(baseName) + '":');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JsonParser parser = Json.createParser(body);
|
||||||
|
parser.nextToken();
|
||||||
|
return parser.readValueAs(returnType);
|
||||||
|
}
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual HttpResponse getResponse(
|
||||||
|
String method, String path, Object body, List<Param> query, List<Param> form,
|
||||||
|
Map<String, Object> pathParams, Map<String, Object> headers, List<String> accepts,
|
||||||
|
List<String> contentTypes, List<String> authMethods) {
|
||||||
|
|
||||||
|
HttpRequest req = new HttpRequest();
|
||||||
|
applyAuthentication(authMethods, headers, query);
|
||||||
|
req.setMethod(method);
|
||||||
|
req.setEndpoint(toEndpoint(path, pathParams, query));
|
||||||
|
String contentType = setContentTypeHeader(contentTypes, headers);
|
||||||
|
setAcceptHeader(accepts, headers);
|
||||||
|
setHeaders(req, headers);
|
||||||
|
|
||||||
|
if (method != 'GET') {
|
||||||
|
req.setBody(toBody(contentType, body, form));
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Http().send(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual void setHeaders(HttpRequest req, Map<String, Object> headers) {
|
||||||
|
for (String headerName : headers.keySet()) {
|
||||||
|
req.setHeader(headerName, String.valueOf(headers.get(headerName)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual String toBody(String contentType, Object body, List<Param> form) {
|
||||||
|
if (contentType.contains('application/x-www-form-urlencoded')) {
|
||||||
|
return paramsToString(form);
|
||||||
|
} else if (contentType.contains('application/json')) {
|
||||||
|
return Json.serialize(body);
|
||||||
|
}
|
||||||
|
return String.valueOf(body);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual String setContentTypeHeader(List<String> contentTypes,
|
||||||
|
Map<String, Object> headers) {
|
||||||
|
if (contentTypes.isEmpty()) {
|
||||||
|
headers.put(HEADER_CONTENT_TYPE, preferredContentType);
|
||||||
|
return preferredContentType;
|
||||||
|
}
|
||||||
|
for (String contentType : contentTypes) {
|
||||||
|
if (preferredContentType == contentType) {
|
||||||
|
headers.put(HEADER_CONTENT_TYPE, contentType);
|
||||||
|
return contentType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String contentType = contentTypes.get(0);
|
||||||
|
headers.put(HEADER_CONTENT_TYPE, contentType);
|
||||||
|
return contentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual void setAcceptHeader(List<String> accepts, Map<String, Object> headers) {
|
||||||
|
for (String accept : accepts) {
|
||||||
|
if (preferredAccept == accept) {
|
||||||
|
headers.put(HEADER_ACCEPT, accept);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!accepts.isEmpty()) {
|
||||||
|
headers.put(HEADER_ACCEPT, String.join(accepts, HEADER_ACCEPT_DELIMITER));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual void applyAuthentication(List<String> names, Map<String, Object> headers,
|
||||||
|
List<Param> query) {
|
||||||
|
for (Authentication auth : getAuthMethods(names)) {
|
||||||
|
auth.apply(headers, query);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual List<Authentication> getAuthMethods(List<String> names) {
|
||||||
|
List<Authentication> authMethods = new List<Authentication>();
|
||||||
|
for (String name : names) {
|
||||||
|
authMethods.add(authentications.get(name));
|
||||||
|
}
|
||||||
|
return authMethods;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual String toPath(String path, Map<String, Object> params) {
|
||||||
|
String formatted = path;
|
||||||
|
for (String key : params.keySet()) {
|
||||||
|
formatted = formatted.replace('{' + key + '}', String.valueOf(params.get(key)));
|
||||||
|
}
|
||||||
|
return formatted;
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual String toEndpoint(String path, Map<String, Object> params,
|
||||||
|
List<Param> queryParams) {
|
||||||
|
String query = '?' + paramsToString(queryParams);
|
||||||
|
return '"callout:' + calloutName + toPath(path, params) + query.removeEnd('?') + '""';
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestVisible
|
||||||
|
protected virtual String paramsToString(List<Param> params) {
|
||||||
|
String s = '';
|
||||||
|
for (Param p : params) {
|
||||||
|
s += '&' + p;
|
||||||
|
}
|
||||||
|
return s.removeStart('&');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,18 @@
|
|||||||
|
@isTest
|
||||||
|
public class SwaggerResponseMock implements HttpCalloutMock {
|
||||||
|
private final HttpResponse response;
|
||||||
|
private HttpRequest request;
|
||||||
|
|
||||||
|
public SwaggerResponseMock(HttpResponse response) {
|
||||||
|
this.response = response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HttpResponse respond(HttpRequest request) {
|
||||||
|
this.request = request;
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HttpRequest getRequest() {
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,366 @@
|
|||||||
|
@isTest
|
||||||
|
private class SwaggerTest {
|
||||||
|
@isTest
|
||||||
|
private static void Param_urlEncodeKeyValuePairUtf8() {
|
||||||
|
String toEncodeLeft = 'Hello +%-_.!~*\'()@';
|
||||||
|
String toEncodeRight = 'World +%-_.!~*\'()@';
|
||||||
|
String expected = 'Hello+%2B%25-_.%21%7E*%27%28%29%40=World+%2B%25-_.%21%7E*%27%28%29%40';
|
||||||
|
String result = new Swagger.Param(toEncodeLeft, toEncodeRight).toString();
|
||||||
|
System.assertEquals(expected, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiKeyHeaderAuth_keyInHeaderWithGivenName() {
|
||||||
|
Map<String, Object> headers = new Map<String, String>();
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
Swagger.ApiKeyHeaderAuth auth = new Swagger.ApiKeyHeaderAuth('X-Authenticate');
|
||||||
|
auth.setApiKey('foo-bar-api-key');
|
||||||
|
auth.apply(headers, query);
|
||||||
|
|
||||||
|
System.assert(query.isEmpty());
|
||||||
|
System.assertEquals(1, headers.size());
|
||||||
|
System.assertEquals('foo-bar-api-key', headers.get('X-Authenticate'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiKeyQueryAuth_keyInQueryParamWithGivenName() {
|
||||||
|
Map<String, Object> headers = new Map<String, String>();
|
||||||
|
List<Swagger.Param> query = new List<Swagger.Param>();
|
||||||
|
Swagger.ApiKeyQueryAuth auth = new Swagger.ApiKeyQueryAuth('auth_token');
|
||||||
|
auth.setApiKey('foo-bar-api-key');
|
||||||
|
auth.apply(headers, query);
|
||||||
|
|
||||||
|
System.assert(headers.isEmpty());
|
||||||
|
System.assertEquals(1, query.size());
|
||||||
|
System.assertEquals('auth_token=foo-bar-api-key', query.get(0).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_returnAuthenticationMatchingInput() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
Swagger.ApiKeyHeaderAuth auth1 = new Swagger.ApiKeyHeaderAuth('foo');
|
||||||
|
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('foo');
|
||||||
|
|
||||||
|
client.authentications.put('auth1', auth1);
|
||||||
|
client.authentications.put('auth2', auth2);
|
||||||
|
|
||||||
|
System.assertEquals(auth1, client.getAuthentication('auth1'));
|
||||||
|
System.assertEquals(auth2, client.getAuthentication('auth2'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_oneKeyValuePairForEachValueInList() {
|
||||||
|
List<Object> values = new List<Object>{'bar', 4, false, 12.4, ''};
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParams('foo', values);
|
||||||
|
|
||||||
|
System.assertEquals(5, params.size());
|
||||||
|
System.assertEquals('foo=bar', params.get(0).toString());
|
||||||
|
System.assertEquals('foo=4', params.get(1).toString());
|
||||||
|
System.assertEquals('foo=false', params.get(2).toString());
|
||||||
|
System.assertEquals('foo=12.4', params.get(3).toString());
|
||||||
|
System.assertEquals('foo=', params.get(4).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_nullMultiValuesListToEmptyParamsList() {
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParams('foo', null);
|
||||||
|
|
||||||
|
System.assert(params.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_valuesListToSingleCsvKeyValuePair() {
|
||||||
|
List<Object> values = new List<Object>{'bar', 4, false, 12.4, ''};
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParam('foo', values, 'csv');
|
||||||
|
|
||||||
|
System.assertEquals(1, params.size());
|
||||||
|
System.assertEquals('foo=bar%2C4%2Cfalse%2C12.4%2C', params.get(0).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_valuesListToSingleSsvKeyValuePair() {
|
||||||
|
List<Object> values = new List<Object>{'bar', 4, false, 12.4, ''};
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParam('foo', values, 'ssv');
|
||||||
|
|
||||||
|
System.assertEquals(1, params.size());
|
||||||
|
System.assertEquals('foo=bar+4+false+12.4+', params.get(0).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_valuesListToSingleTsvKeyValuePair() {
|
||||||
|
List<Object> values = new List<Object>{'bar', 4, false, 12.4, ''};
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParam('foo', values, 'tsv');
|
||||||
|
|
||||||
|
System.assertEquals(1, params.size());
|
||||||
|
System.assertEquals('foo=bar%094%09false%0912.4%09', params.get(0).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_valuesListToSinglePipeSeparatedKeyValuePair() {
|
||||||
|
List<Object> values = new List<Object>{'bar', 4, false, 12.4, ''};
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParam('foo', values, 'pipes');
|
||||||
|
|
||||||
|
System.assertEquals(1, params.size());
|
||||||
|
System.assertEquals('foo=bar%7C4%7Cfalse%7C12.4%7C', params.get(0).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_nullValuesListToEmptyParamsList() {
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = client.makeParam('foo', null, 'csv');
|
||||||
|
|
||||||
|
System.assert(params.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_paramsFromAnyPrimitiveTypeDiscardNull() {
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
List<Swagger.Param> params = new List<Swagger.Param>();
|
||||||
|
params.addAll(client.makeParam('foo', 'bar'));
|
||||||
|
params.addAll(client.makeParam('foo', 10));
|
||||||
|
params.addAll(client.makeParam('foo', 12.6));
|
||||||
|
params.addAll(client.makeParam('foo', true));
|
||||||
|
params.addAll(client.makeParam('foo', ''));
|
||||||
|
params.addAll(client.makeParam('foo', Datetime.newInstanceGmt(2017, 1, 1, 15, 0, 0)));
|
||||||
|
params.addAll(client.makeParam('foo', null));
|
||||||
|
|
||||||
|
System.assertEquals(6, params.size());
|
||||||
|
System.assertEquals('foo=bar', params.get(0).toString());
|
||||||
|
System.assertEquals('foo=10', params.get(1).toString());
|
||||||
|
System.assertEquals('foo=12.6', params.get(2).toString());
|
||||||
|
System.assertEquals('foo=true', params.get(3).toString());
|
||||||
|
System.assertEquals('foo=', params.get(4).toString());
|
||||||
|
System.assertEquals('foo=2017-01-01+15%3A00%3A00', params.get(5).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_requiredParameterPasses() {
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
client.assertNotNull('foo', 'bar');
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_requiredParameterFails() {
|
||||||
|
Swagger.ApiClient client = new Swagger.ApiClient();
|
||||||
|
try {
|
||||||
|
client.assertNotNull(null, 'bar');
|
||||||
|
} catch (NullPointerException e) {
|
||||||
|
System.assertEquals('Argument cannot be null: bar', e.getMessage());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
System.assert(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_extractHeadersFromResponse() {
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setHeader('Cache-Control', 'private, max-age=0');
|
||||||
|
Map<String, String> headers = new MockApiClient().getHeaders(res);
|
||||||
|
|
||||||
|
System.assertEquals(2, headers.size());
|
||||||
|
System.assertEquals('application/json', headers.get('Content-Type'));
|
||||||
|
System.assertEquals('private, max-age=0', headers.get('Cache-Control'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_deserializeResponseBodyByContentType() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
String jsonBody = '{"red":"apple","yellow":"banana","orange":"orange"}';
|
||||||
|
Map<String, String> result1 = (Map<String, String>) client
|
||||||
|
.toReturnValue(jsonBody, Map<String, String>.class, 'application/json');
|
||||||
|
|
||||||
|
System.assertEquals(3, result1.size());
|
||||||
|
System.assertEquals('apple', result1.get('red'));
|
||||||
|
System.assertEquals('banana', result1.get('yellow'));
|
||||||
|
System.assertEquals('orange', result1.get('orange'));
|
||||||
|
|
||||||
|
String result2 = (String) client
|
||||||
|
.toReturnValue('Hello, World!', String.class, 'text/plain');
|
||||||
|
|
||||||
|
System.assertEquals('Hello, World!', result2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_addStringifiedHeadersToRequest() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
Map<String, Object> headers = new Map<String, Object>{
|
||||||
|
'Content-Type' => 'application/json',
|
||||||
|
'Max-Forwards' => 10
|
||||||
|
};
|
||||||
|
HttpRequest req = new HttpRequest();
|
||||||
|
client.setHeaders(req, headers);
|
||||||
|
|
||||||
|
System.assertEquals('application/json', req.getHeader('Content-Type'));
|
||||||
|
System.assertEquals('10', req.getHeader('Max-Forwards'));
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_serializeRequestBodyOrFormByContentType() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
Map<String, Object> body1 = new Map<String, Object>{
|
||||||
|
'hello' => 'world',
|
||||||
|
'foo' => 15,
|
||||||
|
'bar' => Datetime.newInstanceGmt(2017, 1, 1, 15, 0, 0),
|
||||||
|
'bat' => false
|
||||||
|
};
|
||||||
|
Set<String> expected1 = new Set<String>{
|
||||||
|
'"hello":"world"',
|
||||||
|
'"foo":15',
|
||||||
|
'"bar":"2017-01-01T15:00:00.000Z"',
|
||||||
|
'"bat":false'
|
||||||
|
};
|
||||||
|
Set<String> actual1 = new Set<String>(client
|
||||||
|
.toBody('application/json', body1, new List<Swagger.Param>())
|
||||||
|
.removeStart('{')
|
||||||
|
.removeEnd('}')
|
||||||
|
.split(',')
|
||||||
|
);
|
||||||
|
System.assertEquals(expected1, actual1);
|
||||||
|
|
||||||
|
String body2 = 'Hello, World!';
|
||||||
|
String actual2 = client.toBody('text/plain', body2, new List<Swagger.Param>());
|
||||||
|
System.assertEquals(body2, actual2);
|
||||||
|
|
||||||
|
List<Swagger.Param> form = new List<Swagger.Param>{
|
||||||
|
new Swagger.Param('hello', 'world'),
|
||||||
|
new Swagger.Param('date', '2017-01-01 15:00:00')
|
||||||
|
};
|
||||||
|
String expected3 = 'hello=world&date=2017-01-01+15%3A00%3A00';
|
||||||
|
String actual3 = client.toBody('application/x-www-form-urlencoded', '', form);
|
||||||
|
System.assertEquals(expected3, actual3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_usePreferredContentTypeOrFirstInList() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
|
||||||
|
Map<String, Object> headers1 = new Map<String, Object>();
|
||||||
|
List<String> types1 = new List<String>{'application/xml', 'application/json', 'text/plain'};
|
||||||
|
String result1 = client.setContentTypeHeader(types1, headers1);
|
||||||
|
System.assertEquals(1, headers1.size());
|
||||||
|
System.assertEquals('application/json', headers1.get('Content-Type'));
|
||||||
|
System.assertEquals('application/json', result1);
|
||||||
|
|
||||||
|
Map<String, Object> headers2 = new Map<String, Object>();
|
||||||
|
List<String> types2 = new List<String>{'application/xml', 'text/plain'};
|
||||||
|
String result2 = client.setContentTypeHeader(types2, headers2);
|
||||||
|
System.assertEquals(1, headers2.size());
|
||||||
|
System.assertEquals('application/xml', headers2.get('Content-Type'));
|
||||||
|
System.assertEquals('application/xml', result2);
|
||||||
|
|
||||||
|
Map<String, Object> headers3 = new Map<String, Object>();
|
||||||
|
String result3 = client.setContentTypeHeader(new List<String>(), headers3);
|
||||||
|
System.assertEquals(1, headers3.size());
|
||||||
|
System.assertEquals('application/json', headers3.get('Content-Type'));
|
||||||
|
System.assertEquals('application/json', result3);
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_usePreferredAcceptOrAllInListNoDefault() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
|
||||||
|
Map<String, Object> headers1 = new Map<String, Object>();
|
||||||
|
List<String> types1 = new List<String>{'application/xml', 'application/json', 'text/plain'};
|
||||||
|
client.setAcceptHeader(types1, headers1);
|
||||||
|
System.assertEquals(1, headers1.size());
|
||||||
|
System.assertEquals('application/json', headers1.get('Accept'));
|
||||||
|
|
||||||
|
Map<String, Object> headers2 = new Map<String, Object>();
|
||||||
|
List<String> types2 = new List<String>{'application/xml', 'text/plain'};
|
||||||
|
client.setAcceptHeader(types2, headers2);
|
||||||
|
System.assertEquals(1, headers2.size());
|
||||||
|
System.assertEquals('application/xml,text/plain', headers2.get('Accept'));
|
||||||
|
|
||||||
|
Map<String, Object> headers3 = new Map<String, Object>();
|
||||||
|
client.setAcceptHeader(new List<String>(), headers3);
|
||||||
|
System.assert(headers3.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_formUrlWithQueryParamsPathParams() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
String path = '/departments/{department}';
|
||||||
|
Map<String, Object> params = new Map<String, Object>{'department' => 'finance'};
|
||||||
|
List<Swagger.Param> queryParams = new List<Swagger.Param>{
|
||||||
|
new Swagger.Param('foo', 'bar'),
|
||||||
|
new Swagger.Param('bat', '123')
|
||||||
|
};
|
||||||
|
String expected = 'https://www.mccombs.utexas.edu/departments/finance?foo=bar&bat=123';
|
||||||
|
String actual = client.toEndpoint(path, params, queryParams);
|
||||||
|
System.assertEquals(expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_returnParsedBody() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
SwaggerResponseMock mock = new SwaggerResponseMock(res);
|
||||||
|
Test.setMock(HttpCalloutMock.class, mock);
|
||||||
|
|
||||||
|
res.setStatus('OK');
|
||||||
|
res.setStatusCode(200);
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.setBody('{'
|
||||||
|
+ '"city":"Austin","country":"United States","latitude":30.28403639999999,'
|
||||||
|
+ '"longitude":-97.73789449999998,"postalCode":"78705","state":"Texas",'
|
||||||
|
+ '"street":"2110 Speedway"}');
|
||||||
|
|
||||||
|
Address a = (Address) client.invoke(
|
||||||
|
'GET', '/address', '',
|
||||||
|
new List<Swagger.Param>(),
|
||||||
|
new List<Swagger.Param>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{'application/json'},
|
||||||
|
new List<String>{'text/plain'},
|
||||||
|
new List<String>(),
|
||||||
|
Address.class
|
||||||
|
);
|
||||||
|
|
||||||
|
System.assertEquals('Austin', a.getCity());
|
||||||
|
System.assertEquals('United States', a.getCountry());
|
||||||
|
System.assertEquals(30.28403639999999, a.getLatitude());
|
||||||
|
System.assertEquals(-97.73789449999998, a.getLongitude());
|
||||||
|
System.assertEquals('78705', a.getPostalCode());
|
||||||
|
System.assertEquals('Texas', a.getState());
|
||||||
|
System.assertEquals('2110 Speedway', a.getStreet());
|
||||||
|
}
|
||||||
|
|
||||||
|
@isTest
|
||||||
|
private static void ApiClient_noReturnTypeReturnsNull() {
|
||||||
|
MockApiClient client = new MockApiClient();
|
||||||
|
HttpResponse res = new HttpResponse();
|
||||||
|
SwaggerResponseMock mock = new SwaggerResponseMock(res);
|
||||||
|
Test.setMock(HttpCalloutMock.class, mock);
|
||||||
|
|
||||||
|
res.setStatus('OK');
|
||||||
|
res.setStatusCode(200);
|
||||||
|
|
||||||
|
Object o = client.invoke(
|
||||||
|
'POST', '/address', '',
|
||||||
|
new List<Swagger.Param>(),
|
||||||
|
new List<Swagger.Param>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new Map<String, Object>(),
|
||||||
|
new List<String>{'application/json'},
|
||||||
|
new List<String>{'text/plain'},
|
||||||
|
new List<String>(),
|
||||||
|
null
|
||||||
|
);
|
||||||
|
|
||||||
|
System.assertEquals(null, o);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class MockApiClient extends Swagger.ApiClient {
|
||||||
|
public MockApiClient() {
|
||||||
|
basePath = 'https://www.mccombs.utexas.edu';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<apiVersion>39.0</apiVersion>
|
||||||
|
<status>Active</status>
|
||||||
|
</ApexClass>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<NamedCredential xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||||
|
<endpoint>http://petstore.swagger.io/v2</endpoint>
|
||||||
|
<principalType>Anonymous</principalType>
|
||||||
|
<protocol>NoAuthentication</protocol>
|
||||||
|
<label>Swagger_Petstore</label>
|
||||||
|
</NamedCredential>
|
1
samples/client/petstore/clojure/.swagger-codegen/VERSION
Normal file
1
samples/client/petstore/clojure/.swagger-codegen/VERSION
Normal file
@ -0,0 +1 @@
|
|||||||
|
2.2.3-SNAPSHOT
|
@ -3,5 +3,5 @@
|
|||||||
:license {:name "Apache 2.0"
|
:license {:name "Apache 2.0"
|
||||||
:url "http://www.apache.org/licenses/LICENSE-2.0.html"}
|
:url "http://www.apache.org/licenses/LICENSE-2.0.html"}
|
||||||
:dependencies [[org.clojure/clojure "1.7.0"]
|
:dependencies [[org.clojure/clojure "1.7.0"]
|
||||||
[clj-http "2.0.0"]
|
[clj-http "3.6.0"]
|
||||||
[cheshire "5.5.0"]])
|
[cheshire "5.5.0"]])
|
||||||
|
@ -98,7 +98,7 @@
|
|||||||
:form-params {}
|
:form-params {}
|
||||||
:content-types []
|
:content-types []
|
||||||
:accepts ["application/json" "application/xml"]
|
:accepts ["application/json" "application/xml"]
|
||||||
:auth-names ["petstore_auth" "api_key"]}))
|
:auth-names ["api_key" "petstore_auth"]}))
|
||||||
|
|
||||||
(defn get-pet-by-id
|
(defn get-pet-by-id
|
||||||
"Find pet by ID
|
"Find pet by ID
|
||||||
|
@ -61,11 +61,6 @@ utility::string_t ApiClient::parameterToString(float value)
|
|||||||
return utility::conversions::to_string_t(std::to_string(value));
|
return utility::conversions::to_string_t(std::to_string(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
utility::string_t ApiClient::parameterToString(float value)
|
|
||||||
{
|
|
||||||
return utility::conversions::to_string_t(std::to_string(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
utility::string_t ApiClient::parameterToString(const utility::datetime &value)
|
utility::string_t ApiClient::parameterToString(const utility::datetime &value)
|
||||||
{
|
{
|
||||||
return utility::conversions::to_string_t(value.to_string(utility::datetime::ISO_8601));
|
return utility::conversions::to_string_t(value.to_string(utility::datetime::ISO_8601));
|
||||||
|
@ -80,6 +80,7 @@ namespace Example
|
|||||||
{
|
{
|
||||||
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
|
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
|
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
|
||||||
|
|
||||||
@ -96,7 +95,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
|
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
|
||||||
|
|
||||||
@ -157,7 +155,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
|
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
|
||||||
|
|
||||||
@ -218,7 +215,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterString(); // OuterString | Input string as post body (optional)
|
var body = new OuterString(); // OuterString | Input string as post body (optional)
|
||||||
|
|
||||||
@ -279,7 +275,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new ModelClient(); // ModelClient | client model
|
var body = new ModelClient(); // ModelClient | client model
|
||||||
|
|
||||||
@ -341,7 +336,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure HTTP basic authorization: http_basic_test
|
// Configure HTTP basic authorization: http_basic_test
|
||||||
Configuration.Default.Username = "YOUR_USERNAME";
|
Configuration.Default.Username = "YOUR_USERNAME";
|
||||||
Configuration.Default.Password = "YOUR_PASSWORD";
|
Configuration.Default.Password = "YOUR_PASSWORD";
|
||||||
@ -432,7 +426,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional)
|
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional)
|
||||||
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
|
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
|
||||||
|
@ -27,7 +27,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new Fake_classname_tags123Api();
|
var apiInstance = new Fake_classname_tags123Api();
|
||||||
var body = new ModelClient(); // ModelClient | client model
|
var body = new ModelClient(); // ModelClient | client model
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -100,7 +99,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -166,7 +164,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -231,7 +228,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -296,7 +292,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure API key authorization: api_key
|
// Configure API key authorization: api_key
|
||||||
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
@ -363,7 +358,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -427,7 +421,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -495,7 +488,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var orderId = orderId_example; // string | ID of the order that needs to be deleted
|
var orderId = orderId_example; // string | ID of the order that needs to be deleted
|
||||||
|
|
||||||
@ -93,7 +92,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure API key authorization: api_key
|
// Configure API key authorization: api_key
|
||||||
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
@ -156,7 +154,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var orderId = 789; // long? | ID of pet that needs to be fetched
|
var orderId = 789; // long? | ID of pet that needs to be fetched
|
||||||
|
|
||||||
@ -218,7 +215,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var body = new Order(); // Order | order placed for purchasing the pet
|
var body = new Order(); // Order | order placed for purchasing the pet
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new User(); // User | Created user object
|
var body = new User(); // User | Created user object
|
||||||
|
|
||||||
@ -97,7 +96,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new List<User>(); // List<User> | List of user object
|
var body = new List<User>(); // List<User> | List of user object
|
||||||
|
|
||||||
@ -158,7 +156,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new List<User>(); // List<User> | List of user object
|
var body = new List<User>(); // List<User> | List of user object
|
||||||
|
|
||||||
@ -219,7 +216,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The name that needs to be deleted
|
var username = username_example; // string | The name that needs to be deleted
|
||||||
|
|
||||||
@ -280,7 +276,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
|
var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
|
||||||
|
|
||||||
@ -342,7 +337,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The user name for login
|
var username = username_example; // string | The user name for login
|
||||||
var password = password_example; // string | The password for login in clear text
|
var password = password_example; // string | The password for login in clear text
|
||||||
@ -406,7 +400,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -463,7 +456,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | name that need to be deleted
|
var username = username_example; // string | name that need to be deleted
|
||||||
var body = new User(); // User | Updated user object
|
var body = new User(); // User | Updated user object
|
||||||
|
@ -60,6 +60,7 @@ namespace Example
|
|||||||
{
|
{
|
||||||
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
|
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
|
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
|
||||||
|
|
||||||
@ -96,7 +95,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
|
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
|
||||||
|
|
||||||
@ -157,7 +155,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
|
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
|
||||||
|
|
||||||
@ -218,7 +215,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterString(); // OuterString | Input string as post body (optional)
|
var body = new OuterString(); // OuterString | Input string as post body (optional)
|
||||||
|
|
||||||
@ -279,7 +275,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new ModelClient(); // ModelClient | client model
|
var body = new ModelClient(); // ModelClient | client model
|
||||||
|
|
||||||
@ -341,7 +336,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure HTTP basic authorization: http_basic_test
|
// Configure HTTP basic authorization: http_basic_test
|
||||||
Configuration.Default.Username = "YOUR_USERNAME";
|
Configuration.Default.Username = "YOUR_USERNAME";
|
||||||
Configuration.Default.Password = "YOUR_PASSWORD";
|
Configuration.Default.Password = "YOUR_PASSWORD";
|
||||||
@ -432,7 +426,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional)
|
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional)
|
||||||
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
|
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
|
||||||
|
@ -27,7 +27,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new Fake_classname_tags123Api();
|
var apiInstance = new Fake_classname_tags123Api();
|
||||||
var body = new ModelClient(); // ModelClient | client model
|
var body = new ModelClient(); // ModelClient | client model
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -100,7 +99,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -166,7 +164,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -231,7 +228,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -296,7 +292,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure API key authorization: api_key
|
// Configure API key authorization: api_key
|
||||||
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
@ -363,7 +358,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -427,7 +421,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -495,7 +488,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var orderId = orderId_example; // string | ID of the order that needs to be deleted
|
var orderId = orderId_example; // string | ID of the order that needs to be deleted
|
||||||
|
|
||||||
@ -93,7 +92,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure API key authorization: api_key
|
// Configure API key authorization: api_key
|
||||||
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
@ -156,7 +154,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var orderId = 789; // long? | ID of pet that needs to be fetched
|
var orderId = 789; // long? | ID of pet that needs to be fetched
|
||||||
|
|
||||||
@ -218,7 +215,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var body = new Order(); // Order | order placed for purchasing the pet
|
var body = new Order(); // Order | order placed for purchasing the pet
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new User(); // User | Created user object
|
var body = new User(); // User | Created user object
|
||||||
|
|
||||||
@ -97,7 +96,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new List<User>(); // List<User> | List of user object
|
var body = new List<User>(); // List<User> | List of user object
|
||||||
|
|
||||||
@ -158,7 +156,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new List<User>(); // List<User> | List of user object
|
var body = new List<User>(); // List<User> | List of user object
|
||||||
|
|
||||||
@ -219,7 +216,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The name that needs to be deleted
|
var username = username_example; // string | The name that needs to be deleted
|
||||||
|
|
||||||
@ -280,7 +276,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
|
var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
|
||||||
|
|
||||||
@ -342,7 +337,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The user name for login
|
var username = username_example; // string | The user name for login
|
||||||
var password = password_example; // string | The password for login in clear text
|
var password = password_example; // string | The password for login in clear text
|
||||||
@ -406,7 +400,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -463,7 +456,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | name that need to be deleted
|
var username = username_example; // string | name that need to be deleted
|
||||||
var body = new User(); // User | Updated user object
|
var body = new User(); // User | Updated user object
|
||||||
|
@ -80,6 +80,7 @@ namespace Example
|
|||||||
{
|
{
|
||||||
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
|
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
|
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
|
||||||
|
|
||||||
@ -96,7 +95,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
|
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
|
||||||
|
|
||||||
@ -157,7 +155,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
|
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
|
||||||
|
|
||||||
@ -218,7 +215,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new OuterString(); // OuterString | Input string as post body (optional)
|
var body = new OuterString(); // OuterString | Input string as post body (optional)
|
||||||
|
|
||||||
@ -279,7 +275,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var body = new ModelClient(); // ModelClient | client model
|
var body = new ModelClient(); // ModelClient | client model
|
||||||
|
|
||||||
@ -341,7 +336,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure HTTP basic authorization: http_basic_test
|
// Configure HTTP basic authorization: http_basic_test
|
||||||
Configuration.Default.Username = "YOUR_USERNAME";
|
Configuration.Default.Username = "YOUR_USERNAME";
|
||||||
Configuration.Default.Password = "YOUR_PASSWORD";
|
Configuration.Default.Password = "YOUR_PASSWORD";
|
||||||
@ -432,7 +426,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new FakeApi();
|
var apiInstance = new FakeApi();
|
||||||
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional)
|
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional)
|
||||||
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
|
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
|
||||||
|
@ -27,7 +27,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new Fake_classname_tags123Api();
|
var apiInstance = new Fake_classname_tags123Api();
|
||||||
var body = new ModelClient(); // ModelClient | client model
|
var body = new ModelClient(); // ModelClient | client model
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -100,7 +99,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -166,7 +164,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -231,7 +228,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -296,7 +292,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure API key authorization: api_key
|
// Configure API key authorization: api_key
|
||||||
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
@ -363,7 +358,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -427,7 +421,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
@ -495,7 +488,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure OAuth2 access token for authorization: petstore_auth
|
// Configure OAuth2 access token for authorization: petstore_auth
|
||||||
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
|
||||||
|
|
||||||
|
@ -32,7 +32,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var orderId = orderId_example; // string | ID of the order that needs to be deleted
|
var orderId = orderId_example; // string | ID of the order that needs to be deleted
|
||||||
|
|
||||||
@ -93,7 +92,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
// Configure API key authorization: api_key
|
// Configure API key authorization: api_key
|
||||||
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
|
||||||
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||||
@ -156,7 +154,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var orderId = 789; // long? | ID of pet that needs to be fetched
|
var orderId = 789; // long? | ID of pet that needs to be fetched
|
||||||
|
|
||||||
@ -218,7 +215,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new StoreApi();
|
var apiInstance = new StoreApi();
|
||||||
var body = new Order(); // Order | order placed for purchasing the pet
|
var body = new Order(); // Order | order placed for purchasing the pet
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new User(); // User | Created user object
|
var body = new User(); // User | Created user object
|
||||||
|
|
||||||
@ -97,7 +96,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new List<User>(); // List<User> | List of user object
|
var body = new List<User>(); // List<User> | List of user object
|
||||||
|
|
||||||
@ -158,7 +156,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var body = new List<User>(); // List<User> | List of user object
|
var body = new List<User>(); // List<User> | List of user object
|
||||||
|
|
||||||
@ -219,7 +216,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The name that needs to be deleted
|
var username = username_example; // string | The name that needs to be deleted
|
||||||
|
|
||||||
@ -280,7 +276,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
|
var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
|
||||||
|
|
||||||
@ -342,7 +337,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | The user name for login
|
var username = username_example; // string | The user name for login
|
||||||
var password = password_example; // string | The password for login in clear text
|
var password = password_example; // string | The password for login in clear text
|
||||||
@ -406,7 +400,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -463,7 +456,6 @@ namespace Example
|
|||||||
{
|
{
|
||||||
public void main()
|
public void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
var apiInstance = new UserApi();
|
var apiInstance = new UserApi();
|
||||||
var username = username_example; // string | name that need to be deleted
|
var username = username_example; // string | name that need to be deleted
|
||||||
var body = new User(); // User | Updated user object
|
var body = new User(); // User | Updated user object
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
|
|
||||||
public final class BuildConfig {
|
|
||||||
public final static boolean DEBUG = Boolean.parseBoolean(null);
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */
|
|
||||||
public final class Manifest {
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */
|
|
||||||
public final class R {
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
|
|
||||||
public final class BuildConfig {
|
|
||||||
public final static boolean DEBUG = Boolean.parseBoolean(null);
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */
|
|
||||||
public final class Manifest {
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */
|
|
||||||
public final class R {
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
/*___Generated_by_IDEA___*/
|
|
||||||
|
|
||||||
package io.swagger.client;
|
|
||||||
|
|
||||||
/* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
|
|
||||||
public final class BuildConfig {
|
|
||||||
public final static boolean DEBUG = Boolean.parseBoolean(null);
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user