swagger-client
Version:
swagger.js is a javascript client for use with swaggering APIs.
227 lines (176 loc) • 7.53 kB
text/coffeescript
window.api_key = 'special-key'
describe 'SwaggerRequest', ->
beforeEach ->
success = ->
console.log "success"
window.authorizations.add "key", new ApiKeyAuthorization("api_key", "special-key", "header")
window.swagger = new SwaggerApi({url: 'http://localhost:8002/api/api-docs', success: success})
waitsFor ->
swagger.ready?
describe "verifies the nickname is sanitized", ->
it "returns the same nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize("getSomething")).toBe "getSomething"
it "strips spaces in the nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize("get something")).toBe "get_something"
it "strips dots in the nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize("get.something")).toBe "get_something"
it "strips $ in the nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize("get$something")).toBe "get_something"
it "strips punctuation in the nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize("get[something]")).toBe "get_something"
it "strips curlies in the nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize("get{something}")).toBe "get_something"
it "strips punctuation in the nickname", ->
pet = window.swagger.apis.pet
expect(pet.sanitize(" \\]}{Get$$_./\[something]")).toBe "Get_something"
describe "verifies the get pet operation", ->
beforeEach ->
window.body = null
window.response = null
window.callback = null
window.error = null
window.success_callback = (data) ->
window.response = data
window.error_callback = (data) ->
window.error = data
it "verifies the response messages from the get operation", ->
operation = swagger.pet.operations.getPetById
console.log operation
responseMessages = operation.responseMessages
expect(responseMessages).toBeDefined
expect(responseMessages.length).toBe 2
expect(responseMessages[0].code).toBe 400
expect(responseMessages[1].code).toBe 404
it "gets help() from the get pet operation", ->
operation = swagger.pet.operations.getPetById
expect(operation.help()).toBe "* petId (required) - ID of pet that needs to be fetched"
it "verifies the get pet operation", ->
operation = swagger.pet.operations.getPetById
expect(operation.method).toBe "get"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 1
param = parameters[0]
expect(param.name).toBe "petId"
expect(param.type).toBe "integer"
expect(param.paramType).toBe "path"
expect(param.description).toBeDefined
it "verifies the post pet operation", ->
operation = swagger.pet.operations.addPet
expect(operation.method).toBe "post"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 1
param = parameters[0]
expect(param.name).toBe "body"
expect(param.type).toBe "Pet"
expect(param.paramType).toBe "body"
expect(param.description).toBeDefined
expect(param.required).toBe true
it "verifies the put pet operation", ->
operation = swagger.pet.operations.updatePet
expect(operation.method).toBe "put"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 1
param = parameters[0]
expect(param.name).toBe "body"
expect(param.type).toBe "Pet"
expect(param.paramType).toBe "body"
expect(param.description).toBeDefined
expect(param.required).toBe true
it "verifies the findByTags operation", ->
operation = swagger.pet.operations.findPetsByTags
expect(operation.method).toBe "get"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 1
param = parameters[0]
expect(param.name).toBe "tags"
expect(param.type).toBe "string"
expect(param.paramType).toBe "query"
expect(param.description).toBeDefined
expect(param.required).toBe true
expect(param.allowMultiple).toBe true
it "verifies the patch pet operation", ->
operation = swagger.pet.operations.partialUpdate
expect(operation.method).toBe "patch"
produces = operation.produces
expect(produces.length).toBe 2
expect(produces[0]).toBe "application/json"
expect(produces[1]).toBe "application/xml"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 2
param = parameters[0]
expect(param.name).toBe "petId"
expect(param.type).toBe "string"
expect(param.paramType).toBe "path"
expect(param.description).toBeDefined
param = parameters[1]
expect(param.name).toBe "body"
expect(param.type).toBe "Pet"
expect(param.paramType).toBe "body"
expect(param.description).toBeDefined
expect(param.allowMultiple).toBe false
expect(param.required).toBe true
it "verifies the post pet operation with form", ->
operation = swagger.pet.operations.updatePetWithForm
expect(operation.method).toBe "post"
consumes = operation.consumes
expect(consumes.length).toBe 1
expect(consumes[0]).toBe "application/x-www-form-urlencoded"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 3
param = parameters[0]
expect(param.name).toBe "petId"
expect(param.type).toBe "string"
expect(param.paramType).toBe "path"
expect(param.required).toBe true
expect(param.description).toBeDefined
param = parameters[1]
expect(param.name).toBe "name"
expect(param.type).toBe "string"
expect(param.paramType).toBe "form"
expect(param.description).toBeDefined
expect(param.allowMultiple).toBe false
expect(param.required).toBe false
param = parameters[2]
expect(param.name).toBe "status"
expect(param.type).toBe "string"
expect(param.paramType).toBe "form"
expect(param.description).toBeDefined
expect(param.allowMultiple).toBe false
expect(param.required).toBe false
it "verifies a file upload", ->
operation = swagger.pet.operations.uploadFile
expect(operation.method).toBe "post"
consumes = operation.consumes
expect(consumes.length).toBe 1
expect(consumes[0]).toBe "multipart/form-data"
parameters = operation.parameters
expect(parameters).toBeDefined
expect(parameters.length).toBe 2
param = parameters[0]
expect(param.name).toBe "additionalMetadata"
expect(param.type).toBe "string"
expect(param.paramType).toBe "form"
expect(param.required).toBe false
expect(param.description).toBeDefined
param = parameters[1]
expect(param.name).toBe "file"
expect(param.type).toBe "File"
expect(param.paramType).toBe "body"
expect(param.description).toBeDefined
expect(param.allowMultiple).toBe false
expect(param.required).toBe false
it "gets help() from the file upload operation", ->
operation = swagger.pet.operations.uploadFile
expect(operation.help().trim()).toBe "* additionalMetadata - Additional data to pass to server\n* file - file to upload"