Skip to content

Commit

Permalink
Merge pull request #278 from agrare/add_vcr_based_refresher_spec
Browse files Browse the repository at this point in the history
Replace inventory/full_refresh_spec with vcr based tests
  • Loading branch information
Fryguy authored Feb 26, 2025
2 parents 479d124 + 07f57f3 commit 9fb60f2
Show file tree
Hide file tree
Showing 7 changed files with 4,557 additions and 310 deletions.
8 changes: 8 additions & 0 deletions config/secrets.defaults.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
test:
kubevirt_defaults: &kubevirt_defaults
hostname: host.example.com
token: theToken
port: "8443"
kubevirt:
<<: *kubevirt_defaults
18 changes: 0 additions & 18 deletions spec/fixtures/files/collectors/one_node.json

This file was deleted.

48 changes: 0 additions & 48 deletions spec/fixtures/files/collectors/one_vm.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
describe ManageIQ::Providers::Kubevirt::InfraManager::Refresher do
context '#refresh' do
let(:ems) do
host = Rails.application.secrets.kubevirt[:hostname]
token = Rails.application.secrets.kubevirt[:token]
port = Rails.application.secrets.kubevirt[:port]
zone = EvmSpecHelper.local_miq_server.zone

FactoryBot.create(:ems_kubevirt,
:name => "Kubevirt Virtualization Manager",
:zone => zone).tap do |ems|
ems.parent_manager.authentications << FactoryBot.create(:authentication, {:authtype => :bearer,
:type => "AuthToken",
:auth_key => token,
:password => nil,
:userid => "_"})
ems.parent_manager.default_endpoint.update!(:role => :default,
:hostname => host,
:port => port,
:security_protocol => "ssl-without-validation")
end
end

it 'works correctly with one node' do
2.times do
VCR.use_cassette(described_class.name.underscore) do
EmsRefresh.refresh(ems)
end

assert_counts
assert_specific_vm
assert_specific_host
assert_specific_cluster
assert_specific_storage
end
end

def assert_counts
expect(ems.vms.count).to eq(1)
expect(ems.hosts.count).to eq(1)
expect(ems.clusters.count).to eq(1)
expect(ems.storages.count).to eq(1)
end

def assert_specific_vm
vm = ems.vms.find_by(:name => "centos-stream9-lavender-manatee-97")
expect(vm).to have_attributes(
:ems_ref => "fb22c624-ae4c-4e1e-8fd9-7e7a7aadde76",
:name => "centos-stream9-lavender-manatee-97",
:type => "ManageIQ::Providers::Kubevirt::InfraManager::Vm",
:uid_ems => "fb22c624-ae4c-4e1e-8fd9-7e7a7aadde76",
:vendor => "kubevirt",
:power_state => "on",
:connection_state => "connected"
)
end

def assert_specific_host
host = ems.hosts.find_by(:ems_ref => "436c15c9-86cf-4fd6-9290-d219d2a59221")
expect(host).to have_attributes(
:connection_state => "connected",
:ems_ref => "436c15c9-86cf-4fd6-9290-d219d2a59221",
:type => "ManageIQ::Providers::Kubevirt::InfraManager::Host",
:uid_ems => "436c15c9-86cf-4fd6-9290-d219d2a59221",
:vmm_product => "KubeVirt",
:vmm_vendor => "kubevirt",
:vmm_version => "0.1.0",
:ems_cluster => ems.ems_clusters.find_by(:ems_ref => "0")
)
end

def assert_specific_cluster
cluster = ems.ems_clusters.find_by(:ems_ref => "0")
expect(cluster).to have_attributes(
:ems_ref => "0",
:name => "Kubevirt Virtualization Manager",
:uid_ems => "0",
:type => "ManageIQ::Providers::Kubevirt::InfraManager::Cluster"
)
end

def assert_specific_storage
storage = ems.storages.find_by(:ems_ref => "0")
expect(storage).to have_attributes(
:name => "Kubevirt Virtualization Manager",
:total_space => 0,
:free_space => 0,
:ems_ref => "0",
:type => "ManageIQ::Providers::Kubevirt::InfraManager::Storage"
)
end
end
end
123 changes: 0 additions & 123 deletions spec/models/manageiq/providers/kubevirt/inventory/full_refresh_spec.rb

This file was deleted.

Loading

0 comments on commit 9fb60f2

Please sign in to comment.