forked from loafle/openapi-generator-original
Fix Ruby tests of the Petstore sample
This commit is contained in:
parent
dc32ac18b7
commit
1f072a697b
@ -4,7 +4,17 @@ require 'json'
|
|||||||
describe "Pet" do
|
describe "Pet" do
|
||||||
before do
|
before do
|
||||||
@pet_api = Petstore::PetApi.new(API_CLIENT)
|
@pet_api = Petstore::PetApi.new(API_CLIENT)
|
||||||
prepare_pet @pet_api
|
@pet_id = prepare_pet(@pet_api)
|
||||||
|
end
|
||||||
|
|
||||||
|
after do
|
||||||
|
# remove the testing pet
|
||||||
|
begin
|
||||||
|
@pet_api.delete_pet(@pet_id)
|
||||||
|
rescue Petstore::ApiError => e
|
||||||
|
# ignore ApiError 404 (Not Found)
|
||||||
|
raise e if e.code != 404
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "pet methods" do
|
describe "pet methods" do
|
||||||
@ -14,7 +24,7 @@ describe "Pet" do
|
|||||||
category1 = Petstore::Category.new({:id => 1, :name => 'category unknown'})
|
category1 = Petstore::Category.new({:id => 1, :name => 'category unknown'})
|
||||||
# initalize using both string and symbol key
|
# initalize using both string and symbol key
|
||||||
pet_hash = {
|
pet_hash = {
|
||||||
:id => 10002,
|
:id => @pet_id,
|
||||||
:name => "RUBY UNIT TESTING",
|
:name => "RUBY UNIT TESTING",
|
||||||
:status => "pending",
|
:status => "pending",
|
||||||
:photo_urls => ["url1", "url2"],
|
:photo_urls => ["url1", "url2"],
|
||||||
@ -25,7 +35,7 @@ describe "Pet" do
|
|||||||
# test new
|
# test new
|
||||||
pet.name.should == "RUBY UNIT TESTING"
|
pet.name.should == "RUBY UNIT TESTING"
|
||||||
pet.status.should == "pending"
|
pet.status.should == "pending"
|
||||||
pet.id.should == 10002
|
pet.id.should == @pet_id
|
||||||
pet.tags[0].id.should == 1
|
pet.tags[0].id.should == 1
|
||||||
pet.tags[1].name.should == 'tag2'
|
pet.tags[1].name.should == 'tag2'
|
||||||
pet.category.name.should == 'category unknown'
|
pet.category.name.should == 'category unknown'
|
||||||
@ -42,20 +52,20 @@ describe "Pet" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "should fetch a pet object" do
|
it "should fetch a pet object" do
|
||||||
pet = @pet_api.get_pet_by_id(10002)
|
pet = @pet_api.get_pet_by_id(@pet_id)
|
||||||
pet.should be_a(Petstore::Pet)
|
pet.should be_a(Petstore::Pet)
|
||||||
pet.id.should == 10002
|
pet.id.should == @pet_id
|
||||||
pet.name.should == "RUBY UNIT TESTING"
|
pet.name.should == "RUBY UNIT TESTING"
|
||||||
pet.tags[0].name.should == "tag test"
|
pet.tags[0].name.should == "tag test"
|
||||||
pet.category.name.should == "category test"
|
pet.category.name.should == "category test"
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should fetch a pet object with http info" do
|
it "should fetch a pet object with http info" do
|
||||||
pet, status_code, headers = @pet_api.get_pet_by_id_with_http_info(10002)
|
pet, status_code, headers = @pet_api.get_pet_by_id_with_http_info(@pet_id)
|
||||||
status_code.should == 200
|
status_code.should == 200
|
||||||
headers['Content-Type'].should == 'application/json'
|
headers['Content-Type'].should == 'application/json'
|
||||||
pet.should be_a(Petstore::Pet)
|
pet.should be_a(Petstore::Pet)
|
||||||
pet.id.should == 10002
|
pet.id.should == @pet_id
|
||||||
pet.name.should == "RUBY UNIT TESTING"
|
pet.name.should == "RUBY UNIT TESTING"
|
||||||
pet.tags[0].name.should == "tag test"
|
pet.tags[0].name.should == "tag test"
|
||||||
pet.category.name.should == "category test"
|
pet.category.name.should == "category test"
|
||||||
@ -63,7 +73,7 @@ describe "Pet" do
|
|||||||
|
|
||||||
it "should not find a pet that does not exist" do
|
it "should not find a pet that does not exist" do
|
||||||
begin
|
begin
|
||||||
@pet_api.get_pet_by_id(-10002)
|
@pet_api.get_pet_by_id(-@pet_id)
|
||||||
fail 'it should raise error'
|
fail 'it should raise error'
|
||||||
rescue Petstore::ApiError => e
|
rescue Petstore::ApiError => e
|
||||||
e.code.should == 404
|
e.code.should == 404
|
||||||
@ -74,6 +84,20 @@ describe "Pet" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should update a pet" do
|
||||||
|
pet = @pet_api.get_pet_by_id(@pet_id)
|
||||||
|
pet.id.should == @pet_id
|
||||||
|
pet.name.should == "RUBY UNIT TESTING"
|
||||||
|
pet.status.should == 'pending'
|
||||||
|
|
||||||
|
@pet_api.update_pet_with_form(@pet_id, name: 'new name', status: 'sold')
|
||||||
|
|
||||||
|
fetched = @pet_api.get_pet_by_id(@pet_id)
|
||||||
|
fetched.id.should == @pet_id
|
||||||
|
fetched.name.should == "new name"
|
||||||
|
fetched.status.should == 'sold'
|
||||||
|
end
|
||||||
|
|
||||||
it "should find pets by status" do
|
it "should find pets by status" do
|
||||||
pets = @pet_api.find_pets_by_status(:status => 'available')
|
pets = @pet_api.find_pets_by_status(:status => 'available')
|
||||||
pets.length.should >= 3
|
pets.length.should >= 3
|
||||||
@ -97,43 +121,27 @@ describe "Pet" do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should update a pet" do
|
|
||||||
pet = Petstore::Pet.new({'id' => 10002, 'status' => 'sold'})
|
|
||||||
@pet_api.add_pet(:body => pet)
|
|
||||||
|
|
||||||
fetched = @pet_api.get_pet_by_id(10002)
|
|
||||||
fetched.id.should == 10002
|
|
||||||
fetched.status.should == 'sold'
|
|
||||||
end
|
|
||||||
|
|
||||||
it "should create a pet" do
|
it "should create a pet" do
|
||||||
pet = Petstore::Pet.new('id' => 10002, 'name' => "RUBY UNIT TESTING")
|
pet = Petstore::Pet.new('id' => 10003, 'name' => "RUBY UNIT TESTING")
|
||||||
result = @pet_api.add_pet(:body => pet)
|
result = @pet_api.add_pet(:body => pet)
|
||||||
# nothing is returned
|
# nothing is returned
|
||||||
result.should be_nil
|
result.should be_nil
|
||||||
|
|
||||||
pet = @pet_api.get_pet_by_id(10002)
|
pet = @pet_api.get_pet_by_id(10003)
|
||||||
pet.id.should == 10002
|
pet.id.should == 10003
|
||||||
pet.name.should == "RUBY UNIT TESTING"
|
pet.name.should == "RUBY UNIT TESTING"
|
||||||
|
|
||||||
|
@pet_api.delete_pet(10003)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should upload a file to a pet" do
|
it "should upload a file to a pet" do
|
||||||
pet = Petstore::Pet.new('id' => 10002, 'name' => "RUBY UNIT TESTING")
|
result = @pet_api.upload_file(@pet_id, file: File.new('hello.txt'))
|
||||||
result = @pet_api.add_pet(:body => pet)
|
|
||||||
# nothing is returned
|
|
||||||
result.should be_nil
|
|
||||||
|
|
||||||
result = @pet_api.upload_file(10002, file: File.new('hello.txt'))
|
|
||||||
# nothing is returned
|
# nothing is returned
|
||||||
result.should be_nil
|
result.should be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should upload a file with form parameter to a pet" do
|
it "should upload a file with form parameter to a pet" do
|
||||||
pet = Petstore::Pet.new('id' => 10002, 'name' => 'RUBY UNIT TESTING')
|
result = @pet_api.upload_file(@pet_id, file: File.new('hello.txt'), additional_metadata: 'metadata')
|
||||||
result = @pet_api.add_pet(body: pet)
|
|
||||||
result.should be_nil
|
|
||||||
|
|
||||||
result = @pet_api.upload_file(10002, file: File.new('hello.txt'), additional_metadata: 'metadata')
|
|
||||||
result.should be_nil
|
result.should be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -38,33 +38,32 @@ end
|
|||||||
|
|
||||||
API_CLIENT = Petstore::ApiClient.new(Petstore::Configuration.new)
|
API_CLIENT = Petstore::ApiClient.new(Petstore::Configuration.new)
|
||||||
|
|
||||||
# always delete and then re-create the pet object with 10002
|
def random_id
|
||||||
def prepare_pet(pet_api)
|
rand(1000000) + 20000
|
||||||
begin
|
|
||||||
# remove the pet
|
|
||||||
pet_api.delete_pet(10002)
|
|
||||||
rescue Petstore::ApiError => e
|
|
||||||
# ignore ApiError 404 (Not Found)
|
|
||||||
raise e if e.code != 404
|
|
||||||
end
|
|
||||||
# recreate the pet
|
|
||||||
category = Petstore::Category.new('id' => 20002, 'name' => 'category test')
|
|
||||||
tag = Petstore::Tag.new('id' => 30002, 'name' => 'tag test')
|
|
||||||
pet = Petstore::Pet.new('id' => 10002, 'name' => "RUBY UNIT TESTING", 'photo_urls' => 'photo url',
|
|
||||||
'category' => category, 'tags' => [tag], 'status' => 'pending')
|
|
||||||
|
|
||||||
pet_api.add_pet(:'body'=> pet)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# always delete and then re-create the store order
|
# create a random pet, return its id
|
||||||
|
def prepare_pet(pet_api)
|
||||||
|
pet_id = random_id
|
||||||
|
category = Petstore::Category.new('id' => 20002, 'name' => 'category test')
|
||||||
|
tag = Petstore::Tag.new('id' => 30002, 'name' => 'tag test')
|
||||||
|
pet = Petstore::Pet.new('id' => pet_id, 'name' => "RUBY UNIT TESTING", 'photo_urls' => 'photo url',
|
||||||
|
'category' => category, 'tags' => [tag], 'status' => 'pending')
|
||||||
|
pet_api.add_pet(:'body'=> pet)
|
||||||
|
return pet_id
|
||||||
|
end
|
||||||
|
|
||||||
|
# create a random order, return its id
|
||||||
def prepare_store(store_api)
|
def prepare_store(store_api)
|
||||||
order = Petstore::Order.new("id" => 10002,
|
order_id = random_id
|
||||||
"petId" => 10002,
|
order = Petstore::Order.new("id" => order_id,
|
||||||
|
"petId" => 123,
|
||||||
"quantity" => 789,
|
"quantity" => 789,
|
||||||
"shipDate" => "2015-04-06T23:42:01.678Z",
|
"shipDate" => "2015-04-06T23:42:01.678Z",
|
||||||
"status" => "placed",
|
"status" => "placed",
|
||||||
"complete" => false)
|
"complete" => false)
|
||||||
store_api.place_order(:body => order)
|
store_api.place_order(:body => order)
|
||||||
|
return order_id
|
||||||
end
|
end
|
||||||
|
|
||||||
# A random string to tack onto stuff to ensure we're not seeing
|
# A random string to tack onto stuff to ensure we're not seeing
|
||||||
|
@ -3,12 +3,16 @@ require 'spec_helper'
|
|||||||
describe "Store" do
|
describe "Store" do
|
||||||
before do
|
before do
|
||||||
@api = Petstore::StoreApi.new(API_CLIENT)
|
@api = Petstore::StoreApi.new(API_CLIENT)
|
||||||
prepare_store @api
|
@order_id = prepare_store(@api)
|
||||||
|
end
|
||||||
|
|
||||||
|
after do
|
||||||
|
@api.delete_order(@order_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should fetch an order" do
|
it "should fetch an order" do
|
||||||
item = @api.get_order_by_id(10002)
|
item = @api.get_order_by_id(@order_id)
|
||||||
item.id.should == 10002
|
item.id.should == @order_id
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should featch the inventory" do
|
it "should featch the inventory" do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user