Class: Torpedo::Metering::Meters

Inherits:
Test::Unit::TestCase
  • Object
show all
Defined in:
lib/torpedo/metering/meters.rb

Instance Method Summary collapse

Instance Method Details

#setupObject



10
11
12
13
# File 'lib/torpedo/metering/meters.rb', line 10

def setup
  @conn=Helper::get_connection
  @compute_conn=Torpedo::Compute::Helper::get_connection
end

#test_001_check_metersObject



37
38
39
40
41
42
43
44
45
46
# File 'lib/torpedo/metering/meters.rb', line 37

def test_001_check_meters
  @conn.list_meters.body.each do |meter|
    assert_not_nil meter['name']
    assert_not_nil meter['user_id']
    assert_not_nil meter['resource_id']
    assert_not_nil meter['project_id']
    assert_not_nil meter['type']
    assert_not_nil meter['unit']
  end
end

#test_002_check_compute_memory_samplesObject



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/torpedo/metering/meters.rb', line 48

def test_002_check_compute_memory_samples

  server = Torpedo::Compute::Servers.server
  server_flavor = server.flavor_ref || server.flavor['id']
  flavor = @compute_conn.flavors.get(server_flavor)

  wait_sample_ready('memory', server.id)

  @conn.get_samples('memory').body.each do |sample|
    if sample['resource_id'] == server.id then
      # convert to a float so they match
      assert_equal flavor.ram.to_f.to_s, sample['counter_volume'].to_s
    end
  end

end

#wait_sample_ready(sample_name, resource_id) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/torpedo/metering/meters.rb', line 15

def wait_sample_ready(sample_name, resource_id)
  begin

    timeout(METERING_SAMPLE_TIMEOUT) do

      sample_count = 0
      until sample_count > 0 do
        @conn.get_samples(sample_name).body.each do |sample|
          if sample['resource_id'] == resource_id then
            sample_count += 1
          end
        end
      end

    end

  rescue Timeout::Error => te
    fail('Timeout waiting for metering sample data.')
  end

end