openstack_spec.rb 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. require 'puppet'
  2. require 'spec_helper'
  3. require 'puppet/provider/nova_flavor/openstack'
  4. provider_class = Puppet::Type.type(:nova_flavor).provider(:openstack)
  5. describe provider_class do
  6. describe 'managing flavors' do
  7. let(:flavor_attrs) do
  8. {
  9. :name => 'example',
  10. :id => '1',
  11. :ram => '512',
  12. :disk => '1',
  13. :vcpus => '1',
  14. :ensure => 'present',
  15. }
  16. end
  17. let :resource do
  18. Puppet::Type::Nova_flavor.new(flavor_attrs)
  19. end
  20. let(:provider) do
  21. provider_class.new(resource)
  22. end
  23. describe '#create' do
  24. it 'creates flavor' do
  25. provider.class.stubs(:openstack)
  26. .with('flavor', 'list', ['--long', '--all'])
  27. .returns('"ID", "Name", "RAM", "Disk", "Ephemeral", "VCPUs", "Is Public", "Swap", "RXTX Factor", "Properties"')
  28. provider.class.stubs(:openstack)
  29. .with('flavor', 'create', 'shell', ['example', '--public', '--id', '1', '--ram', '512', '--disk', '1', '--vcpus', '1'])
  30. .returns('os-flv-disabled:disabled="False"
  31. os-flv-ext-data:ephemeral="0"
  32. disk="1"
  33. id="1"
  34. name="example"
  35. os-flavor-access:is_public="True"
  36. ram="512"
  37. rxtx_factor="1.0"
  38. swap=""
  39. vcpus="1"')
  40. end
  41. end
  42. describe '#destroy' do
  43. it 'removes flavor' do
  44. provider_class.expects(:openstack)
  45. .with('flavor', 'delete', '1')
  46. provider.instance_variable_set(:@property_hash, flavor_attrs)
  47. provider.destroy
  48. expect(provider.exists?).to be_falsey
  49. end
  50. end
  51. end
  52. end