Sha256: 0e60f99374fd28c66a7d09cdadb7f53b30b5b962e0bf7fb455ee5b54cd9eac31

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

Shindo.tests('Fog::Compute[:vsphere] | rules collection', ['vsphere']) do
  compute = Fog::Compute[:vsphere]
  cluster = compute.datacenters.first.clusters.get('Solutionscluster')
  servers = compute.servers
  rules = cluster.rules

  tests('The rules collection') do
    test('should not be empty') { !rules.empty? }
    test('should be a kind of Fog::Vsphere::Compute::Rules') { rules.is_a? Fog::Vsphere::Compute::Rules }
    test('should get rules') { rules.get('anti-affinity-foo').key == 4242 }
    test('should destroy rules') { rules.first.destroy; rules.reload; rules.empty? }
    test('should create rules') do
      r = rules.new(name: 'affinity-foo',
                    enabled: true,
                    type: RbVmomi::VIM::ClusterAffinityRuleSpec)
      r.vms = [servers.get('5032c8a5-9c5e-ba7a-3804-832a03e16381'), servers.get('502916a3-b42e-17c7-43ce-b3206e9524dc')]
      r.save
      rules.reload
      rules.get('affinity-foo').key > 0
    end
    raises(ArgumentError, 'should not create rules with <2 vms') do
      rules.create(name: 'affinity-foo',
                   enabled: true,
                   type: RbVmomi::VIM::ClusterAffinityRuleSpec,
                   vm_ids: ['5032c8a5-9c5e-ba7a-3804-832a03e16381'])
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fog-vsphere-3.7.0 tests/models/compute/rules_tests.rb
fog-vsphere-3.6.8 tests/models/compute/rules_tests.rb
fog-vsphere-3.6.7 tests/models/compute/rules_tests.rb
fog-vsphere-3.6.6 tests/models/compute/rules_tests.rb
fog-vsphere-3.0.0 tests/models/compute/rules_tests.rb