shanesveller-webbynode-api 0.0.4 → 0.0.5

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/lib/webbynode-api.rb CHANGED
@@ -18,9 +18,12 @@ class WebbyNode
18
18
 
19
19
  # Uses HTTParty to submit a secure API request via email address and token
20
20
  def auth_get(url, options = {})
21
+ raise ArgumentError, "No API information given" unless @email && @api_key
21
22
  options[:query] ||= {}
22
23
  options[:query].merge!(:email => @email, :token => @api_key)
23
- self.class.get(url, options)
24
+ results = self.class.get(url, options)
25
+ raise ArgumentError, "Probable bad API information given" if results == {}
26
+ return results
24
27
  end
25
28
 
26
29
  # Catches simple requests for specific API data returned via a hash
@@ -0,0 +1 @@
1
+ Authentication required
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <hash>
3
+ <webbies type="array">
4
+ <webby>
5
+ <status>on</status>
6
+ <ip>222.111.222.111</ip>
7
+ <node>location-a01</node>
8
+ <plan>Webby_384</plan>
9
+ <name>webby1</name>
10
+ <notes nil="true"></notes>
11
+ </webby>
12
+ </webbies>
13
+ </hash>
@@ -1,11 +1,29 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class WebbynodeApiTest < Test::Unit::TestCase
4
+ context "with bad API token or email" do
5
+ setup do
6
+ @email ="example@email.com"
7
+ @api_key = "123456"
8
+ data_path = File.join(File.dirname(__FILE__), "data")
9
+ FakeWeb.clean_registry
10
+ FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/client\?\w+/i, :body => File.read("#{data_path}/bad-auth.xml"))
11
+ end
12
+ should "raise ArgumentError if no API data given" do
13
+ assert_raise(ArgumentError){ WebbyNode::Client.new(nil, nil) }
14
+ assert_raise(ArgumentError){ WebbyNode::Client.new(@email, nil) }
15
+ assert_raise(ArgumentError){ WebbyNode::Client.new(nil, @api_key) }
16
+ end
17
+ should "raise ArgumentError if bad API data given" do
18
+ assert_raise(ArgumentError){ WebbyNode::Client.new(@email, @api_key) }
19
+ end
20
+ end
4
21
  context "fetching client data from API" do
5
22
  setup do
6
23
  email = "example@email.com"
7
24
  api_key = "123456"
8
25
  data_path = File.join(File.dirname(__FILE__), "data")
26
+ FakeWeb.clean_registry
9
27
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/client\?.+/i, :body => File.read("#{data_path}/client.xml"))
10
28
  @api = WebbyNode::Client.new(email, api_key)
11
29
  end
@@ -48,6 +66,7 @@ class WebbynodeApiTest < Test::Unit::TestCase
48
66
  api_key = "123456"
49
67
  hostname = "webby1"
50
68
  data_path = File.join(File.dirname(__FILE__), "data")
69
+ FakeWeb.clean_registry
51
70
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/webby\/\w+\/start\?.+/i, :body => File.read("#{data_path}/webby-start.xml"))
52
71
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/webby\/\w+\/shutdown\?.+/i, :body => File.read("#{data_path}/webby-shutdown.xml"))
53
72
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/webby\/\w+\/reboot\?.+/i, :body => File.read("#{data_path}/webby-reboot.xml"))
@@ -88,6 +107,7 @@ class WebbynodeApiTest < Test::Unit::TestCase
88
107
  email = "example@email.com"
89
108
  api_key = "123456"
90
109
  data_path = File.join(File.dirname(__FILE__), "data")
110
+ FakeWeb.clean_registry
91
111
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/dns\?.+/i, :body => File.read("#{data_path}/dns.xml"))
92
112
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/dns-1.xml"))
93
113
  @dns = WebbyNode::DNS.new(email, api_key)
@@ -113,6 +133,7 @@ class WebbynodeApiTest < Test::Unit::TestCase
113
133
  api_key = "123456"
114
134
  id = 1
115
135
  data_path = File.join(File.dirname(__FILE__), "data")
136
+ FakeWeb.clean_registry
116
137
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/dns\?.+/i, :body => File.read("#{data_path}/dns.xml"))
117
138
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/dns-1.xml"))
118
139
  FakeWeb.register_uri(:get, /https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\/records\?.+/i, :body => File.read("#{data_path}/dns-records.xml"))
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{webbynode-api}
5
- s.version = "0.0.4"
5
+ s.version = "0.0.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Shane Sveller"]
@@ -21,10 +21,12 @@ Gem::Specification.new do |s|
21
21
  "VERSION",
22
22
  "lib/webbynode-api.rb",
23
23
  "lib/webbynode-api/data.rb",
24
+ "test/data/bad-auth.xml",
24
25
  "test/data/client.xml",
25
26
  "test/data/dns-1.xml",
26
27
  "test/data/dns-records.xml",
27
28
  "test/data/dns.xml",
29
+ "test/data/webbies.xml",
28
30
  "test/data/webby-reboot.xml",
29
31
  "test/data/webby-shutdown.xml",
30
32
  "test/data/webby-start.xml",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shanesveller-webbynode-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Sveller
@@ -31,10 +31,12 @@ files:
31
31
  - VERSION
32
32
  - lib/webbynode-api.rb
33
33
  - lib/webbynode-api/data.rb
34
+ - test/data/bad-auth.xml
34
35
  - test/data/client.xml
35
36
  - test/data/dns-1.xml
36
37
  - test/data/dns-records.xml
37
38
  - test/data/dns.xml
39
+ - test/data/webbies.xml
38
40
  - test/data/webby-reboot.xml
39
41
  - test/data/webby-shutdown.xml
40
42
  - test/data/webby-start.xml