Project

General

Profile

Download (941 Bytes) Statistics
| Branch: | Tag: | Revision:

runcible / test / support / consumer_support.rb @ master

1
require 'rubygems'
2
require './lib/runcible/resources/consumer'
3
require './lib/runcible/extensions/consumer'
4

    
5
class ConsumerSupport
6
  def initialize
7
    @consumer_resource = TestRuncible.server.resources.consumer
8
  end
9

    
10
  def self.consumer_id
11
    'integration_test_consumer_support'
12
  end
13

    
14
  def create_consumer(package_profile = false)
15
    destroy_consumer
16
    consumer = @consumer_resource.create(self.class.consumer_id)
17
    if package_profile
18
      @consumer_resource.upload_profile(self.class.consumer_id, 'rpm',
19
                                        [{'name' => 'elephant', 'version' => '0.2', 'release' => '0.7',
20
                                          'epoch' => 0, 'arch' => 'noarch', 'vendor' => 'Fedora'}])
21
    end
22
    return consumer
23
  rescue => e
24
    raise e
25
  end
26

    
27
  def destroy_consumer
28
    @consumer_resource.delete(self.class.consumer_id)
29
  rescue => e
30
    raise e unless e.class == RestClient::ResourceNotFound
31
  end
32
end