shelly 0.0.57 → 0.0.58

Sign up to get free protection for your applications and to get access to all the features.
@@ -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