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) - [Riffyn](https://riffyn.com)
- [Royal Bank of Canada (RBC)](http://www.rbc.com/canada.html) - [Royal Bank of Canada (RBC)](http://www.rbc.com/canada.html)
- [Saritasa](https://www.saritasa.com/) - [Saritasa](https://www.saritasa.com/)
- [SAS](https://www.sas.com)
- [SCOOP Software GmbH](http://www.scoop-software.de) - [SCOOP Software GmbH](http://www.scoop-software.de)
- [Shine Solutions](https://shinesolutions.com/) - [Shine Solutions](https://shinesolutions.com/)
- [Simpfony](https://www.simpfony.com/) - [Simpfony](https://www.simpfony.com/)

View File

@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead. # if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l clojure -o samples/client/petstore/clojure" ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l clojure -o samples/client/petstore/clojure"
java $JAVA_OPTS -jar $executable $ags java $JAVA_OPTS -jar $executable $ags

View File

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

View File

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

View File

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

View File

@ -17,21 +17,27 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
private static final String CLASS_PREFIX = "classPrefix"; private static final String CLASS_PREFIX = "classPrefix";
private static final String API_VERSION = "apiVersion"; private static final String API_VERSION = "apiVersion";
private static final String BUILD_METHOD = "buildMethod";
private static final String NAMED_CREDENTIAL = "namedCredential";
private static final Logger LOGGER = LoggerFactory.getLogger(ApexClientCodegen.class); private static final Logger LOGGER = LoggerFactory.getLogger(ApexClientCodegen.class);
private String classPrefix = "Swag"; private String classPrefix = "Swag";
private String apiVersion = "39.0"; private String apiVersion = "39.0";
private String buildMethod = "sfdx";
private String namedCredential = classPrefix;
private String srcPath = "force-app/main/default/";
public ApexClientCodegen() { public ApexClientCodegen() {
super(); super();
importMapping.clear(); importMapping.clear();
testFolder = sourceFolder = srcPath;
embeddedTemplateDir = templateDir = "apex"; embeddedTemplateDir = templateDir = "apex";
outputFolder = "generated-code" + File.separator + "apex"; outputFolder = "generated-code" + File.separator + "apex";
testFolder = sourceFolder = "deploy";
apiPackage = "classes"; apiPackage = "classes";
modelPackage = "classes"; modelPackage = "classes";
testPackage = "deploy.classes"; testPackage = "force-app.main.default.classes";
modelNamePrefix = classPrefix; modelNamePrefix = classPrefix;
dateLibrary = ""; dateLibrary = "";
@ -46,22 +52,15 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
cliOptions.add(CliOption.newString(CLASS_PREFIX, "Prefix for generated classes. Set this to avoid overwriting existing classes in your org.")); cliOptions.add(CliOption.newString(CLASS_PREFIX, "Prefix for generated classes. Set this to avoid overwriting existing classes in your org."));
cliOptions.add(CliOption.newString(API_VERSION, "The Metadata API version number to use for components in this package.")); cliOptions.add(CliOption.newString(API_VERSION, "The Metadata API version number to use for components in this package."));
cliOptions.add(CliOption.newString(BUILD_METHOD, "The build method for this package."));
cliOptions.add(CliOption.newString(NAMED_CREDENTIAL, "The named credential name for the HTTP callouts"));
supportingFiles.add(new SupportingFile("package.mustache", "deploy", "package.xml")); supportingFiles.add(new SupportingFile("Swagger.cls", srcPath + "classes", "Swagger.cls"));
supportingFiles.add(new SupportingFile("package.mustache", "undeploy", "destructiveChanges.xml")); supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "Swagger.cls-meta.xml"));
supportingFiles.add(new SupportingFile("build.mustache", "build.xml")); supportingFiles.add(new SupportingFile("SwaggerTest.cls", srcPath + "classes", "SwaggerTest.cls"));
supportingFiles.add(new SupportingFile("build.properties", "build.properties")); supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "SwaggerTest.cls-meta.xml"));
supportingFiles.add(new SupportingFile("remove.package.mustache", "undeploy", "package.xml")); supportingFiles.add(new SupportingFile("SwaggerResponseMock.cls", srcPath + "classes", "SwaggerResponseMock.cls"));
supportingFiles.add(new SupportingFile("Swagger.cls", "deploy/classes", "Swagger.cls")); supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes", "SwaggerResponseMock.cls-meta.xml"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", "Swagger.cls-meta.xml"));
supportingFiles.add(new SupportingFile("SwaggerTest.cls", "deploy/classes", "SwaggerTest.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", "SwaggerTest.cls-meta.xml"));
supportingFiles.add(new SupportingFile("SwaggerResponseMock.cls", "deploy/classes", "SwaggerResponseMock.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", "SwaggerResponseMock.cls-meta.xml"));
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
writeOptional(outputFolder, new SupportingFile("README.mustache", "README.md"));
typeMapping.put("BigDecimal", "Double"); typeMapping.put("BigDecimal", "Double");
typeMapping.put("binary", "String"); typeMapping.put("binary", "String");
@ -114,6 +113,16 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
} }
additionalProperties.put(API_VERSION, apiVersion); additionalProperties.put(API_VERSION, apiVersion);
if (additionalProperties.containsKey(BUILD_METHOD)) {
setBuildMethod((String)additionalProperties.get(BUILD_METHOD));
}
additionalProperties.put(BUILD_METHOD, buildMethod);
if (additionalProperties.containsKey(NAMED_CREDENTIAL)) {
setNamedCredential((String)additionalProperties.get(NAMED_CREDENTIAL));
}
additionalProperties.put(NAMED_CREDENTIAL, namedCredential);
postProcessOpts(); postProcessOpts();
} }
@ -232,18 +241,20 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
@Override @Override
public void preprocessSwagger(Swagger swagger) { public void preprocessSwagger(Swagger swagger) {
Info info = swagger.getInfo(); Info info = swagger.getInfo();
String description = info.getDescription(); String calloutLabel = info.getTitle();
String sanitized = sanitizeName(info.getTitle()); additionalProperties.put("calloutLabel", calloutLabel);
additionalProperties.put("sanitizedName", sanitized); String sanitized = sanitizeName(calloutLabel);
supportingFiles.add(new SupportingFile("remoteSite.mustache", "deploy/remoteSiteSettings", additionalProperties.put("calloutName", sanitized);
sanitized + ".remoteSite" supportingFiles.add(new SupportingFile("namedCredential.mustache", srcPath + "/namedCredentials",
sanitized + ".namedCredential"
)); ));
// max length for description for a Remote Site setting if (additionalProperties.get(BUILD_METHOD).equals("sfdx")) {
if (description != null && description.length() > 255) { generateSfdxSupportingFiles();
description = description.substring(0, 255); } else if (additionalProperties.get(BUILD_METHOD).equals("ant")) {
generateAntSupportingFiles();
} }
additionalProperties.put("shortDescription", description);
} }
@Override @Override
@ -289,6 +300,20 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
return input.replace("'", "\\'"); return input.replace("'", "\\'");
} }
public void setBuildMethod(String buildMethod) {
if (buildMethod.equals("ant")) {
this.srcPath = "deploy/";
} else {
this.srcPath = "src/";
}
testFolder = sourceFolder = srcPath;
this.buildMethod = buildMethod;
}
public void setNamedCredential(String namedCredential) {
this.namedCredential = namedCredential;
}
public void setClassPrefix(String classPrefix) { public void setClassPrefix(String classPrefix) {
// the best thing we can do without namespacing in Apex // the best thing we can do without namespacing in Apex
modelNamePrefix = classPrefix; modelNamePrefix = classPrefix;
@ -310,8 +335,8 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
private void postProcessOpts() { private void postProcessOpts() {
supportingFiles.add( supportingFiles.add(
new SupportingFile("client.mustache", "deploy/classes", classPrefix + "Client.cls")); new SupportingFile("client.mustache", srcPath + "classes", classPrefix + "Client.cls"));
supportingFiles.add(new SupportingFile("cls-meta.mustache", "deploy/classes", supportingFiles.add(new SupportingFile("cls-meta.mustache", srcPath + "classes",
classPrefix + "Client.cls-meta.xml" classPrefix + "Client.cls-meta.xml"
)); ));
} }
@ -451,4 +476,28 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
public String getHelp() { public String getHelp() {
return "Generates an Apex API client library (beta)."; return "Generates an Apex API client library (beta).";
} }
private void generateAntSupportingFiles() {
supportingFiles.add(new SupportingFile("package.mustache", "deploy", "package.xml"));
supportingFiles.add(new SupportingFile("package.mustache", "undeploy", "destructiveChanges.xml"));
supportingFiles.add(new SupportingFile("build.mustache", "build.xml"));
supportingFiles.add(new SupportingFile("build.properties", "build.properties"));
supportingFiles.add(new SupportingFile("remove.package.mustache", "undeploy", "package.xml"));
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
writeOptional(outputFolder, new SupportingFile("README_ant.mustache", "README.md"));
}
private void generateSfdxSupportingFiles() {
supportingFiles.add(new SupportingFile("sfdx.mustache", "", "sfdx-oss-manifest.json"));
writeOptional(outputFolder, new SupportingFile("README_sfdx.mustache", "README.md"));
}
} }

View File

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

View File

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

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 { public class ApiException extends Exception {
private final Integer code; private final Integer code;
@ -144,6 +101,7 @@ public class Swagger {
protected String preferredContentType = 'application/json'; protected String preferredContentType = 'application/json';
protected String preferredAccept = 'application/json'; protected String preferredAccept = 'application/json';
protected final String basePath; protected final String basePath;
protected final String calloutName;
@TestVisible @TestVisible
protected final Map<String, Authentication> authentications = new Map<String, Authentication>(); protected final Map<String, Authentication> authentications = new Map<String, Authentication>();
@ -152,36 +110,6 @@ public class Swagger {
return authentications.get(authName); return authentications.get(authName);
} }
public virtual void setUsername(String username) {
for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBasicAuth) {
((HttpBasicAuth) auth).setUsername(username);
return;
}
}
throw new NoSuchElementException('No HTTP basic authentication configured!');
}
public virtual void setPassword(String password) {
for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBasicAuth) {
((HttpBasicAuth) auth).setPassword(password);
return;
}
}
throw new NoSuchElementException('No HTTP basic authentication configured!');
}
public virtual void setCredentials(String username, String password) {
for (Authentication auth : authentications.values()) {
if (auth instanceof HttpBasicAuth) {
((HttpBasicAuth) auth).setCredentials(username, password);
return;
}
}
throw new NoSuchElementException('No HTTP basic authentication configured!');
}
public virtual void setApiKey(String apiKey) { public virtual void setApiKey(String apiKey) {
for (Authentication auth : authentications.values()) { for (Authentication auth : authentications.values()) {
if (auth instanceof ApiKeyAuth) { if (auth instanceof ApiKeyAuth) {
@ -192,16 +120,6 @@ public class Swagger {
throw new NoSuchElementException('No API key authentication configured!'); throw new NoSuchElementException('No API key authentication configured!');
} }
public virtual void setAccessToken(String accessToken) {
for (Authentication auth : authentications.values()) {
if (auth instanceof OAuth2) {
((OAuth2) auth).setAccessToken(accessToken);
return;
}
}
throw new NoSuchElementException('No OAuth2 authentication configured!');
}
public List<Param> makeParams(String name, List<Object> values) { public List<Param> makeParams(String name, List<Object> values) {
List<Param> pairs = new List<Param>(); List<Param> pairs = new List<Param>();
for (Object value : new List<Object>(values)) { for (Object value : new List<Object>(values)) {
@ -380,7 +298,7 @@ public class Swagger {
protected virtual String toEndpoint(String path, Map<String, Object> params, protected virtual String toEndpoint(String path, Map<String, Object> params,
List<Param> queryParams) { List<Param> queryParams) {
String query = '?' + paramsToString(queryParams); String query = '?' + paramsToString(queryParams);
return basePath + toPath(path, params) + query.removeEnd('?'); return '"callout:' + calloutName + toPath(path, params) + query.removeEnd('?') + '""';
} }
@TestVisible @TestVisible

View File

@ -35,217 +35,17 @@ private class SwaggerTest {
System.assertEquals('auth_token=foo-bar-api-key', query.get(0).toString()); System.assertEquals('auth_token=foo-bar-api-key', query.get(0).toString());
} }
@isTest
private static void HttpBasicAuth_base64EncodeCredentials() {
Map<String, Object> headers = new Map<String, String>();
List<Swagger.Param> query = new List<Swagger.Param>();
Swagger.HttpBasicAuth auth = new Swagger.HttpBasicAuth();
auth.setCredentials('username', 'password');
auth.apply(headers, query);
System.assert(query.isEmpty());
System.assertEquals(1, headers.size());
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', headers.get('Authorization'));
}
@isTest
private static void HttpBasicAuth_base64EncodeUsernamePassword() {
Map<String, Object> headers = new Map<String, String>();
List<Swagger.Param> query = new List<Swagger.Param>();
Swagger.HttpBasicAuth auth = new Swagger.HttpBasicAuth();
auth.setUsername('username');
auth.setPassword('password');
auth.apply(headers, query);
System.assert(query.isEmpty());
System.assertEquals(1, headers.size());
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', headers.get('Authorization'));
}
@isTest
private static void OAuth2_tokenInAuthorizationHeaderWithBearerPrefix() {
Map<String, Object> headers = new Map<String, String>();
List<Swagger.Param> query = new List<Swagger.Param>();
Swagger.OAuth2 auth = new Swagger.OAuth2();
auth.setAccessToken('foo-bar-api-key');
auth.apply(headers, query);
System.assert(query.isEmpty());
System.assertEquals(1, headers.size());
System.assertEquals('Bearer foo-bar-api-key', headers.get('Authorization'));
}
@isTest @isTest
private static void ApiClient_returnAuthenticationMatchingInput() { private static void ApiClient_returnAuthenticationMatchingInput() {
MockApiClient client = new MockApiClient(); MockApiClient client = new MockApiClient();
Swagger.ApiKeyHeaderAuth auth1 = new Swagger.ApiKeyHeaderAuth('foo'); Swagger.ApiKeyHeaderAuth auth1 = new Swagger.ApiKeyHeaderAuth('foo');
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('foo'); Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('foo');
Swagger.HttpBasicAuth auth3 = new Swagger.HttpBasicAuth();
Swagger.OAuth2 auth4 = new Swagger.OAuth2();
client.authentications.put('auth1', auth1); client.authentications.put('auth1', auth1);
client.authentications.put('auth2', auth2); client.authentications.put('auth2', auth2);
client.authentications.put('auth3', auth3);
client.authentications.put('auth4', auth4);
System.assertEquals(auth1, client.getAuthentication('auth1')); System.assertEquals(auth1, client.getAuthentication('auth1'));
System.assertEquals(auth2, client.getAuthentication('auth2')); System.assertEquals(auth2, client.getAuthentication('auth2'));
System.assertEquals(auth3, client.getAuthentication('auth3'));
System.assertEquals(auth4, client.getAuthentication('auth4'));
}
@isTest
private static void ApiClient_noAuthenticationsMatchInputReturnNull() {
MockApiClient client = new MockApiClient();
Swagger.OAuth2 auth = new Swagger.OAuth2();
client.authentications.put('auth', auth);
System.assertEquals(auth, client.getAuthentication('auth'));
System.assertEquals(null, client.getAuthentication('no-auth'));
}
@isTest
private static void ApiClient_setUsernamePasswordFirstBasicAuthOnly() {
MockApiClient client = new MockApiClient();
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('auth2');
Swagger.ApiKeyHeaderAuth auth3 = new Swagger.ApiKeyHeaderAuth('auth3');
Swagger.HttpBasicAuth auth4 = new Swagger.HttpBasicAuth();
Swagger.HttpBasicAuth auth5 = new Swagger.HttpBasicAuth();
client.authentications.put('auth1', auth1);
client.authentications.put('auth2', auth2);
client.authentications.put('auth3', auth3);
client.authentications.put('auth4', auth4);
client.authentications.put('auth5', auth5);
client.setUsername('username');
client.setPassword('password');
System.assertEquals('Bearer ', auth1.getHeaderValue());
System.assertEquals('', auth2.getApiKey());
System.assertEquals('', auth3.getApiKey());
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', auth4.getHeaderValue());
System.assertEquals('Basic Og==', auth5.getHeaderValue());
}
@isTest
private static void ApiClient_setUsernameExceptionNoBasicAuth() {
Swagger.ApiClient client = new Swagger.ApiClient();
try {
client.setUsername('username');
} catch (NoSuchElementException e) {
return;
}
System.assert(false);
}
@isTest
private static void ApiClient_setPasswordExceptionNoBasicAuth() {
Swagger.ApiClient client = new Swagger.ApiClient();
try {
client.setPassword('password');
} catch (NoSuchElementException e) {
return;
}
System.assert(false);
}
@isTest
private static void ApiClient_setCredentialsFirstBasicAuthOnly() {
MockApiClient client = new MockApiClient();
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('auth2');
Swagger.ApiKeyHeaderAuth auth3 = new Swagger.ApiKeyHeaderAuth('auth3');
Swagger.HttpBasicAuth auth4 = new Swagger.HttpBasicAuth();
Swagger.HttpBasicAuth auth5 = new Swagger.HttpBasicAuth();
client.authentications.put('auth1', auth1);
client.authentications.put('auth2', auth2);
client.authentications.put('auth3', auth3);
client.authentications.put('auth4', auth4);
client.authentications.put('auth5', auth5);
client.setCredentials('username', 'password');
System.assertEquals('Bearer ', auth1.getHeaderValue());
System.assertEquals('', auth2.getApiKey());
System.assertEquals('', auth3.getApiKey());
System.assertEquals('Basic dXNlcm5hbWU6cGFzc3dvcmQ=', auth4.getHeaderValue());
System.assertEquals('Basic Og==', auth5.getHeaderValue());
}
@isTest
private static void ApiClient_setCredentialsExceptionNoBasicAuth() {
Swagger.ApiClient client = new Swagger.ApiClient();
try {
client.setCredentials('username', 'password');
} catch (NoSuchElementException e) {
return;
}
System.assert(false);
}
@isTest
private static void ApiClient_setApiKeyFirstKeyAuthOnly() {
MockApiClient client = new MockApiClient();
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
Swagger.HttpBasicAuth auth2 = new Swagger.HttpBasicAuth();
Swagger.HttpBasicAuth auth3 = new Swagger.HttpBasicAuth();
Swagger.ApiKeyQueryAuth auth4 = new Swagger.ApiKeyQueryAuth('auth4');
Swagger.ApiKeyHeaderAuth auth5 = new Swagger.ApiKeyHeaderAuth('auth5');
client.authentications.put('auth1', auth1);
client.authentications.put('auth2', auth2);
client.authentications.put('auth3', auth3);
client.authentications.put('auth4', auth4);
client.authentications.put('auth5', auth5);
client.setApiKey('foo-bar-api-key');
System.assertEquals('Bearer ', auth1.getHeaderValue());
System.assertEquals('Basic Og==', auth2.getHeaderValue());
System.assertEquals('Basic Og==', auth3.getHeaderValue());
System.assertEquals('foo-bar-api-key', auth4.getApiKey());
System.assertEquals('', auth5.getApiKey());
}
@isTest
private static void ApiClient_setApiKeyExceptionNoKeyAuth() {
Swagger.ApiClient client = new Swagger.ApiClient();
try {
client.setApiKey('foo-bar-api-key');
} catch (NoSuchElementException e) {
return;
}
System.assert(false);
}
@isTest
private static void ApiClient_setAccessTokenFirstOauthOnly() {
MockApiClient client = new MockApiClient();
Swagger.HttpBasicAuth auth1 = new Swagger.HttpBasicAuth();
Swagger.ApiKeyQueryAuth auth2 = new Swagger.ApiKeyQueryAuth('auth2');
Swagger.ApiKeyHeaderAuth auth3 = new Swagger.ApiKeyHeaderAuth('auth3');
Swagger.OAuth2 auth4 = new Swagger.OAuth2();
Swagger.OAuth2 auth5 = new Swagger.OAuth2();
client.authentications.put('auth1', auth1);
client.authentications.put('auth2', auth2);
client.authentications.put('auth3', auth3);
client.authentications.put('auth4', auth4);
client.authentications.put('auth5', auth5);
client.setAccessToken('foo-bar-api-key');
System.assertEquals('Basic Og==', auth1.getHeaderValue());
System.assertEquals('', auth2.getApiKey());
System.assertEquals('', auth3.getApiKey());
System.assertEquals('Bearer foo-bar-api-key', auth4.getHeaderValue());
System.assertEquals('Bearer ', auth5.getHeaderValue());
}
@isTest
private static void ApiClient_setAccessTokenExceptionNoOAuth() {
Swagger.ApiClient client = new Swagger.ApiClient();
try {
client.setAccessToken('foo-bar-api-key');
} catch (NoSuchElementException e) {
return;
}
System.assert(false);
} }
@isTest @isTest
@ -483,22 +283,6 @@ private class SwaggerTest {
System.assert(headers3.isEmpty()); System.assert(headers3.isEmpty());
} }
@isTest
private static void ApiClient_applyOnlyGivenAuthMethodsToParams() {
MockApiClient client = new MockApiClient();
Map<String, Object> headers = new Map<String, Object>();
Swagger.OAuth2 auth1 = new Swagger.OAuth2();
Swagger.ApiKeyHeaderAuth auth2 = new Swagger.ApiKeyHeaderAuth('X-Authentication-Token');
auth1.setAccessToken('boo-bat-api-key');
auth2.setApiKey('foo-bar-api-key');
client.authentications.put('auth1', auth1);
client.authentications.put('auth2', auth2);
client.applyAuthentication(new List<String>{'auth2'}, headers, new List<Swagger.Param>());
System.assertEquals(1, headers.size());
System.assertEquals('foo-bar-api-key', headers.get('X-Authentication-Token'));
}
@isTest @isTest
private static void ApiClient_formUrlWithQueryParamsPathParams() { private static void ApiClient_formUrlWithQueryParamsPathParams() {
MockApiClient client = new MockApiClient(); MockApiClient client = new MockApiClient();
@ -513,206 +297,6 @@ private class SwaggerTest {
System.assertEquals(expected, actual); System.assertEquals(expected, actual);
} }
@isTest
private static void ApiClient_setupRequestWithBody() {
MockApiClient client = new MockApiClient();
HttpResponse res = new HttpResponse();
SwaggerResponseMock mock = new SwaggerResponseMock(res);
Swagger.OAuth2 auth = new Swagger.OAuth2();
auth.setAccessToken('foo-bar-access-token');
client.authentications.put('oauth_method', auth);
Test.setMock(HttpCalloutMock.class, mock);
HttpResponse returned = client.getResponse(
'PUT', '/courses/{course}/assignments/{assignmentId}',
new Map<String, Object> {
'title' => 'Chapter 4 quiz',
'timed' => true,
'time' => 60,
'points' => 20.5,
'due' => Datetime.newInstanceGmt(2016, 5, 10, 23, 59, 59),
'description' => ''
},
new List<Swagger.Param>(),
new List<Swagger.Param>(),
new Map<String, Object>{
'course' => 'acc321',
'assignmentId' => 5
},
new Map<String, Object>{
'X-Session' => 'foo-bar-444'
},
new List<String>{'application/json', 'application/xml'},
new List<String>{'application/json', 'application/xml'},
new List<String>{'oauth_method'}
);
HttpRequest req = mock.getRequest();
String expectedUrl = 'https://www.mccombs.utexas.edu/courses/acc321/assignments/5';
Set<String> body = new Set<String>(req
.getBody()
.removeStart('{')
.removeEnd('}')
.split(',')
);
System.assertEquals(res, returned);
System.assertEquals(expectedUrl, req.getEndpoint());
System.assertEquals(6, body.size());
System.assert(body.contains('"title":"Chapter 4 quiz"'));
System.assert(body.contains('"timed":true'));
System.assert(body.contains('"time":60'));
System.assert(body.contains('"points":20.5'));
System.assert(body.contains('"due":"2016-05-10T23:59:59.000Z"'));
System.assert(body.contains('"description":""'));
System.assertEquals('PUT', req.getMethod());
System.assertEquals('Bearer foo-bar-access-token', req.getHeader('Authorization'));
System.assertEquals('foo-bar-444', req.getHeader('X-Session'));
System.assertEquals('application/json', req.getHeader('Accept'));
System.assertEquals('application/json', req.getHeader('Content-Type'));
}
@isTest
private static void ApiClient_setupRequestWithForm() {
MockApiClient client = new MockApiClient();
HttpResponse res = new HttpResponse();
SwaggerResponseMock mock = new SwaggerResponseMock(res);
Swagger.OAuth2 auth = new Swagger.OAuth2();
auth.setAccessToken('foo-bar-access-token');
client.authentications.put('oauth_method', auth);
Test.setMock(HttpCalloutMock.class, mock);
HttpResponse returned = client.getResponse(
'PUT', '/courses/{course}/assignments/{assignmentId}', '',
new List<Swagger.Param>(),
new List<Swagger.Param>{
new Swagger.Param('title', 'Chapter 4 quiz'),
new Swagger.Param('timed', 'true'),
new Swagger.Param('time', '60'),
new Swagger.Param('points', '20.5'),
new Swagger.Param('due', '2016-05-10 18:59:59'),
new Swagger.Param('description', 'complete & upload \'section1: advanced\'')
},
new Map<String, Object>{
'course' => 'acc321',
'assignmentId' => 5
},
new Map<String, Object>{
'X-Session' => 'foo-bar-444'
},
new List<String>{'text/html', 'application/xml'},
new List<String>{'application/x-www-form-urlencoded'},
new List<String>{'oauth_method'}
);
HttpRequest req = mock.getRequest();
String expectedUrl = 'https://www.mccombs.utexas.edu/courses/acc321/assignments/5';
Set<String> body = new Set<String>(req.getBody().split('&'));
System.assertEquals(res, returned);
System.assertEquals(expectedUrl, req.getEndpoint());
System.assertEquals(6, body.size());
System.assert(body.contains('title=Chapter+4+quiz'));
System.assert(body.contains('timed=true'));
System.assert(body.contains('time=60'));
System.assert(body.contains('points=20.5'));
System.assert(body.contains('due=2016-05-10+18%3A59%3A59'));
System.assert(body.contains('description=complete+%26+upload+%27section1%3A+advanced%27'));
System.assertEquals('PUT', req.getMethod());
System.assertEquals('Bearer foo-bar-access-token', req.getHeader('Authorization'));
System.assertEquals('foo-bar-444', req.getHeader('X-Session'));
System.assertEquals('text/html,application/xml', req.getHeader('Accept'));
System.assertEquals('application/x-www-form-urlencoded', req.getHeader('Content-Type'));
}
@isTest
private static void ApiClient_setupRequestWithQuery() {
MockApiClient client = new MockApiClient();
HttpResponse res = new HttpResponse();
SwaggerResponseMock mock = new SwaggerResponseMock(res);
Swagger.OAuth2 auth = new Swagger.OAuth2();
auth.setAccessToken('foo-bar-access-token');
client.authentications.put('oauth_method', auth);
Test.setMock(HttpCalloutMock.class, mock);
HttpResponse returned = client.getResponse(
'GET', '/courses/{course}/assignments', '',
new List<Swagger.Param>{
new Swagger.Param('title', '#chapter1:section2'),
new Swagger.Param('due', '2016-05-10 18:59:59')
},
new List<Swagger.Param>(),
new Map<String, Object>{
'course' => 'acc321'
},
new Map<String, Object>(),
new List<String>{'application/xml'},
new List<String>{'text/plain'},
new List<String>{'oauth_method'}
);
HttpRequest req = mock.getRequest();
List<String> splitUrl = req.getEndpoint().split('\\?');
String expectedUrl = 'https://www.mccombs.utexas.edu/courses/acc321/assignments';
Set<String> query = new Set<String>(splitUrl.get(1).split('&'));
System.assertEquals(res, returned);
System.assertEquals(expectedUrl, splitUrl.get(0));
System.assertEquals(2, query.size());
System.assert(query.contains('title=%23chapter1%3Asection2'));
System.assert(query.contains('due=2016-05-10+18%3A59%3A59'));
System.assertEquals('GET', req.getMethod());
System.assertEquals('Bearer foo-bar-access-token', req.getHeader('Authorization'));
System.assertEquals('application/xml', req.getHeader('Accept'));
System.assertEquals('text/plain', req.getHeader('Content-Type'));
}
@isTest
private static void ApiClient_nonSuccessfulStatusCodeException() {
MockApiClient client = new MockApiClient();
HttpResponse res = new HttpResponse();
SwaggerResponseMock mock = new SwaggerResponseMock(res);
Swagger.OAuth2 auth = new Swagger.OAuth2();
auth.setAccessToken('foo-bar-access-token');
client.authentications.put('oauth_method', auth);
Test.setMock(HttpCalloutMock.class, mock);
res.setStatus('Not Found');
res.setStatusCode(404);
res.setHeader('X-Request-ID', '1234567890');
res.setHeader('Content-Type', 'application/json');
res.setBody('{"error":"the specified course does not exist"}');
try {
client.invoke(
'GET', '/courses/{course}', '',
new List<Swagger.Param>(),
new List<Swagger.Param>(),
new Map<String, Object>{
'course' => 'acc321'
},
new Map<String, Object>(),
new List<String>{'application/json'},
new List<String>{'text/plain'},
new List<String>{'oauth_method'},
null
);
} catch (Swagger.ApiException e) {
Map<String, String> headers = e.getHeaders();
System.assertEquals('API returned HTTP 404: Not Found', e.getMessage());
System.assertEquals(404, e.getStatusCode());
System.assertEquals('Not Found', e.getStatus());
System.assertEquals('{"error":"the specified course does not exist"}', e.getBody());
System.assertEquals(2, headers.size());
System.assertEquals('1234567890', headers.get('X-Request-ID'));
System.assertEquals('application/json', headers.get('Content-Type'));
return;
}
System.assert(false);
}
@isTest @isTest
private static void ApiClient_returnParsedBody() { private static void ApiClient_returnParsedBody() {
MockApiClient client = new MockApiClient(); MockApiClient client = new MockApiClient();

View File

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

View File

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

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>
<types> <types>
<members>{{sanitizedName}}</members> <members>{{sanitizedName}}</members>
<name>RemoteSiteSetting</name> <name>NamedCredential</name>
</types> </types>
<version>{{apiVersion}}</version> <version>{{apiVersion}}</version>
</Package> </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> :license {:name "<&projectLicenseName>"<#projectLicenseUrl>
:url "<&projectLicenseUrl>"</projectLicenseUrl>}</projectLicenseName> :url "<&projectLicenseUrl>"</projectLicenseUrl>}</projectLicenseName>
:dependencies [[org.clojure/clojure "1.7.0"] :dependencies [[org.clojure/clojure "1.7.0"]
[clj-http "2.0.0"] [clj-http "3.6.0"]
[cheshire "5.5.0"]]) [cheshire "5.5.0"]])

View File

@ -102,18 +102,27 @@ namespace Example
{ {
public void main() public void main()
{ {
{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}{{#hasAuthMethods}}{{#authMethods}}{{#isBasic}} {{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}
{{#hasAuthMethods}}
{{#authMethods}}
{{#isBasic}}
// Configure HTTP basic authorization: {{{name}}} // Configure HTTP basic authorization: {{{name}}}
Configuration.Default.Username = "YOUR_USERNAME"; Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";{{/isBasic}}{{#isApiKey}} Configuration.Default.Password = "YOUR_PASSWORD";
{{/isBasic}}
{{#isApiKey}}
// Configure API key authorization: {{{name}}} // Configure API key authorization: {{{name}}}
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY"); Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");{{/isApiKey}}{{#isOAuth}} // Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");
{{/isApiKey}}
{{#isOAuth}}
// Configure OAuth2 access token for authorization: {{{name}}} // Configure OAuth2 access token for authorization: {{{name}}}
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";{{/isOAuth}}{{/authMethods}} Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
{{/hasAuthMethods}} {{/isOAuth}}
{{/authMethods}}
{{/hasAuthMethods}}
var apiInstance = new {{classname}}(); var apiInstance = new {{classname}}();
{{#allParams}} {{#allParams}}
{{#isPrimitiveType}} {{#isPrimitiveType}}
@ -136,9 +145,10 @@ namespace Example
{ {
Debug.Print("Exception when calling {{classname}}.{{operationId}}: " + e.Message ); Debug.Print("Exception when calling {{classname}}.{{operationId}}: " + e.Message );
} }
{{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}}
} }
} }
}{{/-first}}{{/operation}}{{/operations}}{{/-first}}{{/apis}}{{/apiInfo}} }
``` ```
<a name="documentation-for-api-endpoints"></a> <a name="documentation-for-api-endpoints"></a>

View File

@ -32,18 +32,26 @@ namespace Example
{ {
public void main() public void main()
{ {
{{#hasAuthMethods}}{{#authMethods}}{{#isBasic}} {{#hasAuthMethods}}
{{#authMethods}}
{{#isBasic}}
// Configure HTTP basic authorization: {{{name}}} // Configure HTTP basic authorization: {{{name}}}
Configuration.Default.Username = "YOUR_USERNAME"; Configuration.Default.Username = "YOUR_USERNAME";
Configuration.Default.Password = "YOUR_PASSWORD";{{/isBasic}}{{#isApiKey}} Configuration.Default.Password = "YOUR_PASSWORD";
{{/isBasic}}
{{#isApiKey}}
// Configure API key authorization: {{{name}}} // Configure API key authorization: {{{name}}}
Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY"); Configuration.Default.ApiKey.Add("{{{keyParamName}}}", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");{{/isApiKey}}{{#isOAuth}} // Configuration.Default.ApiKeyPrefix.Add("{{{keyParamName}}}", "Bearer");
{{/isApiKey}}
{{#isOAuth}}
// Configure OAuth2 access token for authorization: {{{name}}} // Configure OAuth2 access token for authorization: {{{name}}}
Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";{{/isOAuth}}{{/authMethods}} Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
{{/hasAuthMethods}} {{/isOAuth}}
{{/authMethods}}
{{/hasAuthMethods}}
var apiInstance = new {{classname}}(); var apiInstance = new {{classname}}();
{{#allParams}} {{#allParams}}
{{#isPrimitiveType}} {{#isPrimitiveType}}
@ -75,7 +83,7 @@ namespace Example
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}} {{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
Name | Type | Description | Notes Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}} ------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
{{#allParams}} **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**]({{baseType}}.md){{/isFile}}{{/isPrimitiveType}}| {{description}} | {{^required}}[optional] {{/required}}{{#defaultValue}}[default to {{defaultValue}}]{{/defaultValue}} {{#allParams}} **{{paramName}}** | {{#isFile}}**{{dataType}}**{{/isFile}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{^isFile}}[**{{dataType}}**]({{#isContainer}}{{baseType}}{{/isContainer}}{{^isContainer}}{{dataType}}{{/isContainer}}.md){{/isFile}}{{/isPrimitiveType}}| {{description}} | {{^required}}[optional] {{/required}}{{#defaultValue}}[default to {{defaultValue}}]{{/defaultValue}}
{{/allParams}} {{/allParams}}
### Return type ### Return type

View File

@ -117,7 +117,9 @@ module {{moduleName}}
end end
end end
Typhoeus::Request.new(url, req_opts) request = Typhoeus::Request.new(url, req_opts)
download_file(request) if opts[:return_type] == 'File'
request
end end
# Check if the given MIME is a JSON MIME. # Check if the given MIME is a JSON MIME.
@ -138,14 +140,16 @@ module {{moduleName}}
# @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]" # @param [String] return_type some examples: "User", "Array[User]", "Hash[String,Integer]"
def deserialize(response, return_type) def deserialize(response, return_type)
body = response.body body = response.body
# handle file downloading - return the File instance processed in request callbacks
# note that response body is empty when the file is written in chunks in request on_body callback
return @tempfile if return_type == 'File'
return nil if body.nil? || body.empty? return nil if body.nil? || body.empty?
# return response body directly for String return type # return response body directly for String return type
return body if return_type == 'String' return body if return_type == 'String'
# handle file downloading - save response body into a tmp file and return the File instance
return download_file(response) if return_type == 'File'
# ensuring a default content type # ensuring a default content type
content_type = response.headers['Content-Type'] || 'application/json' content_type = response.headers['Content-Type'] || 'application/json'
@ -208,10 +212,15 @@ module {{moduleName}}
# Save response body into a file in (the defined) temporary folder, using the filename # Save response body into a file in (the defined) temporary folder, using the filename
# from the "Content-Disposition" header if provided, otherwise a random filename. # from the "Content-Disposition" header if provided, otherwise a random filename.
# The response body is written to the file in chunks in order to handle files which
# size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
# process can use.
# #
# @see Configuration#temp_folder_path # @see Configuration#temp_folder_path
# @return [Tempfile] the file downloaded def download_file(request)
def download_file(response) tempfile = nil
encoding = nil
request.on_headers do |response|
content_disposition = response.headers['Content-Disposition'] content_disposition = response.headers['Content-Disposition']
if content_disposition and content_disposition =~ /filename=/i if content_disposition and content_disposition =~ /filename=/i
filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1] filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
@ -220,18 +229,21 @@ module {{moduleName}}
prefix = 'download-' prefix = 'download-'
end end
prefix = prefix + '-' unless prefix.end_with?('-') prefix = prefix + '-' unless prefix.end_with?('-')
tempfile = nil
encoding = response.body.encoding encoding = response.body.encoding
Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding) do |file| tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
file.write(response.body) @tempfile = tempfile
tempfile = file
end 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 "\ @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 "\ "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 "\ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
"explicitly with `tempfile.delete`" "explicitly with `tempfile.delete`"
tempfile end
end end
# Sanitize filename by removing path. # 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 Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**body** | [**SwagPet**](SwagPet.md)| Pet object that needs to be added to the store | **body** | [**SwagPet**](Pet.md)| Pet object that needs to be added to the store |
### Return type ### Return type
@ -292,7 +292,7 @@ try {
Name | Type | Description | Notes Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**body** | [**SwagPet**](SwagPet.md)| Pet object that needs to be added to the store | **body** | [**SwagPet**](Pet.md)| Pet object that needs to be added to the store |
### Return type ### Return type

View File

@ -168,7 +168,7 @@ try {
Name | Type | Description | Notes Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**body** | [**SwagOrder**](SwagOrder.md)| order placed for purchasing the pet | **body** | [**SwagOrder**](Order.md)| order placed for purchasing the pet |
### Return type ### Return type

View File

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

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" :license {:name "Apache 2.0"
:url "http://www.apache.org/licenses/LICENSE-2.0.html"} :url "http://www.apache.org/licenses/LICENSE-2.0.html"}
:dependencies [[org.clojure/clojure "1.7.0"] :dependencies [[org.clojure/clojure "1.7.0"]
[clj-http "2.0.0"] [clj-http "3.6.0"]
[cheshire "5.5.0"]]) [cheshire "5.5.0"]])

View File

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

View File

@ -61,11 +61,6 @@ utility::string_t ApiClient::parameterToString(float value)
return utility::conversions::to_string_t(std::to_string(value)); return utility::conversions::to_string_t(std::to_string(value));
} }
utility::string_t ApiClient::parameterToString(float value)
{
return utility::conversions::to_string_t(std::to_string(value));
}
utility::string_t ApiClient::parameterToString(const utility::datetime &value) utility::string_t ApiClient::parameterToString(const utility::datetime &value)
{ {
return utility::conversions::to_string_t(value.to_string(utility::datetime::ISO_8601)); return utility::conversions::to_string_t(value.to_string(utility::datetime::ISO_8601));

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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