mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Tests top level classes interface
Currently most providers used by the `fog` binary give themselves a top level class. This has become the place a lookup table between services and the classes which implement them. This adds compatibility tests for the existing behaviour to allow controlled extraction to modules. This top level class behaviour is due to be deprecated and removed in fog 2.0
This commit is contained in:
parent
d8e62a60f5
commit
0ef2453fa0
3 changed files with 94 additions and 0 deletions
|
@ -7,4 +7,28 @@ describe Atmos do
|
|||
include Fog::BinSpec
|
||||
|
||||
let(:subject) { Atmos }
|
||||
|
||||
describe "#services" do
|
||||
it "includes all services" do
|
||||
assert_includes Atmos.services, :storage
|
||||
end
|
||||
end
|
||||
|
||||
describe "#class_for" do
|
||||
describe "when requesting storage service" do
|
||||
it "returns correct class" do
|
||||
assert_equal Fog::Storage::Atmos, Atmos.class_for(:storage)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#[]" do
|
||||
describe "when requesting storage service" do
|
||||
it "returns instance" do
|
||||
Fog::Storage::Atmos.stub(:new, "instance") do
|
||||
assert_equal "instance", Atmos[:storage]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,4 +7,28 @@ describe BareMetalCloud do
|
|||
include Fog::BinSpec
|
||||
|
||||
let(:subject) { BareMetalCloud }
|
||||
|
||||
describe "#services" do
|
||||
it "includes all services" do
|
||||
assert_includes BareMetalCloud.services, :compute
|
||||
end
|
||||
end
|
||||
|
||||
describe "#class_for" do
|
||||
describe "when requesting storage service" do
|
||||
it "returns correct class" do
|
||||
assert_equal Fog::Compute::BareMetalCloud, BareMetalCloud.class_for(:compute)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#[]" do
|
||||
describe "when requesting compute service" do
|
||||
it "returns instance" do
|
||||
Fog::Compute::BareMetalCloud.stub(:new, "instance") do
|
||||
assert_equal "instance", BareMetalCloud[:compute]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,4 +7,50 @@ describe Bluebox do
|
|||
include Fog::BinSpec
|
||||
|
||||
let(:subject) { Bluebox }
|
||||
|
||||
describe "#services" do
|
||||
it "includes all services" do
|
||||
assert_includes Bluebox.services, :compute
|
||||
assert_includes Bluebox.services, :dns
|
||||
assert_includes Bluebox.services, :blb
|
||||
end
|
||||
end
|
||||
|
||||
describe "#class_for" do
|
||||
describe "when requesting compute service" do
|
||||
it "returns correct class" do
|
||||
assert_equal Fog::Compute::Bluebox, Bluebox.class_for(:compute)
|
||||
end
|
||||
end
|
||||
|
||||
describe "when requesting dns service" do
|
||||
it "returns correct class" do
|
||||
assert_equal Fog::DNS::Bluebox, Bluebox.class_for(:dns)
|
||||
end
|
||||
end
|
||||
|
||||
describe "when requesting blb service" do
|
||||
it "returns correct class" do
|
||||
assert_equal Fog::Bluebox::BLB, Bluebox.class_for(:blb)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#[]" do
|
||||
describe "when requesting compute service" do
|
||||
it "returns instance" do
|
||||
Fog::Compute::Bluebox.stub(:new, "instance") do
|
||||
assert_equal "instance", Bluebox[:compute]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "when requesting dns service" do
|
||||
it "returns instance" do
|
||||
Fog::DNS::Bluebox.stub(:new, "instance") do
|
||||
assert_equal "instance", Bluebox[:dns]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue