Merge remote-tracking branch 'origin/master' into 2.3.0

This commit is contained in:
wing328 2017-05-30 00:12:34 +08:00
commit 18e6440bcc
155 changed files with 3626 additions and 1128 deletions

View File

@ -785,6 +785,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [Riffyn](https://riffyn.com)
- [Royal Bank of Canada (RBC)](http://www.rbc.com/canada.html)
- [Saritasa](https://www.saritasa.com/)
- [SAS](https://www.sas.com)
- [SCOOP Software GmbH](http://www.scoop-software.de)
- [Shine Solutions](https://shinesolutions.com/)
- [Simpfony](https://www.simpfony.com/)

View File

@ -26,6 +26,6 @@ fi
# 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"
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

View File

@ -2560,7 +2560,9 @@ public class DefaultCodegen {
name = getAlias(name);
if (typeMapping.containsKey(name)) {
name = typeMapping.get(name);
p.baseType = name;
} else {
p.baseType = name;
name = toModelName(name);
if (defaultIncludes.contains(name)) {
imports.add(name);
@ -2569,7 +2571,6 @@ public class DefaultCodegen {
name = getTypeDeclaration(name);
}
p.dataType = name;
p.baseType = name;
}
}
p.paramName = toParamName(bp.getName());

View File

@ -959,8 +959,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
@Override
public String toEnumValue(String value, String datatype) {
if ("Integer".equals(datatype) || "Long".equals(datatype) ||
"Float".equals(datatype) || "Double".equals(datatype)) {
"Double".equals(datatype)) {
return value;
} else if ("Float".equals(datatype)) {
// add f to number, e.g. 3.14 => 3.14f
return value + "f";
} else {
return "\"" + escapeText(value) + "\"";
}

View File

@ -560,7 +560,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg
example = "new \\DateTime(\"" + escapeText(example) + "\")";
} else if (!languageSpecificPrimitives.contains(type)) {
// type is a model class, e.g. User
example = "new " + type + "()";
example = "new " + getTypeDeclaration(type) + "()";
} else {
LOGGER.warn("Type " + type + " not handled properly in setParameterExampleValue");
}

View File

@ -17,21 +17,27 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
private static final String CLASS_PREFIX = "classPrefix";
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 String classPrefix = "Swag";
private String apiVersion = "39.0";
private String buildMethod = "sfdx";
private String namedCredential = classPrefix;
private String srcPath = "force-app/main/default/";
public ApexClientCodegen() {
super();
importMapping.clear();
testFolder = sourceFolder = srcPath;
embeddedTemplateDir = templateDir = "apex";
outputFolder = "generated-code" + File.separator + "apex";
testFolder = sourceFolder = "deploy";
apiPackage = "classes";
modelPackage = "classes";
testPackage = "deploy.classes";
testPackage = "force-app.main.default.classes";
modelNamePrefix = classPrefix;
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(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("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("Swagger.cls", "deploy/classes", "Swagger.cls"));
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"));
supportingFiles.add(new SupportingFile("Swagger.cls", srcPath + "classes", "Swagger.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "Swagger.cls-meta.xml"));
supportingFiles.add(new SupportingFile("SwaggerTest.cls", srcPath + "classes", "SwaggerTest.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "SwaggerTest.cls-meta.xml"));
supportingFiles.add(new SupportingFile("SwaggerResponseMock.cls", srcPath + "classes", "SwaggerResponseMock.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "SwaggerResponseMock.cls-meta.xml"));
typeMapping.put("BigDecimal", "Double");
typeMapping.put("binary", "String");
@ -114,6 +113,16 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
}
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();
}
@ -232,18 +241,20 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
@Override
public void preprocessSwagger(Swagger swagger) {
Info info = swagger.getInfo();
String description = info.getDescription();
String sanitized = sanitizeName(info.getTitle());
additionalProperties.put("sanitizedName", sanitized);
supportingFiles.add(new SupportingFile("remoteSite.mustache", "deploy/remoteSiteSettings",
sanitized + ".remoteSite"
String calloutLabel = info.getTitle();
additionalProperties.put("calloutLabel", calloutLabel);
String sanitized = sanitizeName(calloutLabel);
additionalProperties.put("calloutName", sanitized);
supportingFiles.add(new SupportingFile("namedCredential.mustache", srcPath + "/namedCredentials",
sanitized + ".namedCredential"
));
// max length for description for a Remote Site setting
if (description != null && description.length() > 255) {
description = description.substring(0, 255);
if (additionalProperties.get(BUILD_METHOD).equals("sfdx")) {
generateSfdxSupportingFiles();
} else if (additionalProperties.get(BUILD_METHOD).equals("ant")) {
generateAntSupportingFiles();
}
additionalProperties.put("shortDescription", description);
}
@Override
@ -289,6 +300,20 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
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) {
// the best thing we can do without namespacing in Apex
modelNamePrefix = classPrefix;
@ -310,8 +335,8 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
private void postProcessOpts() {
supportingFiles.add(
new SupportingFile("client.mustache", "deploy/classes", classPrefix + "Client.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes",
new SupportingFile("client.mustache", srcPath + "classes", classPrefix + "Client.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes",
classPrefix + "Client.cls-meta.xml"
));
}
@ -451,4 +476,28 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
public String getHelp() {
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"));
}
}

View File

@ -560,6 +560,9 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
if ("int?".equalsIgnoreCase(datatype) || "long?".equalsIgnoreCase(datatype) ||
"double?".equalsIgnoreCase(datatype) || "float?".equalsIgnoreCase(datatype)) {
return value;
} else if ("float?".equalsIgnoreCase(datatype)) {
// for float in C#, append "f". e.g. 3.14 => 3.14f
return value + "f";
} else {
return "\"" + escapeText(value) + "\"";
}

View File

@ -615,19 +615,19 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
example = "/path/to/file";
}
example = "\"" + escapeText(example) + "\"";
} else if ("Date".equalsIgnoreCase(type)) {
} else if ("\\Date".equalsIgnoreCase(type)) {
if (example == null) {
example = "2013-10-20";
}
example = "new \\DateTime(\"" + escapeText(example) + "\")";
} else if ("DateTime".equalsIgnoreCase(type)) {
} else if ("\\DateTime".equalsIgnoreCase(type)) {
if (example == null) {
example = "2013-10-20T19:20:30+01:00";
}
example = "new \\DateTime(\"" + escapeText(example) + "\")";
} else if (!languageSpecificPrimitives.contains(type)) {
// type is a model class, e.g. User
example = "new " + type + "()";
example = "new " + getTypeDeclaration(type) + "()";
} else {
LOGGER.warn("Type " + type + " not handled properly in setParameterExampleValue");
}

View File

@ -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}}

View File

@ -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 {
private final Integer code;
@ -144,6 +101,7 @@ public class Swagger {
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>();
@ -152,36 +110,6 @@ public class Swagger {
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) {
for (Authentication auth : authentications.values()) {
if (auth instanceof ApiKeyAuth) {
@ -192,16 +120,6 @@ public class Swagger {
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) {
List<Param> pairs = new List<Param>();
for (Object value : new List<Object>(values)) {
@ -380,7 +298,7 @@ public class Swagger {
protected virtual String toEndpoint(String path, Map<String, Object> params,
List<Param> queryParams) {
String query = '?' + paramsToString(queryParams);
return basePath + toPath(path, params) + query.removeEnd('?');
return '"callout:' + calloutName + toPath(path, params) + query.removeEnd('?') + '""';
}
@TestVisible

View File

@ -35,217 +35,17 @@ private class SwaggerTest {
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
private static void ApiClient_returnAuthenticationMatchingInput() {
MockApiClient client = new MockApiClient();
Swagger.ApiKeyHeaderAuth auth1 = new Swagger.ApiKeyHeaderAuth('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('auth2', auth2);
client.authentications.put('auth3', auth3);
client.authentications.put('auth4', auth4);
System.assertEquals(auth1, client.getAuthentication('auth1'));
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
@ -483,22 +283,6 @@ private class SwaggerTest {
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
private static void ApiClient_formUrlWithQueryParamsPathParams() {
MockApiClient client = new MockApiClient();
@ -513,206 +297,6 @@ private class SwaggerTest {
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
private static void ApiClient_returnParsedBody() {
MockApiClient client = new MockApiClient();

View File

@ -37,18 +37,10 @@ private class {{classname}}Test {
{{#authMethods}}
client = new {{classPrefix}}Client();
api = new {{classname}}(client);{{#isBasic}}
((Swagger.HttpBasicAuth){{/isBasic}}{{#isOAuth}}
((Swagger.OAuth2){{/isOAuth}}{{#isApiKey}}
((Swagger.ApiKeyAuth){{/isApiKey}} client.getAuthentication('{{name}}'))
{{#isBasic}}
.setCredentials('username', 'password');
{{/isBasic}}
{{#isOAuth}}
.setAccessToken('foo-bar-access-token');
{{/isOAuth}}
api = new {{classname}}(client);{{#isApiKey}}
((Swagger.ApiKeyAuth){{/isApiKey}} client.getAuthentication('{{name}}');
{{#isApiKey}}
.setApiKey('foo-bar-api-key');
client.setApiKey('foo-bar-api-key');
{{/isApiKey}}
{{#examples}}

View File

@ -2,6 +2,7 @@ public class {{classPrefix}}Client extends Swagger.ApiClient {
{{#hasAuthMethods}}
public {{classPrefix}}Client() {
basePath = '{{basePath}}';
calloutName = '{{calloutName}}';
{{#authMethods}}
{{#isApiKey}}
{{#isKeyInQuery}}
@ -11,20 +12,13 @@ public class {{classPrefix}}Client extends Swagger.ApiClient {
authentications.put('{{name}}', new Swagger.ApiKeyHeaderAuth('{{keyParamName}}'));
{{/isKeyInQuery}}
{{/isApiKey}}
{{^isApiKey}}
{{#isBasic}}
authentications.put('{{name}}', new Swagger.HttpBasicAuth());
{{/isBasic}}
{{^isBasic}}
authentications.put('{{name}}', new Swagger.OAuth2());
{{/isBasic}}
{{/isApiKey}}
{{/authMethods}}
}
{{/hasAuthMethods}}
{{^hasAuthMethods}}
public {{classPrefix}}Client() {
basePath = '{{basePath}}';
calloutName = '{{calloutName}}';
}
{{/hasAuthMethods}}
}

View File

@ -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>

View File

@ -25,7 +25,7 @@ Generated with Swagger Codegen (github.com/swagger-api/swagger-codegen)</descrip
</types>
<types>
<members>{{sanitizedName}}</members>
<name>RemoteSiteSetting</name>
<name>NamedCredential</name>
</types>
<version>{{apiVersion}}</version>
</Package>

View File

@ -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>

View File

@ -0,0 +1,10 @@
{
"sfdxSource": true,
"version": "1.0.0",
"sourceFolder": "src/",
"folders": [
"src/classes"
],
"files": [
]
}

View File

@ -4,5 +4,5 @@
:license {:name "<&projectLicenseName>"<#projectLicenseUrl>
:url "<&projectLicenseUrl>"</projectLicenseUrl>}</projectLicenseName>
:dependencies [[org.clojure/clojure "1.7.0"]
[clj-http "2.0.0"]
[clj-http "3.6.0"]
[cheshire "5.5.0"]])

View File

@ -102,18 +102,27 @@ namespace Example
{
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}}}
Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";{{/isBasic}}{{#isApiKey}}
Configuration.Default.Password = "YOUR_PASSWORD";
{{/isBasic}}
{{#isApiKey}}
// Configure API key authorization: {{{name}}}
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
// 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}}}
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";{{/isOAuth}}{{/authMethods}}
{{/hasAuthMethods}}
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
{{/isOAuth}}
{{/authMethods}}
{{/hasAuthMethods}}
var apiInstance = new {{classname}}();
{{#allParams}}
{{#isPrimitiveType}}
@ -136,9 +145,10 @@ namespace Example
{
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>

View File

@ -32,18 +32,26 @@ namespace Example
{
public void main()
{
{{#hasAuthMethods}}{{#authMethods}}{{#isBasic}}
{{#hasAuthMethods}}
{{#authMethods}}
{{#isBasic}}
// Configure HTTP basic authorization: {{{name}}}
Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";{{/isBasic}}{{#isApiKey}}
Configuration.Default.Password = "YOUR_PASSWORD";
{{/isBasic}}
{{#isApiKey}}
// Configure API key authorization: {{{name}}}
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
// 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}}}
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";{{/isOAuth}}{{/authMethods}}
{{/hasAuthMethods}}
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
{{/isOAuth}}
{{/authMethods}}
{{/hasAuthMethods}}
var apiInstance = new {{classname}}();
{{#allParams}}
{{#isPrimitiveType}}
@ -75,7 +83,7 @@ namespace Example
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------{{/-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}}
### Return type

View File

@ -117,7 +117,9 @@ module {{moduleName}}
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
# 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]"
def deserialize(response, return_type)
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 response body directly for String return type
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
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
# 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
# @return [Tempfile] the file downloaded
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?('-')
def download_file(request)
tempfile = nil
encoding = response.body.encoding
Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding) do |file|
file.write(response.body)
tempfile = file
encoding = nil
request.on_headers do |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?('-')
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
@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
# Sanitize filename by removing path.

View File

@ -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>

View File

@ -47,7 +47,7 @@ try {
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
@ -292,7 +292,7 @@ try {
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

View File

@ -168,7 +168,7 @@ try {
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

View File

@ -42,7 +42,7 @@ try {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | [**SwagUser**](SwagUser.md)| Created user object |
**body** | [**SwagUser**](User.md)| Created user object |
### Return type
@ -342,7 +342,7 @@ try {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**username** | **String**| name that need to be deleted |
**body** | [**SwagUser**](SwagUser.md)| Updated user object |
**body** | [**SwagUser**](User.md)| Updated user object |
### Return type

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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'));
}
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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());
}
}

View File

@ -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>

View File

@ -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'));
}
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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
);
}
}

View File

@ -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>

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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 &lt; 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 &lt;&#x3D; 5 or &gt; 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
);
}
}

View File

@ -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>

View File

@ -0,0 +1,115 @@
@isTest
private class SwagStoreApiTest {
/**
* Delete purchase order by ID
*
* For valid response try integer IDs with value &lt; 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 &lt;&#x3D; 5 or &gt; 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);
}
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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());
}
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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
);
}
}

View File

@ -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>

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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());
}
}

View File

@ -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>

View File

@ -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('&');
}
}
}

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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>

View File

@ -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';
}
}
}

View File

@ -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>

View File

@ -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>

View File

@ -0,0 +1 @@
2.2.3-SNAPSHOT

View File

@ -3,5 +3,5 @@
:license {:name "Apache 2.0"
:url "http://www.apache.org/licenses/LICENSE-2.0.html"}
:dependencies [[org.clojure/clojure "1.7.0"]
[clj-http "2.0.0"]
[clj-http "3.6.0"]
[cheshire "5.5.0"]])

View File

@ -98,7 +98,7 @@
:form-params {}
:content-types []
:accepts ["application/json" "application/xml"]
:auth-names ["petstore_auth" "api_key"]}))
:auth-names ["api_key" "petstore_auth"]}))
(defn get-pet-by-id
"Find pet by ID

View File

@ -61,11 +61,6 @@ utility::string_t ApiClient::parameterToString(float 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)
{
return utility::conversions::to_string_t(value.to_string(utility::datetime::ISO_8601));

View File

@ -80,6 +80,7 @@ namespace Example
{
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
}
}
}
}

View File

@ -35,7 +35,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
@ -96,7 +95,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
@ -157,7 +155,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
@ -218,7 +215,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterString(); // OuterString | Input string as post body (optional)
@ -279,7 +275,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new ModelClient(); // ModelClient | client model
@ -341,7 +336,6 @@ namespace Example
{
public void main()
{
// Configure HTTP basic authorization: http_basic_test
Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";
@ -432,7 +426,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
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)

View File

@ -27,7 +27,6 @@ namespace Example
{
public void main()
{
var apiInstance = new Fake_classname_tags123Api();
var body = new ModelClient(); // ModelClient | client model

View File

@ -36,7 +36,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -100,7 +99,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -166,7 +164,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -231,7 +228,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -296,7 +292,6 @@ namespace Example
{
public void main()
{
// Configure API key authorization: api_key
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
@ -363,7 +358,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -427,7 +421,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -495,7 +488,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";

View File

@ -32,7 +32,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var orderId = orderId_example; // string | ID of the order that needs to be deleted
@ -93,7 +92,6 @@ namespace Example
{
public void main()
{
// Configure API key authorization: api_key
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
@ -156,7 +154,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var orderId = 789; // long? | ID of pet that needs to be fetched
@ -218,7 +215,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var body = new Order(); // Order | order placed for purchasing the pet

View File

@ -36,7 +36,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new User(); // User | Created user object
@ -97,7 +96,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new List<User>(); // List<User> | List of user object
@ -158,7 +156,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new List<User>(); // List<User> | List of user object
@ -219,7 +216,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var username = username_example; // string | The name that needs to be deleted
@ -280,7 +276,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
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()
{
var apiInstance = new UserApi();
var username = username_example; // string | The user name for login
var password = password_example; // string | The password for login in clear text
@ -406,7 +400,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
try
@ -463,7 +456,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var username = username_example; // string | name that need to be deleted
var body = new User(); // User | Updated user object

View File

@ -60,6 +60,7 @@ namespace Example
{
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
}
}
}
}

View File

@ -35,7 +35,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
@ -96,7 +95,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
@ -157,7 +155,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
@ -218,7 +215,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterString(); // OuterString | Input string as post body (optional)
@ -279,7 +275,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new ModelClient(); // ModelClient | client model
@ -341,7 +336,6 @@ namespace Example
{
public void main()
{
// Configure HTTP basic authorization: http_basic_test
Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";
@ -432,7 +426,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
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)

View File

@ -27,7 +27,6 @@ namespace Example
{
public void main()
{
var apiInstance = new Fake_classname_tags123Api();
var body = new ModelClient(); // ModelClient | client model

View File

@ -36,7 +36,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -100,7 +99,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -166,7 +164,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -231,7 +228,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -296,7 +292,6 @@ namespace Example
{
public void main()
{
// Configure API key authorization: api_key
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
@ -363,7 +358,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -427,7 +421,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -495,7 +488,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";

View File

@ -32,7 +32,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var orderId = orderId_example; // string | ID of the order that needs to be deleted
@ -93,7 +92,6 @@ namespace Example
{
public void main()
{
// Configure API key authorization: api_key
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
@ -156,7 +154,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var orderId = 789; // long? | ID of pet that needs to be fetched
@ -218,7 +215,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var body = new Order(); // Order | order placed for purchasing the pet

View File

@ -36,7 +36,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new User(); // User | Created user object
@ -97,7 +96,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new List<User>(); // List<User> | List of user object
@ -158,7 +156,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new List<User>(); // List<User> | List of user object
@ -219,7 +216,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var username = username_example; // string | The name that needs to be deleted
@ -280,7 +276,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
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()
{
var apiInstance = new UserApi();
var username = username_example; // string | The user name for login
var password = password_example; // string | The password for login in clear text
@ -406,7 +400,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
try
@ -463,7 +456,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var username = username_example; // string | name that need to be deleted
var body = new User(); // User | Updated user object

View File

@ -80,6 +80,7 @@ namespace Example
{
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
}
}
}
}

View File

@ -35,7 +35,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
@ -96,7 +95,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterComposite(); // OuterComposite | Input composite as post body (optional)
@ -157,7 +155,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterNumber(); // OuterNumber | Input number as post body (optional)
@ -218,7 +215,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterString(); // OuterString | Input string as post body (optional)
@ -279,7 +275,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new ModelClient(); // ModelClient | client model
@ -341,7 +336,6 @@ namespace Example
{
public void main()
{
// Configure HTTP basic authorization: http_basic_test
Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";
@ -432,7 +426,6 @@ namespace Example
{
public void main()
{
var apiInstance = new FakeApi();
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)

View File

@ -27,7 +27,6 @@ namespace Example
{
public void main()
{
var apiInstance = new Fake_classname_tags123Api();
var body = new ModelClient(); // ModelClient | client model

View File

@ -36,7 +36,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -100,7 +99,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -166,7 +164,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -231,7 +228,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -296,7 +292,6 @@ namespace Example
{
public void main()
{
// Configure API key authorization: api_key
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
@ -363,7 +358,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -427,7 +421,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
@ -495,7 +488,6 @@ namespace Example
{
public void main()
{
// Configure OAuth2 access token for authorization: petstore_auth
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";

View File

@ -32,7 +32,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var orderId = orderId_example; // string | ID of the order that needs to be deleted
@ -93,7 +92,6 @@ namespace Example
{
public void main()
{
// Configure API key authorization: api_key
Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
@ -156,7 +154,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var orderId = 789; // long? | ID of pet that needs to be fetched
@ -218,7 +215,6 @@ namespace Example
{
public void main()
{
var apiInstance = new StoreApi();
var body = new Order(); // Order | order placed for purchasing the pet

View File

@ -36,7 +36,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new User(); // User | Created user object
@ -97,7 +96,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new List<User>(); // List<User> | List of user object
@ -158,7 +156,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var body = new List<User>(); // List<User> | List of user object
@ -219,7 +216,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var username = username_example; // string | The name that needs to be deleted
@ -280,7 +276,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
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()
{
var apiInstance = new UserApi();
var username = username_example; // string | The user name for login
var password = password_example; // string | The password for login in clear text
@ -406,7 +400,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
try
@ -463,7 +456,6 @@ namespace Example
{
public void main()
{
var apiInstance = new UserApi();
var username = username_example; // string | name that need to be deleted
var body = new User(); // User | Updated user object

View File

@ -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);
}

View File

@ -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 {
}

View File

@ -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 {
}

View File

@ -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);
}

View File

@ -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 {
}

View File

@ -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 {
}

View File

@ -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