shelly 0.0.10 → 0.0.11

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.
@@ -45,6 +45,13 @@ describe Shelly::Client do
45
45
  end
46
46
  end
47
47
 
48
+ describe "#update_ssh_key" do
49
+ it "should send put with give SSH key" do
50
+ @client.should_receive(:put).with("/ssh_key", {:ssh_key => "abc"})
51
+ @client.update_ssh_key("abc")
52
+ end
53
+ end
54
+
48
55
  describe "#request_parameters" do
49
56
  it "should return hash of resquest parameters" do
50
57
  expected = {
@@ -100,27 +107,6 @@ describe Shelly::Client do
100
107
  @client.get('/account')
101
108
  end
102
109
 
103
- context "on 302 response code" do
104
- it "should raise UnauthorizedException" do
105
- @response.stub(:code).and_return(302)
106
- lambda {
107
- @client.get("/account")
108
- }.should raise_error(Shelly::Client::UnauthorizedException)
109
- end
110
- end
111
-
112
- context "on 406 response code" do
113
- it "should raise UnauthorizedException" do
114
- exception = RestClient::RequestFailed.new
115
- exception.stub(:http_code).and_return(406)
116
- @response.should_receive(:return!).and_raise(exception)
117
-
118
- lambda {
119
- @client.get("/account")
120
- }.should raise_error(Shelly::Client::UnauthorizedException)
121
- end
122
- end
123
-
124
110
  %w(404 422 500).each do |code|
125
111
  context "on #{code} response code" do
126
112
  it "should raise APIError" do
@@ -133,18 +119,6 @@ describe Shelly::Client do
133
119
  end
134
120
  end
135
121
  end
136
-
137
- context "on unsupported response code" do
138
- it "should raise UnsupportedResponseException exception" do
139
- exception = RestClient::RequestFailed.new
140
- exception.stub(:http_code).and_return(409)
141
- @response.should_receive(:return!).and_raise(exception)
142
-
143
- lambda {
144
- @client.get("/account")
145
- }.should raise_error(Shelly::Client::UnsupportedResponseException)
146
- end
147
- end
148
122
  end
149
123
 
150
124
  describe "#headers" do
@@ -171,4 +145,11 @@ describe Shelly::Client do
171
145
  @client.post("/account", :name => "pink-one")
172
146
  end
173
147
  end
148
+
149
+ describe "#put" do
150
+ it "should make PUT resquest to given path with parameters" do
151
+ @client.should_receive(:request).with("/account", :put, :name => "new-one")
152
+ @client.put("/account", :name => "new-one")
153
+ end
154
+ end
174
155
  end
@@ -105,4 +105,39 @@ describe Shelly::User do
105
105
  @user.should_not be_ssh_key_exists
106
106
  end
107
107
  end
108
+
109
+ describe "#upload_ssh_key" do
110
+ it "should read and upload user's public SSH key" do
111
+ @client.should_receive(:update_ssh_key).with("ssh-key AAbbcc")
112
+ @user.upload_ssh_key
113
+ end
114
+ end
115
+
116
+ describe "#login" do
117
+ before do
118
+ @client.stub(:token)
119
+ end
120
+
121
+ it "should try to login with given credentials" do
122
+ @client.should_receive(:token)
123
+ @user.login
124
+ end
125
+
126
+ context "on successful authentication" do
127
+ it "should save user's credentials" do
128
+ @user.should_receive(:save_credentials)
129
+ @user.login
130
+ end
131
+ end
132
+
133
+ context "on unsuccessful authentication" do
134
+ it "should not save credentials" do
135
+ @client.stub(:token).and_raise(RestClient::Unauthorized.new)
136
+ @client.should_not_receive(:save_credentials)
137
+ lambda {
138
+ @user.login
139
+ }.should raise_error
140
+ end
141
+ end
142
+ end
108
143
  end
metadata CHANGED
@@ -1,187 +1,145 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: shelly
3
- version: !ruby/object:Gem::Version
4
- hash: 11
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 10
10
- version: 0.0.10
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.11
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Shelly Cloud team
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-10-06 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-10-11 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: rspec
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2153530860 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
33
22
  type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rake
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2153530860
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &2153530320 !ruby/object:Gem::Requirement
39
28
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
47
33
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: guard
51
34
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2153530320
36
+ - !ruby/object:Gem::Dependency
37
+ name: guard
38
+ requirement: &2153529900 !ruby/object:Gem::Requirement
53
39
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
61
44
  type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: guard-rspec
65
45
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2153529900
47
+ - !ruby/object:Gem::Dependency
48
+ name: guard-rspec
49
+ requirement: &2153529360 !ruby/object:Gem::Requirement
67
50
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
75
55
  type: :development
76
- version_requirements: *id004
77
- - !ruby/object:Gem::Dependency
78
- name: growl_notify
79
56
  prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *2153529360
58
+ - !ruby/object:Gem::Dependency
59
+ name: growl_notify
60
+ requirement: &2153528780 !ruby/object:Gem::Requirement
81
61
  none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 3
86
- segments:
87
- - 0
88
- version: "0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
89
66
  type: :development
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
92
- name: rb-fsevent
93
67
  prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *2153528780
69
+ - !ruby/object:Gem::Dependency
70
+ name: rb-fsevent
71
+ requirement: &2153528240 !ruby/object:Gem::Requirement
95
72
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 3
100
- segments:
101
- - 0
102
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
103
77
  type: :development
104
- version_requirements: *id006
105
- - !ruby/object:Gem::Dependency
106
- name: fakefs
107
78
  prerelease: false
108
- requirement: &id007 !ruby/object:Gem::Requirement
79
+ version_requirements: *2153528240
80
+ - !ruby/object:Gem::Dependency
81
+ name: fakefs
82
+ requirement: &2153527700 !ruby/object:Gem::Requirement
109
83
  none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- hash: 3
114
- segments:
115
- - 0
116
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
117
88
  type: :development
118
- version_requirements: *id007
119
- - !ruby/object:Gem::Dependency
120
- name: thor
121
89
  prerelease: false
122
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ version_requirements: *2153527700
91
+ - !ruby/object:Gem::Dependency
92
+ name: thor
93
+ requirement: &2153527140 !ruby/object:Gem::Requirement
123
94
  none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- hash: 3
128
- segments:
129
- - 0
130
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
131
99
  type: :runtime
132
- version_requirements: *id008
133
- - !ruby/object:Gem::Dependency
134
- name: rest-client
135
100
  prerelease: false
136
- requirement: &id009 !ruby/object:Gem::Requirement
101
+ version_requirements: *2153527140
102
+ - !ruby/object:Gem::Dependency
103
+ name: rest-client
104
+ requirement: &2153526720 !ruby/object:Gem::Requirement
137
105
  none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
145
110
  type: :runtime
146
- version_requirements: *id009
147
- - !ruby/object:Gem::Dependency
148
- name: json
149
111
  prerelease: false
150
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ version_requirements: *2153526720
113
+ - !ruby/object:Gem::Dependency
114
+ name: json
115
+ requirement: &2153526180 !ruby/object:Gem::Requirement
151
116
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- hash: 3
156
- segments:
157
- - 0
158
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
159
121
  type: :runtime
160
- version_requirements: *id010
161
- - !ruby/object:Gem::Dependency
162
- name: launchy
163
122
  prerelease: false
164
- requirement: &id011 !ruby/object:Gem::Requirement
123
+ version_requirements: *2153526180
124
+ - !ruby/object:Gem::Dependency
125
+ name: launchy
126
+ requirement: &2153525660 !ruby/object:Gem::Requirement
165
127
  none: false
166
- requirements:
167
- - - ">="
168
- - !ruby/object:Gem::Version
169
- hash: 3
170
- segments:
171
- - 0
172
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
173
132
  type: :runtime
174
- version_requirements: *id011
133
+ prerelease: false
134
+ version_requirements: *2153525660
175
135
  description: Tool for managing applications and clouds at shellycloud.com
176
- email:
136
+ email:
177
137
  - support@shellycloud.com
178
- executables:
138
+ executables:
179
139
  - shelly
180
140
  extensions: []
181
-
182
141
  extra_rdoc_files: []
183
-
184
- files:
142
+ files:
185
143
  - .gitignore
186
144
  - .travis.yml
187
145
  - Gemfile
@@ -193,8 +151,6 @@ files:
193
151
  - lib/shelly.rb
194
152
  - lib/shelly/app.rb
195
153
  - lib/shelly/base.rb
196
- - lib/shelly/cli/account.rb
197
- - lib/shelly/cli/apps.rb
198
154
  - lib/shelly/cli/main.rb
199
155
  - lib/shelly/client.rb
200
156
  - lib/shelly/helpers.rb
@@ -206,53 +162,39 @@ files:
206
162
  - spec/input_faker.rb
207
163
  - spec/shelly/app_spec.rb
208
164
  - spec/shelly/base_spec.rb
209
- - spec/shelly/cli/account_spec.rb
210
- - spec/shelly/cli/apps_spec.rb
211
165
  - spec/shelly/cli/main_spec.rb
212
166
  - spec/shelly/client_spec.rb
213
167
  - spec/shelly/user_spec.rb
214
168
  - spec/spec_helper.rb
215
- has_rdoc: true
216
169
  homepage: http://shellycloud.com
217
170
  licenses: []
218
-
219
171
  post_install_message:
220
172
  rdoc_options: []
221
-
222
- require_paths:
173
+ require_paths:
223
174
  - lib
224
- required_ruby_version: !ruby/object:Gem::Requirement
175
+ required_ruby_version: !ruby/object:Gem::Requirement
225
176
  none: false
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- hash: 3
230
- segments:
231
- - 0
232
- version: "0"
233
- required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
234
182
  none: false
235
- requirements:
236
- - - ">="
237
- - !ruby/object:Gem::Version
238
- hash: 3
239
- segments:
240
- - 0
241
- version: "0"
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
242
187
  requirements: []
243
-
244
188
  rubyforge_project: shelly
245
- rubygems_version: 1.3.7
189
+ rubygems_version: 1.8.10
246
190
  signing_key:
247
191
  specification_version: 3
248
192
  summary: Shelly Cloud command line tool
249
- test_files:
193
+ test_files:
250
194
  - spec/helpers.rb
251
195
  - spec/input_faker.rb
252
196
  - spec/shelly/app_spec.rb
253
197
  - spec/shelly/base_spec.rb
254
- - spec/shelly/cli/account_spec.rb
255
- - spec/shelly/cli/apps_spec.rb
256
198
  - spec/shelly/cli/main_spec.rb
257
199
  - spec/shelly/client_spec.rb
258
200
  - spec/shelly/user_spec.rb