nephophobia 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/aws.rb CHANGED
@@ -1,17 +1,16 @@
1
1
  ##
2
2
  # Taken from geemus/fog
3
- #
4
- # TODO: document
5
3
 
6
4
  require "cgi"
7
5
  require "openssl"
8
6
  require "base64"
9
7
 
10
8
  class AWS
9
+ attr_writer :path
10
+
11
11
  def initialize options
12
12
  @host = options[:host]
13
13
  @port = options[:port]
14
- @path = options[:path]
15
14
  @access_key = options[:access_key]
16
15
  @secret_key = options[:secret_key]
17
16
  @project = options[:project]
@@ -10,7 +10,6 @@ module Nephophobia
10
10
 
11
11
  def initialize options
12
12
  @port = options[:port] || 8773
13
- @path = options[:path] || "/services/Cloud"
14
13
 
15
14
  @connection = Hugs::Client.new(
16
15
  :host => options[:host],
@@ -24,7 +23,6 @@ module Nephophobia
24
23
  @aws = AWS.new(
25
24
  :host => options[:host],
26
25
  :port => @port,
27
- :path => @path,
28
26
  :access_key => options[:access_key],
29
27
  :secret_key => options[:secret_key],
30
28
  :project => options[:project]
@@ -40,6 +38,7 @@ module Nephophobia
40
38
  # +params+: A Hash containing the
41
39
 
42
40
  def raw method, params
41
+ @aws.path = @path
43
42
  response = @connection.send method, @path, :query => @aws.signed_params(method, params)
44
43
  response.body = Hashify.convert response.body.root
45
44
 
@@ -60,6 +59,7 @@ module Nephophobia
60
59
  # Provide a simple interface to the EC2 Compute resources.
61
60
 
62
61
  def compute
62
+ @path = "/services/Cloud"
63
63
  @compute ||= Nephophobia::Compute.new self
64
64
  end
65
65
 
@@ -67,7 +67,24 @@ module Nephophobia
67
67
  # Provide a simple interface to the EC2 Image resources.
68
68
 
69
69
  def image
70
+ @path = "/services/Cloud"
70
71
  @image ||= Nephophobia::Image.new self
71
72
  end
73
+
74
+ ##
75
+ # Provide a simple interface to the OpenStack Project resources.
76
+
77
+ def project
78
+ @path = "/services/Admin/"
79
+ @project ||= Nephophobia::Project.new self
80
+ end
81
+
82
+ ##
83
+ # Provide a simple interface to the OpenStack User resources.
84
+
85
+ def user
86
+ @path = "/services/Admin/"
87
+ @user ||= Nephophobia::User.new self
88
+ end
72
89
  end
73
90
  end
@@ -1,3 +1,3 @@
1
1
  module Nephophobia
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/test/lib/aws_test.rb CHANGED
@@ -6,7 +6,6 @@ describe AWS do
6
6
  @aws = AWS.new(
7
7
  :host => "example.com",
8
8
  :port => 8773,
9
- :path => "/services/Cloud",
10
9
  :access_key => "9c01b833-3047-4f2e-bb2a-5c8dc7c8ae9c",
11
10
  :secret_key => "3ae9d9f0-2723-480a-99eb-776f05950506",
12
11
  :project => "production"
@@ -14,6 +13,7 @@ describe AWS do
14
13
  end
15
14
 
16
15
  it "returns signed query params" do
16
+ @aws.path = "/services/Cloud"
17
17
  result = @aws.signed_params "get", "Action" => "DescribeInstances"
18
18
 
19
19
  result.must_equal "AWSAccessKeyId=9c01b833-3047-4f2e-bb2a-5c8dc7c8ae9c%3Aproduction&Action=DescribeInstances&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=1999-12-31T19%3A59%3A59Z&Version=2010-11-15&Signature=x0wJmpbCeXpNcwVuTmB7E59zmlyTRkjDxjlO%2BCQi4z4%3D"
@@ -1,13 +1,7 @@
1
1
  require "test_helper"
2
2
 
3
3
  describe Nephophobia::Compute do
4
- before { @compute = Nephophobia::Compute.new USER_CLIENT }
5
-
6
- describe "#compute" do
7
- it "has compute decorator" do
8
- USER_CLIENT.must_respond_to :compute
9
- end
10
- end
4
+ before { @compute = USER_CLIENT.compute }
11
5
 
12
6
  describe "#all" do
13
7
  it "returns all instances" do
@@ -57,7 +51,7 @@ describe Nephophobia::Compute do
57
51
 
58
52
  VCR.use_cassette "compute_create_with_optional_params" do
59
53
  response = @compute.create @image_id, params
60
-
54
+
61
55
  response.name.must_equal "testserver1"
62
56
  response.description.must_equal "test description"
63
57
  end
@@ -1,15 +1,7 @@
1
1
  require "test_helper"
2
2
 
3
3
  describe Nephophobia::Image do
4
- before do
5
- @image = Nephophobia::Image.new USER_CLIENT
6
- end
7
-
8
- describe "#image" do
9
- it "has image decorator" do
10
- USER_CLIENT.must_respond_to :image
11
- end
12
- end
4
+ before { @image = USER_CLIENT.image }
13
5
 
14
6
  describe "#all" do
15
7
  it "returns all images" do
@@ -2,8 +2,8 @@ require "test_helper"
2
2
 
3
3
  describe Nephophobia::Project do
4
4
  before do
5
- @project = Nephophobia::Project.new ADMIN_CLIENT
6
- @user = Nephophobia::User.new ADMIN_CLIENT
5
+ @project = ADMIN_CLIENT.project
6
+ @user = ADMIN_CLIENT.user
7
7
  @user_name = "foobar_user"
8
8
  @project_name = "foobar_project"
9
9
  end
@@ -2,7 +2,7 @@ require "test_helper"
2
2
 
3
3
  describe Nephophobia::User do
4
4
  before do
5
- @user = Nephophobia::User.new ADMIN_CLIENT
5
+ @user = ADMIN_CLIENT.user
6
6
  @user_name = "foobar_user"
7
7
  @project_name = "foobar_project"
8
8
  end
data/test/test_helper.rb CHANGED
@@ -19,8 +19,7 @@ class MiniTest::Unit::TestCase
19
19
  :host => "10.1.170.32",
20
20
  :access_key => "1d7a687b-0065-44d6-9611-5bf6c6c72424",
21
21
  :secret_key => "fd3053fd-25c2-48f8-b893-9f22661ec63c",
22
- :project => "production",
23
- :path => "/services/Admin/"
22
+ :project => "production"
24
23
  )
25
24
 
26
25
  def cassette_for cassette
@@ -44,4 +43,5 @@ class Time
44
43
  end
45
44
  end
46
45
  end
46
+
47
47
  MiniTest::Unit.autorun
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: nephophobia
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - John Dewey
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-03-04 00:00:00 -08:00
14
+ date: 2011-03-06 00:00:00 -08:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency