shelly 0.0.57 → 0.0.58

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.
@@ -14,7 +14,8 @@ describe Shelly::CLI::User do
14
14
  @client.stub(:token).and_return("abc")
15
15
  FileUtils.mkdir_p("/projects/foo")
16
16
  Dir.chdir("/projects/foo")
17
- File.open("Cloudfile", 'w') {|f| f.write("foo-staging:\nfoo-production:\n") }
17
+ @app = Shelly::App.new("foo-staging")
18
+ File.open("Cloudfile", 'w') {|f| f.write("foo-staging:\n") }
18
19
  end
19
20
 
20
21
  describe "#help" do
@@ -31,29 +32,22 @@ describe Shelly::CLI::User do
31
32
  [{'email' => 'user@example.com', 'active' => true},
32
33
  {'email' => 'auser2@example2.com', 'active' => false}]
33
34
  }
34
- before do
35
- @cloudfile = Shelly::Cloudfile.new
36
- Shelly::Cloudfile.stub(:new).and_return(@cloudfile)
37
- end
38
35
 
39
36
  it "should ensure user has logged in" do
40
37
  hooks(@cli_user, :list).should include(:logged_in?)
41
38
  end
42
39
 
43
- it "should ensure that Cloudfile is present" do
44
- hooks(@cli_user, :list).should include(:cloudfile_present?)
40
+ # multiple_clouds is tested in main_spec.rb in describe "#start" block
41
+ it "should ensure multiple_clouds check" do
42
+ @client.stub(:collaborations).and_return(response)
43
+ @cli_user.should_receive(:multiple_clouds).and_return(@app)
44
+ invoke(@cli_user, :list)
45
45
  end
46
46
 
47
47
  context "on success" do
48
- it "should receive clouds from the Cloudfile" do
49
- @client.stub(:collaborations).and_return(response)
50
- @cloudfile.should_receive(:clouds).and_return(["foo-staging", "foo-production"])
51
- invoke(@cli_user, :list)
52
- end
53
-
54
48
  it "should display clouds and users" do
55
49
  @client.stub(:collaborations).and_return(response)
56
- $stdout.should_receive(:puts).with("Cloud foo-production:")
50
+ $stdout.should_receive(:puts).with("Cloud foo-staging:")
57
51
  $stdout.should_receive(:puts).with(" user@example.com")
58
52
  $stdout.should_receive(:puts).with(" auser2@example2.com (invited)")
59
53
  invoke(@cli_user, :list)
@@ -64,7 +58,7 @@ describe Shelly::CLI::User do
64
58
  it "should exit with 1 if user does not have access to cloud" do
65
59
  exception = Shelly::Client::NotFoundException.new("resource" => "cloud")
66
60
  @client.stub(:collaborations).and_raise(exception)
67
- $stdout.should_receive(:puts).with(red "You have no access to 'foo-production' cloud defined in Cloudfile")
61
+ $stdout.should_receive(:puts).with(red "You have no access to 'foo-staging' cloud defined in Cloudfile")
68
62
  lambda { invoke(@cli_user, :list) }.should raise_error(SystemExit)
69
63
  end
70
64
  end
@@ -81,16 +75,18 @@ describe Shelly::CLI::User do
81
75
  hooks(@cli_user, :add).should include(:logged_in?)
82
76
  end
83
77
 
84
- it "should ensure that Cloudfile is present" do
85
- hooks(@cli_user, :add).should include(:cloudfile_present?)
86
- end
87
78
 
88
79
  context "on success" do
89
80
  before do
90
- @client.should_receive(:send_invitation).with("foo-production", "megan@example.com")
91
81
  @client.should_receive(:send_invitation).with("foo-staging", "megan@example.com")
92
82
  end
93
83
 
84
+ # multiple_clouds is tested in main_spec.rb in describe "#start" block
85
+ it "should ensure multiple_clouds check" do
86
+ @cli_user.should_receive(:multiple_clouds).and_return(@app)
87
+ invoke(@cli_user, :add, "megan@example.com")
88
+ end
89
+
94
90
  it "should ask about email" do
95
91
  fake_stdin(["megan@example.com"]) do
96
92
  invoke(@cli_user, :add)
@@ -102,7 +98,7 @@ describe Shelly::CLI::User do
102
98
  end
103
99
 
104
100
  it "should receive clouds from the Cloudfile" do
105
- $stdout.should_receive(:puts).with("\e[32mSending invitation to megan@example.com to work on foo-production\e[0m")
101
+ $stdout.should_receive(:puts).with("\e[32mSending invitation to megan@example.com to work on foo-staging\e[0m")
106
102
  invoke(@cli_user, :add, "megan@example.com")
107
103
  end
108
104
  end
@@ -111,7 +107,7 @@ describe Shelly::CLI::User do
111
107
  it "should raise error if user doesnt have access to cloud" do
112
108
  exception = Shelly::Client::NotFoundException.new("resource" => "cloud")
113
109
  @client.stub(:send_invitation).and_raise(exception)
114
- $stdout.should_receive(:puts).with(red "You have no access to 'foo-production' cloud defined in Cloudfile")
110
+ $stdout.should_receive(:puts).with(red "You have no access to 'foo-staging' cloud defined in Cloudfile")
115
111
  lambda {
116
112
  invoke(@cli_user, :add, "megan@example.com")
117
113
  }.should raise_error(SystemExit)
@@ -130,13 +126,15 @@ describe Shelly::CLI::User do
130
126
  hooks(@cli_user, :delete).should include(:logged_in?)
131
127
  end
132
128
 
133
- it "should ensure that Cloudfile is present" do
134
- hooks(@cli_user, :delete).should include(:cloudfile_present?)
129
+ # multiple_clouds is tested in main_spec.rb in describe "#start" block
130
+ it "should ensure multiple_clouds check" do
131
+ @client.should_receive(:delete_collaboration).with("foo-staging", "megan@example.com")
132
+ @cli_user.should_receive(:multiple_clouds).and_return(@app)
133
+ invoke(@cli_user, :delete, "megan@example.com")
135
134
  end
136
135
 
137
136
  context "on success" do
138
137
  it "should ask about email" do
139
- @client.should_receive(:delete_collaboration).with("foo-production", "megan@example.com")
140
138
  @client.should_receive(:delete_collaboration).with("foo-staging", "megan@example.com")
141
139
  fake_stdin(["megan@example.com"]) do
142
140
  invoke(@cli_user, :delete)
@@ -144,14 +142,12 @@ describe Shelly::CLI::User do
144
142
  end
145
143
 
146
144
  it "should receive email from param" do
147
- @client.should_receive(:delete_collaboration).with("foo-production", "megan@example.com")
148
145
  @client.should_receive(:delete_collaboration).with("foo-staging", "megan@example.com")
149
146
  invoke(@cli_user, :delete, "megan@example.com")
150
147
  end
151
148
 
152
149
  it "should show that user was removed" do
153
150
  @client.stub(:delete_collaboration)
154
- $stdout.should_receive(:puts).with("User megan@example.com deleted from cloud foo-production")
155
151
  $stdout.should_receive(:puts).with("User megan@example.com deleted from cloud foo-staging")
156
152
  invoke(@cli_user, :delete, "megan@example.com")
157
153
  end
@@ -171,7 +167,7 @@ describe Shelly::CLI::User do
171
167
  it "should raise error if user doesnt have access to cloud" do
172
168
  exception = Shelly::Client::NotFoundException.new("resource" => "cloud")
173
169
  @client.stub(:delete_collaboration).and_raise(exception)
174
- $stdout.should_receive(:puts).with(red "You have no access to 'foo-production' cloud defined in Cloudfile")
170
+ $stdout.should_receive(:puts).with(red "You have no access to 'foo-staging' cloud defined in Cloudfile")
175
171
  lambda {
176
172
  invoke(@cli_user, :delete, "megan@example.com")
177
173
  }.should raise_error(SystemExit)
metadata CHANGED
@@ -1,190 +1,167 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: shelly
3
- version: !ruby/object:Gem::Version
4
- hash: 109
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.58
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 57
10
- version: 0.0.57
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: 2012-03-27 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-04-04 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &70136640534580 !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 47
27
- segments:
28
- - 2
29
- - 8
30
- - 0
20
+ - !ruby/object:Gem::Version
31
21
  version: 2.8.0
32
- requirement: *id001
33
- prerelease: false
34
22
  type: :development
35
- name: rspec
36
- - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
46
- requirement: *id002
47
23
  prerelease: false
48
- type: :development
24
+ version_requirements: *70136640534580
25
+ - !ruby/object:Gem::Dependency
49
26
  name: rake
50
- - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
27
+ requirement: &70136640534160 !ruby/object:Gem::Requirement
52
28
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
60
- requirement: *id003
61
- prerelease: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
62
33
  type: :development
34
+ prerelease: false
35
+ version_requirements: *70136640534160
36
+ - !ruby/object:Gem::Dependency
63
37
  name: guard
64
- - !ruby/object:Gem::Dependency
65
- version_requirements: &id004 !ruby/object:Gem::Requirement
38
+ requirement: &70136640533680 !ruby/object:Gem::Requirement
66
39
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
74
- requirement: *id004
75
- prerelease: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
76
44
  type: :development
45
+ prerelease: false
46
+ version_requirements: *70136640533680
47
+ - !ruby/object:Gem::Dependency
77
48
  name: guard-rspec
78
- - !ruby/object:Gem::Dependency
79
- version_requirements: &id005 !ruby/object:Gem::Requirement
49
+ requirement: &70136640533080 !ruby/object:Gem::Requirement
80
50
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
88
- requirement: *id005
89
- prerelease: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
90
55
  type: :development
56
+ prerelease: false
57
+ version_requirements: *70136640533080
58
+ - !ruby/object:Gem::Dependency
91
59
  name: simplecov
92
- - !ruby/object:Gem::Dependency
93
- version_requirements: &id006 !ruby/object:Gem::Requirement
60
+ requirement: &70136640532460 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70136640532460
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby_gntp
71
+ requirement: &70136640531740 !ruby/object:Gem::Requirement
94
72
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
102
- requirement: *id006
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
103
78
  prerelease: false
79
+ version_requirements: *70136640531740
80
+ - !ruby/object:Gem::Dependency
81
+ name: rb-fsevent
82
+ requirement: &70136640531120 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
104
88
  type: :development
89
+ prerelease: false
90
+ version_requirements: *70136640531120
91
+ - !ruby/object:Gem::Dependency
105
92
  name: fakefs
106
- - !ruby/object:Gem::Dependency
107
- version_requirements: &id007 !ruby/object:Gem::Requirement
93
+ requirement: &70136640530600 !ruby/object:Gem::Requirement
108
94
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
116
- requirement: *id007
117
- prerelease: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
118
99
  type: :development
100
+ prerelease: false
101
+ version_requirements: *70136640530600
102
+ - !ruby/object:Gem::Dependency
119
103
  name: fakeweb
120
- - !ruby/object:Gem::Dependency
121
- version_requirements: &id008 !ruby/object:Gem::Requirement
104
+ requirement: &70136640530160 !ruby/object:Gem::Requirement
122
105
  none: false
123
- requirements:
124
- - - ~>
125
- - !ruby/object:Gem::Version
126
- hash: 41
127
- segments:
128
- - 0
129
- - 14
130
- - 7
131
- version: 0.14.7
132
- requirement: *id008
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
133
111
  prerelease: false
134
- type: :runtime
112
+ version_requirements: *70136640530160
113
+ - !ruby/object:Gem::Dependency
135
114
  name: wijet-thor
136
- - !ruby/object:Gem::Dependency
137
- version_requirements: &id009 !ruby/object:Gem::Requirement
115
+ requirement: &70136640529620 !ruby/object:Gem::Requirement
138
116
  none: false
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- hash: 3
143
- segments:
144
- - 0
145
- version: "0"
146
- requirement: *id009
147
- prerelease: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 0.14.7
148
121
  type: :runtime
122
+ prerelease: false
123
+ version_requirements: *70136640529620
124
+ - !ruby/object:Gem::Dependency
149
125
  name: rest-client
150
- - !ruby/object:Gem::Dependency
151
- version_requirements: &id010 !ruby/object:Gem::Requirement
126
+ requirement: &70136640529180 !ruby/object:Gem::Requirement
152
127
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- hash: 3
157
- segments:
158
- - 0
159
- version: "0"
160
- requirement: *id010
161
- prerelease: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
162
132
  type: :runtime
133
+ prerelease: false
134
+ version_requirements: *70136640529180
135
+ - !ruby/object:Gem::Dependency
163
136
  name: json
164
- - !ruby/object:Gem::Dependency
165
- version_requirements: &id011 !ruby/object:Gem::Requirement
137
+ requirement: &70136640528720 !ruby/object:Gem::Requirement
166
138
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 3
171
- segments:
172
- - 0
173
- version: "0"
174
- requirement: *id011
175
- prerelease: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
176
143
  type: :runtime
144
+ prerelease: false
145
+ version_requirements: *70136640528720
146
+ - !ruby/object:Gem::Dependency
177
147
  name: progressbar
148
+ requirement: &70136640528300 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :runtime
155
+ prerelease: false
156
+ version_requirements: *70136640528300
178
157
  description: Tool for managing applications and clouds at shellycloud.com
179
- email:
158
+ email:
180
159
  - support@shellycloud.com
181
- executables:
160
+ executables:
182
161
  - shelly
183
162
  extensions: []
184
-
185
163
  extra_rdoc_files: []
186
-
187
- files:
164
+ files:
188
165
  - .gitignore
189
166
  - .travis.yml
190
167
  - Gemfile
@@ -236,36 +213,43 @@ files:
236
213
  - spec/thor/options_spec.rb
237
214
  homepage: http://shellycloud.com
238
215
  licenses: []
239
-
240
216
  post_install_message:
241
217
  rdoc_options: []
242
-
243
- require_paths:
218
+ require_paths:
244
219
  - lib
245
- required_ruby_version: !ruby/object:Gem::Requirement
220
+ required_ruby_version: !ruby/object:Gem::Requirement
246
221
  none: false
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- hash: 3
251
- segments:
252
- - 0
253
- version: "0"
254
- required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ! '>='
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
255
227
  none: false
256
- requirements:
257
- - - ">="
258
- - !ruby/object:Gem::Version
259
- hash: 3
260
- segments:
261
- - 0
262
- version: "0"
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
263
232
  requirements: []
264
-
265
233
  rubyforge_project: shelly
266
234
  rubygems_version: 1.8.10
267
235
  signing_key:
268
236
  specification_version: 3
269
237
  summary: Shelly Cloud command line tool
270
- test_files: []
271
-
238
+ test_files:
239
+ - spec/helpers.rb
240
+ - spec/input_faker.rb
241
+ - spec/shelly/app_spec.rb
242
+ - spec/shelly/backup_spec.rb
243
+ - spec/shelly/cli/backup_spec.rb
244
+ - spec/shelly/cli/config_spec.rb
245
+ - spec/shelly/cli/deploys_spec.rb
246
+ - spec/shelly/cli/main_spec.rb
247
+ - spec/shelly/cli/runner_spec.rb
248
+ - spec/shelly/cli/user_spec.rb
249
+ - spec/shelly/client_spec.rb
250
+ - spec/shelly/cloudfile_spec.rb
251
+ - spec/shelly/download_progress_bar_spec.rb
252
+ - spec/shelly/model_spec.rb
253
+ - spec/shelly/user_spec.rb
254
+ - spec/spec_helper.rb
255
+ - spec/thor/options_spec.rb