linode 0.7.10 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,42 +6,44 @@ describe Linode::Nodebalancer::Config do
6
6
  @api_key = 'foo'
7
7
  @linode = Linode::Nodebalancer::Config.new(:api_key => @api_key)
8
8
  end
9
-
9
+
10
10
  it 'should be a Linode instance' do
11
11
  @linode.class.should < Linode
12
12
  end
13
-
13
+
14
14
  %w(create delete update list).each do |action|
15
15
  it "should allow accessing the #{action} API" do
16
16
  @linode.should respond_to(action.to_sym)
17
17
  end
18
-
18
+
19
19
  describe "when accessing the #{action} API" do
20
20
  it 'should allow a data hash' do
21
- lambda { @linode.send(action.to_sym, {}) }.should_not raise_error(ArgumentError)
21
+ @linode.stubs(:send_request)
22
+ lambda { @linode.send(action.to_sym, {}) }.should_not raise_error
22
23
  end
23
-
24
+
24
25
  it 'should not require arguments' do
25
- lambda { @linode.send(action.to_sym) }.should_not raise_error(ArgumentError)
26
+ @linode.stubs(:send_request)
27
+ lambda { @linode.send(action.to_sym) }.should_not raise_error
26
28
  end
27
-
29
+
28
30
  it "should request the nodebalancer.config.#{action} action" do
29
31
  @linode.expects(:send_request).with {|api_action, data| api_action == "nodebalancer.config.#{action}" }
30
32
  @linode.send(action.to_sym)
31
33
  end
32
-
34
+
33
35
  it 'should provide the data hash when making its request' do
34
36
  @linode.expects(:send_request).with {|api_action, data| data = { :foo => :bar } }
35
37
  @linode.send(action.to_sym, {:foo => :bar})
36
38
  end
37
-
39
+
38
40
  it 'should return the result of the request' do
39
- @linode.expects(:send_request).returns(:bar => :baz)
40
- @linode.send(action.to_sym).should == { :bar => :baz }
41
+ @linode.expects(:send_request).returns(:bar => :baz)
42
+ @linode.send(action.to_sym).should == { :bar => :baz }
41
43
  end
42
-
43
- it "should consider the documentation to live at http://www.linode.com/api/nodebalancer/nodebalancer.config.#{action}" do
44
- @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "http://www.linode.com/api/nodebalancer/nodebalancer.config.#{action}"
44
+
45
+ it "should consider the documentation to live at https://www.linode.com/api/nodebalancer/nodebalancer.config.#{action}" do
46
+ @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/nodebalancer/nodebalancer.config.#{action}"
45
47
  end
46
48
  end
47
49
  end
@@ -6,42 +6,44 @@ describe Linode::Nodebalancer::Node do
6
6
  @api_key = 'foo'
7
7
  @linode = Linode::Nodebalancer::Node.new(:api_key => @api_key)
8
8
  end
9
-
9
+
10
10
  it 'should be a Linode instance' do
11
11
  @linode.class.should < Linode
12
12
  end
13
-
13
+
14
14
  %w(create delete update list).each do |action|
15
15
  it "should allow accessing the #{action} API" do
16
16
  @linode.should respond_to(action.to_sym)
17
17
  end
18
-
18
+
19
19
  describe "when accessing the #{action} API" do
20
20
  it 'should allow a data hash' do
21
- lambda { @linode.send(action.to_sym, {}) }.should_not raise_error(ArgumentError)
21
+ @linode.stubs(:send_request)
22
+ lambda { @linode.send(action.to_sym, {}) }.should_not raise_error
22
23
  end
23
-
24
+
24
25
  it 'should not require arguments' do
25
- lambda { @linode.send(action.to_sym) }.should_not raise_error(ArgumentError)
26
+ @linode.stubs(:send_request)
27
+ lambda { @linode.send(action.to_sym) }.should_not raise_error
26
28
  end
27
-
29
+
28
30
  it "should request the nodebalancer.node.#{action} action" do
29
31
  @linode.expects(:send_request).with {|api_action, data| api_action == "nodebalancer.node.#{action}" }
30
32
  @linode.send(action.to_sym)
31
33
  end
32
-
34
+
33
35
  it 'should provide the data hash when making its request' do
34
36
  @linode.expects(:send_request).with {|api_action, data| data = { :foo => :bar } }
35
37
  @linode.send(action.to_sym, {:foo => :bar})
36
38
  end
37
-
39
+
38
40
  it 'should return the result of the request' do
39
- @linode.expects(:send_request).returns(:bar => :baz)
40
- @linode.send(action.to_sym).should == { :bar => :baz }
41
+ @linode.expects(:send_request).returns(:bar => :baz)
42
+ @linode.send(action.to_sym).should == { :bar => :baz }
41
43
  end
42
-
43
- it "should consider the documentation to live at http://www.linode.com/api/nodebalancer/nodebalancer.node.#{action}" do
44
- @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "http://www.linode.com/api/nodebalancer/nodebalancer.node.#{action}"
44
+
45
+ it "should consider the documentation to live at https://www.linode.com/api/nodebalancer/nodebalancer.node.#{action}" do
46
+ @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/nodebalancer/nodebalancer.node.#{action}"
45
47
  end
46
48
  end
47
49
  end
@@ -6,50 +6,52 @@ describe Linode::Nodebalancer do
6
6
  @api_key = 'foo'
7
7
  @linode = Linode::Nodebalancer.new(:api_key => @api_key)
8
8
  end
9
-
9
+
10
10
  it 'should be a Linode instance' do
11
11
  @linode.class.should < Linode
12
12
  end
13
-
13
+
14
14
  %w(update create list delete).each do |action|
15
15
  it "should allow accessing the #{action} API" do
16
16
  @linode.should respond_to(action.to_sym)
17
17
  end
18
-
18
+
19
19
  describe "when accessing the #{action} API" do
20
20
  it 'should allow a data hash' do
21
- lambda { @linode.send(action.to_sym, {}) }.should_not raise_error(ArgumentError)
21
+ @linode.stubs(:send_request)
22
+ lambda { @linode.send(action.to_sym, {}) }.should_not raise_error
22
23
  end
23
-
24
+
24
25
  it 'should not require arguments' do
25
- lambda { @linode.send(action.to_sym) }.should_not raise_error(ArgumentError)
26
+ @linode.stubs(:send_request)
27
+ lambda { @linode.send(action.to_sym) }.should_not raise_error
26
28
  end
27
-
29
+
28
30
  it "should request the nodebalancer.#{action} action" do
29
31
  @linode.expects(:send_request).with {|api_action, data| api_action == "nodebalancer.#{action}" }
30
32
  @linode.send(action.to_sym)
31
33
  end
32
-
34
+
33
35
  it 'should provide the data hash when making its request' do
34
36
  @linode.expects(:send_request).with {|api_action, data| data = { :foo => :bar } }
35
37
  @linode.send(action.to_sym, {:foo => :bar})
36
38
  end
37
-
39
+
38
40
  it 'should return the result of the request' do
39
- @linode.expects(:send_request).returns(:bar => :baz)
40
- @linode.send(action.to_sym).should == { :bar => :baz }
41
+ @linode.expects(:send_request).returns(:bar => :baz)
42
+ @linode.send(action.to_sym).should == { :bar => :baz }
41
43
  end
42
-
43
- it "should consider the documentation to live at http://www.linode.com/api/nodebalancer/nodebalancer.#{action}" do
44
- @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "http://www.linode.com/api/nodebalancer/nodebalancer.#{action}"
44
+
45
+ it "should consider the documentation to live at https://www.linode.com/api/nodebalancer/nodebalancer.#{action}" do
46
+ @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/nodebalancer/nodebalancer.#{action}"
45
47
  end
46
48
  end
47
49
  end
48
-
50
+
49
51
  it 'should be able to provide access to the Linode Nodebalancer Config API' do
50
52
  @linode.should respond_to(:config)
51
53
  end
52
-
54
+
53
55
  describe 'when providing access to the Linode Nodebalancer Config API' do
54
56
  before :each do
55
57
  @api_key = 'foo'
@@ -58,36 +60,36 @@ describe Linode::Nodebalancer do
58
60
  end
59
61
 
60
62
  it 'should allow no arguments' do
61
- lambda { @linode.config }.should_not raise_error(ArgumentError)
63
+ lambda { @linode.config }.should_not raise_error
62
64
  end
63
65
 
64
66
  it 'should require no arguments' do
65
67
  lambda { @linode.config(:foo) }.should raise_error(ArgumentError)
66
68
  end
67
-
69
+
68
70
  it 'should return a Linode::Nodebalancer::Config instance' do
69
71
  @linode.config.class.should == Linode::Nodebalancer::Config
70
72
  end
71
-
73
+
72
74
  it 'should set the API key on the Linode::Nodebalancer::Config instance to be our API key' do
73
75
  @linode.config.api_key.should == @api_key
74
76
  end
75
-
77
+
76
78
  it 'should set the API url on the Linode::Nodebalancer::Config instance to be our API url' do
77
79
  @linode.config.api_url.should == @api_url
78
80
  end
79
-
81
+
80
82
  it 'should return the same Linode::Nodebalancer::Config instance when called again' do
81
83
  linode = Linode::Nodebalancer.new(:api_key => @api_key)
82
84
  result = linode.config
83
85
  linode.config.should == result
84
86
  end
85
87
  end
86
-
88
+
87
89
  it 'should be able to provide access to the Linode Nodebalancer Node API' do
88
90
  @linode.should respond_to(:node)
89
91
  end
90
-
92
+
91
93
  describe 'when providing access to the Linode Nodebalancer Node API' do
92
94
  before :each do
93
95
  @api_key = 'foo'
@@ -96,25 +98,25 @@ describe Linode::Nodebalancer do
96
98
  end
97
99
 
98
100
  it 'should allow no arguments' do
99
- lambda { @linode.node }.should_not raise_error(ArgumentError)
101
+ lambda { @linode.node }.should_not raise_error
100
102
  end
101
-
103
+
102
104
  it 'should require no arguments' do
103
105
  lambda { @linode.node(:foo) }.should raise_error(ArgumentError)
104
106
  end
105
-
107
+
106
108
  it 'should return a Linode::Nodebalancer::Node instance' do
107
109
  @linode.node.class.should == Linode::Nodebalancer::Node
108
110
  end
109
-
111
+
110
112
  it 'should set the API key on the Linode::Nodebalancer::Node instance to be our API key' do
111
113
  @linode.node.api_key.should == @api_key
112
114
  end
113
-
115
+
114
116
  it 'should set the API url on the Linode::Nodebalancer::Node instance to be our API url' do
115
117
  @linode.node.api_url.should == @api_url
116
118
  end
117
-
119
+
118
120
  it 'should return the same Linode::Nodebalancer::Node instance when called again' do
119
121
  linode = Linode::Nodebalancer.new(:api_key => @api_key)
120
122
  result = linode.node
@@ -6,42 +6,44 @@ describe Linode::Stackscript do
6
6
  @api_key = 'foo'
7
7
  @linode = Linode::Stackscript.new(:api_key => @api_key)
8
8
  end
9
-
9
+
10
10
  it 'should be a Linode instance' do
11
11
  @linode.class.should < Linode
12
12
  end
13
-
13
+
14
14
  %w(update create list delete).each do |action|
15
15
  it "should allow accessing the #{action} API" do
16
16
  @linode.should respond_to(action.to_sym)
17
17
  end
18
-
18
+
19
19
  describe "when accessing the #{action} API" do
20
20
  it 'should allow a data hash' do
21
- lambda { @linode.send(action.to_sym, {}) }.should_not raise_error(ArgumentError)
21
+ @linode.stubs(:send_request)
22
+ lambda { @linode.send(action.to_sym, {}) }.should_not raise_error
22
23
  end
23
-
24
+
24
25
  it 'should not require arguments' do
25
- lambda { @linode.send(action.to_sym) }.should_not raise_error(ArgumentError)
26
+ @linode.stubs(:send_request)
27
+ lambda { @linode.send(action.to_sym) }.should_not raise_error
26
28
  end
27
-
29
+
28
30
  it "should request the stackscript.#{action} action" do
29
31
  @linode.expects(:send_request).with {|api_action, data| api_action == "stackscript.#{action}" }
30
32
  @linode.send(action.to_sym)
31
33
  end
32
-
34
+
33
35
  it 'should provide the data hash when making its request' do
34
36
  @linode.expects(:send_request).with {|api_action, data| data = { :foo => :bar } }
35
37
  @linode.send(action.to_sym, {:foo => :bar})
36
38
  end
37
-
39
+
38
40
  it 'should return the result of the request' do
39
- @linode.expects(:send_request).returns(:bar => :baz)
40
- @linode.send(action.to_sym).should == { :bar => :baz }
41
+ @linode.expects(:send_request).returns(:bar => :baz)
42
+ @linode.send(action.to_sym).should == { :bar => :baz }
41
43
  end
42
-
43
- it "should consider the documentation to live at http://www.linode.com/api/stackscript/stackscript.#{action}" do
44
- @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "http://www.linode.com/api/stackscript/stackscript.#{action}"
44
+
45
+ it "should consider the documentation to live at https://www.linode.com/api/stackscript/stackscript.#{action}" do
46
+ @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/stackscript/stackscript.#{action}"
45
47
  end
46
48
  end
47
49
  end
@@ -6,43 +6,45 @@ describe Linode::Test do
6
6
  @api_key = 'foo'
7
7
  @linode = Linode::Test.new(:api_key => @api_key)
8
8
  end
9
-
9
+
10
10
  it 'should be a Linode instance' do
11
11
  @linode.class.should < Linode
12
12
  end
13
-
13
+
14
14
  ["echo"].each do |action|
15
-
15
+
16
16
  it "should allow accessing the #{action} API" do
17
17
  @linode.should respond_to(action.to_sym)
18
18
  end
19
-
19
+
20
20
  describe "when accessing the #{action} API" do
21
21
  it 'should allow a data hash' do
22
- lambda { @linode.send(action.to_sym, {}) }.should_not raise_error(ArgumentError)
22
+ @linode.stubs(:send_request)
23
+ lambda { @linode.send(action.to_sym, {}) }.should_not raise_error
23
24
  end
24
-
25
+
25
26
  it 'should not require arguments' do
26
- lambda { @linode.send(action.to_sym) }.should_not raise_error(ArgumentError)
27
+ @linode.stubs(:send_request)
28
+ lambda { @linode.send(action.to_sym) }.should_not raise_error
27
29
  end
28
-
30
+
29
31
  it "should request the test.#{action} action" do
30
32
  @linode.expects(:send_request).with {|api_action, data| api_action == "test.#{action}" }
31
33
  @linode.send(action.to_sym)
32
34
  end
33
-
35
+
34
36
  it 'should provide the data hash when making its request' do
35
37
  @linode.expects(:send_request).with {|api_action, data| data = { :foo => :bar } }
36
38
  @linode.send(action.to_sym, {:foo => :bar})
37
39
  end
38
-
40
+
39
41
  it 'should return the result of the request' do
40
- @linode.expects(:send_request).returns(:bar => :baz)
41
- @linode.send(action.to_sym).should == { :bar => :baz }
42
+ @linode.expects(:send_request).returns(:bar => :baz)
43
+ @linode.send(action.to_sym).should == { :bar => :baz }
42
44
  end
43
-
44
- it "should consider the documentation to live at http://www.linode.com/api/linode/linode.#{action}" do
45
- @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "http://www.linode.com/api/utility/test.#{action}"
45
+
46
+ it "should consider the documentation to live at https://www.linode.com/api/linode/linode.#{action}" do
47
+ @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/utility/test.#{action}"
46
48
  end
47
49
  end
48
50
  end
@@ -17,7 +17,7 @@ describe Linode::User do
17
17
 
18
18
  describe 'when returning the API key for the connection' do
19
19
  it 'should work without arguments' do
20
- lambda { @linode.getapikey }.should_not raise_error(ArgumentError)
20
+ lambda { @linode.getapikey }.should_not raise_error
21
21
  end
22
22
 
23
23
  it 'should not allow arguments' do
@@ -29,8 +29,8 @@ describe Linode::User do
29
29
  @linode.getapikey.should == 'foo'
30
30
  end
31
31
 
32
- it "should consider the documentation to live at http://www.linode.com/api/utility/user.getapikey" do
33
- @linode.documentation_path(Linode.action_path(@linode.class.name, 'getapikey')).should == "http://www.linode.com/api/utility/user.getapikey"
32
+ it "should consider the documentation to live at https://www.linode.com/api/utility/user.getapikey" do
33
+ @linode.documentation_path(Linode.action_path(@linode.class.name, 'getapikey')).should == "https://www.linode.com/api/utility/user.getapikey"
34
34
  end
35
35
  end
36
36
  end
@@ -9,7 +9,7 @@ describe Linode do
9
9
 
10
10
  describe 'when creating a new Linode instance' do
11
11
  it 'should accept an arguments hash' do
12
- lambda { Linode.new(:api_key => 'foo') }.should_not raise_error(ArgumentError)
12
+ lambda { Linode.new(:api_key => 'foo') }.should_not raise_error
13
13
  end
14
14
 
15
15
  it 'should require an arguments hash' do
@@ -17,17 +17,22 @@ describe Linode do
17
17
  end
18
18
 
19
19
  it 'should not fail if an API key is given' do
20
- lambda { Linode.new({ :api_key => 'foo' }) }.should_not raise_error(ArgumentError)
20
+ lambda { Linode.new({ :api_key => 'foo' }) }.should_not raise_error
21
21
  end
22
22
 
23
23
  it 'should not fail if a username/password combo is given' do
24
- lambda { Linode.new({ :username => 'bar', :password => 'baz' }) }.should_not raise_error(ArgumentError)
24
+ lambda { Linode.new({ :username => 'bar', :password => 'baz' }) }.should_not raise_error
25
25
  end
26
26
 
27
27
  it 'should fail if no API key nor username/password combo is given' do
28
28
  lambda { Linode.new({}) }.should raise_error(ArgumentError)
29
29
  end
30
30
 
31
+ it 'should allow providing a logger' do
32
+ linode = Linode.new(:api_key => 'foo', :logger => 'bar')
33
+ linode.logger.should == 'bar'
34
+ end
35
+
31
36
  it 'should return a Linode instance' do
32
37
  Linode.new(:api_key => 'foo').class.should == Linode
33
38
  end
@@ -144,7 +149,7 @@ describe 'Linode' do
144
149
  end
145
150
 
146
151
  it 'should allow a request name and a data hash' do
147
- lambda { @linode.send_request('test.echo', {}) }.should_not raise_error(ArgumentError)
152
+ lambda { @linode.send_request('test.echo', {}) }.should_not raise_error
148
153
  end
149
154
 
150
155
  it 'should require a request name and a data hash' do
@@ -285,7 +290,7 @@ describe 'Linode' do
285
290
 
286
291
  describe 'when providing access to the Linode Test API' do
287
292
  it 'should allow no arguments' do
288
- lambda { @linode.test }.should_not raise_error(ArgumentError)
293
+ lambda { @linode.test }.should_not raise_error
289
294
  end
290
295
 
291
296
  it 'should require no arguments' do
@@ -317,7 +322,7 @@ describe 'Linode' do
317
322
 
318
323
  describe 'when providing access to the Linode Avail API' do
319
324
  it 'should allow no arguments' do
320
- lambda { @linode.avail }.should_not raise_error(ArgumentError)
325
+ lambda { @linode.avail }.should_not raise_error
321
326
  end
322
327
 
323
328
  it 'should require no arguments' do
@@ -349,7 +354,7 @@ describe 'Linode' do
349
354
 
350
355
  describe 'when providing access to the Linode User API' do
351
356
  it 'should allow no arguments' do
352
- lambda { @linode.user }.should_not raise_error(ArgumentError)
357
+ lambda { @linode.user }.should_not raise_error
353
358
  end
354
359
 
355
360
  it 'should require no arguments' do
@@ -381,7 +386,7 @@ describe 'Linode' do
381
386
 
382
387
  describe 'when providing access to the Linode Domain API' do
383
388
  it 'should allow no arguments' do
384
- lambda { @linode.domain }.should_not raise_error(ArgumentError)
389
+ lambda { @linode.domain }.should_not raise_error
385
390
  end
386
391
 
387
392
  it 'should require no arguments' do
@@ -413,7 +418,7 @@ describe 'Linode' do
413
418
 
414
419
  describe 'when providing access to the Linode Linode API' do
415
420
  it 'should allow no arguments' do
416
- lambda { @linode.linode }.should_not raise_error(ArgumentError)
421
+ lambda { @linode.linode }.should_not raise_error
417
422
  end
418
423
 
419
424
  it 'should require no arguments' do
@@ -439,13 +444,45 @@ describe 'Linode' do
439
444
  end
440
445
  end
441
446
 
447
+ it 'should be able to provide access to the Linode Account API' do
448
+ @linode.should respond_to(:account)
449
+ end
450
+
451
+ describe 'when providing access to the Linode Account API' do
452
+ it 'should allow no arguments' do
453
+ lambda { @linode.account }.should_not raise_error
454
+ end
455
+
456
+ it 'should require no arguments' do
457
+ lambda { @linode.account(:foo) }.should raise_error(ArgumentError)
458
+ end
459
+
460
+ it 'should return a Linode::Account instance' do
461
+ @linode.account.class.should == Linode::Account
462
+ end
463
+
464
+ it 'should set the API key on the Linode::Account instance to be our API key' do
465
+ @linode.account.api_key.should == @api_key
466
+ end
467
+
468
+ it 'should set the API url on the Linode::Account instance to be our API url' do
469
+ @linode.account.api_url.should == @api_url
470
+ end
471
+
472
+ it 'should return the same Linode::Account instance when called again' do
473
+ linode = Linode.new(:api_key => @api_key)
474
+ result = linode.account
475
+ linode.account.should == result
476
+ end
477
+ end
478
+
442
479
  it 'should be able to provide access to the Linode Nodebalancer API' do
443
480
  @linode.should respond_to(:nodebalancer)
444
481
  end
445
482
 
446
483
  describe 'when providing access to the Linode Nodebalancer API' do
447
484
  it 'should allow no arguments' do
448
- lambda { @linode.nodebalancer }.should_not raise_error(ArgumentError)
485
+ lambda { @linode.nodebalancer }.should_not raise_error
449
486
  end
450
487
 
451
488
  it 'should require no arguments' do
@@ -477,7 +514,7 @@ describe 'Linode' do
477
514
 
478
515
  describe 'when providing access to the Linode Stackscript API' do
479
516
  it 'should allow no arguments' do
480
- lambda { @linode.stackscript }.should_not raise_error(ArgumentError)
517
+ lambda { @linode.stackscript }.should_not raise_error
481
518
  end
482
519
 
483
520
  it 'should require no arguments' do
@@ -503,4 +540,3 @@ describe 'Linode' do
503
540
  end
504
541
  end
505
542
  end
506
-