Fix naming, add docs, add missing test file

This commit is contained in:
Gene Liverman 2021-12-01 15:37:48 -05:00
parent a08cba099f
commit 90e6ae1a3f
No known key found for this signature in database
GPG key ID: 3AF83985B6C857C6
8 changed files with 662 additions and 8 deletions

View file

@ -0,0 +1,44 @@
require 'spec_helper'
require 'vmpooler/providers'
describe 'providers' do
let(:providers) do
Vmpooler::Providers.new
end
it '#correct class' do
expect(providers).to be_a Vmpooler::Providers
end
it '#load_all_providers' do
expect(Vmpooler::Providers.load_all_providers.join(', ')).to match(%r{/lib/vmpooler/providers/base.rb})
expect(Vmpooler::Providers.load_all_providers.join(', ')).to match(%r{/lib/vmpooler/providers/dummy.rb})
expect(Vmpooler::Providers.load_all_providers.join(', ')).to match(%r{#{project_root_dir}/lib/vmpooler/providers/vsphere.rb})
end
it '#installed_providers' do
expect(Vmpooler::Providers.installed_providers).to eq(['vmpooler', 'vmpooler-provider-vsphere'])
end
it '#load_by_name' do
expect(Vmpooler::Providers.load_by_name('vsphere').join(', ')).to match(%r{#{project_root_dir}/lib/vmpooler/providers/vsphere.rb})
expect(Vmpooler::Providers.load_by_name('vsphere').join(', ')).to_not match(%r{base.rb})
expect(Vmpooler::Providers.load_by_name('vsphere').join(', ')).to_not match(%r{dummy.rb})
end
it '#load only vpshere' do
expect(providers.load_from_gems('vsphere').join(', ')).to match(%r{#{project_root_dir}/lib/vmpooler/providers/vsphere.rb})
expect(providers.load_from_gems('vsphere').join(', ')).to_not match(%r{base.rb})
expect(providers.load_from_gems('vsphere').join(', ')).to_not match(%r{dummy.rb})
end
it '#load all providers from gems' do
expect(providers.load_from_gems.join(', ')).to match(%r{/lib/vmpooler/providers/base.rb})
expect(providers.load_from_gems.join(', ')).to match(%r{/lib/vmpooler/providers/dummy.rb})
expect(providers.load_from_gems.join(', ')).to match(%r{#{project_root_dir}/lib/vmpooler/providers/vsphere.rb})
end
end