mozzn 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94fa3cb336e2a80bde0c291f85eb02592b6eaf9d
4
- data.tar.gz: 007817626426c1ec1cd9d4e3429163872bc79fa5
3
+ metadata.gz: bc728053eb2673b230d6cca92c0ef60015bfb8fd
4
+ data.tar.gz: 8d4bdfff003e054e23d6a40bc4efcc36a3e50b0c
5
5
  SHA512:
6
- metadata.gz: 4ab37a6abbcb179792e4865bef118d075d3fc4793c48e92341b996f03433ed3dca35f68947b42430109d1b1537fe1b2ed74bf906de030e72d84c084872d25c87
7
- data.tar.gz: 30bff826c0da4bfc83f40ab0bd7a8e13d3c8297f43a2c3b79260bd2adb54d9c969892293c215ccde856ad3295a9966b3765eff4fa2914c7e4f876041d49f3ea6
6
+ metadata.gz: 0a063774968c2bc3aab49346a5bf572f8c0c2933b9d44f55e7a1b4664ad6fc85ffec6e6212c4addebdf731baf06c0ee7580808d4f40839045a4dbfa4719dea9b
7
+ data.tar.gz: b2a614e7ba900028bffc37f35354e1002896153fa43d58020e86457d4a5c9a78a0a0aa017f080c7fb1f115b6fd73f7c499430949c47cee6be5d5ed11f23849d4
data/lib/mozzn/cli.rb CHANGED
@@ -4,6 +4,7 @@ require 'cocaine'
4
4
  require 'rubygems'
5
5
  require 'git'
6
6
  require 'mozzn/version'
7
+ require 'terminal-table'
7
8
 
8
9
  module Mozzn
9
10
  class Cli < Thor
@@ -134,16 +135,23 @@ module Mozzn
134
135
  params = {
135
136
  name: name
136
137
  }
137
- path = 'applications'
138
+ search_path = "applications/search"
138
139
  begin
139
- response = mozzn.get(path, params)
140
- say response['info'], :green
140
+ response = mozzn.get(search_path, params)
141
+ if response.has_key?('info')
142
+ raise Thor::Error, "#{response['info']}"
143
+ else
144
+ id = response['app_id']
145
+ resources_path = "applications/#{id}/remove"
146
+ response = mozzn.get(resources_path,nil)
147
+ say response['info'], :green
148
+ end
141
149
  rescue JSON::ParserError => e
142
150
  raise Thor::Error,"You do not have an application with the name #{params[:name]}. Please check the application name."
143
151
  end
144
- rescue Mozzn::Disconnected
152
+ rescue Mozzn::Disconnected
145
153
  say 'Unable to connect to Mozzn. Check your internet connection!', :red
146
- rescue Mozzn::UnexpectedOutput
154
+ rescue Mozzn::UnexpectedOutput
147
155
  say 'UnexpectedOutput', :red
148
156
  end
149
157
 
@@ -161,6 +169,164 @@ module Mozzn
161
169
  end
162
170
  end
163
171
 
172
+ desc 'registration', 'Create an account on mozzn.'
173
+ method_option :name, :aliases => "-n", :desc => "Username."
174
+ method_option :email, :aliases => "-u", :desc => "User email used to login."
175
+ method_option :password, :aliases => "-p", :desc => "User password."
176
+ method_option :password_confirmation, :aliases => "-c", :desc => "Password_confirmation."
177
+
178
+ def registration
179
+ mozzn = Mozzn::Api.new
180
+ if options.present?
181
+ name = options[:name]
182
+ email = options[:email]
183
+ password = options[:password]
184
+ password_confirmation = options[:password_confirmation]
185
+ else
186
+ h = HighLine.new
187
+ name = h.ask("Username: ")
188
+ email = h.ask("Email: ")
189
+ password = h.ask("Password: ")
190
+ password_confirmation = h.ask("password_confirmation: ")
191
+ end
192
+ params = {
193
+ user: {
194
+ name: name,
195
+ email: email,
196
+ password: password,
197
+ password_confirmation: password_confirmation
198
+ }
199
+ }
200
+ response = mozzn.post(:registrations, params)
201
+ errors = response['data']['errors']
202
+ if errors.present?
203
+ errors = JSON.parse(errors)
204
+ say "#{response['info']}, the following errors were found:\n * #{errors.map {|e| e.join(' ')}.join("\n * ")}\nPlease try again.", :red
205
+ # TODO: re-run registration
206
+ else
207
+ say response['info'], :green
208
+ end
209
+ end
210
+
211
+ desc 'resources appname', 'To list all instances which a specific application use.'
212
+
213
+ def resources appname = nil
214
+ mozzn = Mozzn::Api.new(Mozzn::Config.new.read['token'])
215
+ if !appname.present?
216
+ raise Thor::Error, "You must enter Application Name!"
217
+ end
218
+ params = {
219
+ name: appname
220
+ }
221
+ search_path = "applications/search"
222
+ begin
223
+ response = mozzn.get(search_path, params)
224
+ if response.has_key?('info')
225
+ raise Thor::Error, "#{response['info']}"
226
+ else
227
+ id = response['app_id']
228
+ resources_path = "applications/#{id}/resources"
229
+ response = mozzn.get(resources_path,nil)
230
+ if response.has_key?('info')
231
+ raise Thor::Error, "#{response['info']}"
232
+ else
233
+ table1 = Terminal::Table.new(headings: ['Process', 'Command']) do |t|
234
+ response['resources'].each do |resource|
235
+ key = (resource.has_key?('command') ? resource['name'] : nil)
236
+ value = (resource.has_key?('command') ? resource['command'] : nil)
237
+ if key.present?
238
+ t.add_row [key, value]
239
+ end
240
+ end
241
+ end
242
+ table2 = Terminal::Table.new(headings: ['Database', 'Role']) do |t|
243
+ response['resources'].each do |resource|
244
+ key = (resource.has_key?('role') ? resource['name'] : nil)
245
+ value = (resource.has_key?('role') ? resource['role'] : nil)
246
+ if key.present?
247
+ t.add_row [key, value]
248
+ end
249
+ end
250
+ end
251
+ end
252
+ instances_path = "applications/#{id}/instances"
253
+ response = mozzn.get(instances_path,nil)
254
+ # say response['instances'].first['data']['ip_address'].inspect, :green
255
+ if response.has_key?('info')
256
+ raise Thor::Error, "#{response['info']}"
257
+ else
258
+ table3 = Terminal::Table.new(headings: ['Name', 'IP']) do |t|
259
+ response['instances'].each do |instant|
260
+ key = instant['data']['name']
261
+ value = instant['data']['ip_address']
262
+ if key.present?
263
+ t.add_row [key, value]
264
+ end
265
+ end
266
+ end
267
+ end
268
+ say "Processes:"
269
+ say "#{table1}"
270
+ say "Databases:"
271
+ say "#{table2}"
272
+ say "Instances:"
273
+ say "#{table3}"
274
+ end
275
+
276
+ rescue JSON::ParserError => e
277
+ raise Thor::Error,"You do not have an application with the name #{params[:appname]}. Please check the application name."
278
+ end
279
+ rescue Mozzn::Disconnected
280
+ say 'Unable to connect to Mozzn. Check your internet connection!', :red
281
+ rescue Mozzn::UnexpectedOutput
282
+ say 'UnexpectedOutput', :red
283
+ end
284
+
285
+ desc 'console', 'To start a console on your first web server'
286
+ method_option :name, :aliases => "-c", :desc => "Command to be run in console."
287
+ def console
288
+ config_file_path = ".git/config"
289
+ if File.exists?(config_file_path)
290
+ File.open(config_file_path, "r") do |f|
291
+ @data = f.read
292
+ end
293
+ else
294
+ raise Thor::Error,"Unable to find a repository for this directory. You probably not in the application directory or this application does not have git repository yet."
295
+ end
296
+
297
+ url = @data.scan /url =.*/
298
+ app = url.first.split(":")[1]
299
+ appname = app.split('.').first
300
+ mozzn = Mozzn::Api.new(Mozzn::Config.new.read['token'])
301
+ params = {
302
+ name: appname
303
+ }
304
+ search_path = "applications/search"
305
+ begin
306
+ response = mozzn.get(search_path, params)
307
+ if response.has_key?('info')
308
+ raise Thor::Error, "#{response['info']}"
309
+ else
310
+ id = response['app_id']
311
+ instances_path = "applications/#{id}/instances"
312
+ response = mozzn.get(instances_path,nil)
313
+ ip_address = response['instances'].first['data']['ip_address']
314
+ if options[:command].present?
315
+ system( "ssh app@#{ip_address} #{options[:command]}" )
316
+ else
317
+ system( "ssh app@#{ip_address}")
318
+ end
319
+ status = $?.exitstatus
320
+ end
321
+ rescue JSON::ParserError => e
322
+ raise Thor::Error,"You do not have an application with the name #{params[:name]}. Please check the application name."
323
+ end
324
+ rescue Mozzn::Disconnected
325
+ say 'Unable to connect to Mozzn. Check your internet connection!', :red
326
+ rescue Mozzn::UnexpectedOutput
327
+ say 'UnexpectedOutput', :red
328
+ end
329
+
164
330
  desc 'help COMMAND', 'For more infromation about spicific COMMAND'
165
331
  def help command = nil
166
332
  puts 'Primary help topics, type "mozzn help COMMAND" for more details.'
data/lib/mozzn/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mozzn
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/mozzn.gemspec CHANGED
@@ -27,5 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency "faraday"
28
28
  spec.add_dependency "cocaine"
29
29
  spec.add_dependency "git"
30
+ spec.add_dependency "terminal-table"
30
31
 
31
32
  end
data/spec/cli_spec.rb CHANGED
@@ -1,14 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'mozzn'
3
3
 
4
- def unique_name
5
- uuid = SecureRandom.uuid
6
- "APP#{uuid}"
7
- end
8
4
 
9
- def long_string
10
- string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc hendrerit ultricies tortor eu posuere. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus suscipit lacinia tellus, id aliquam metus commodo quis. In eget mauris felis. Integer lobortis justo id mauris ullamcorper, et scelerisque elit lobortis. Integer non iaculis tortor, nec placerat est. Donec sed urna ac augue placerat pellentesque. Aliquam placerat, leo ac mollis pharetra, libero sem dictum augue, eu imperdiet quam elit eu mi. Vestibulum imperdiet elit ligula, nec congue diam lobortis quis. Quisque sit amet pellentesque erat, at vulputate neque. Donec viverra velit non dignissim aliquet. Integer porta, augue non porttitor tincidunt, enim erat dignissim velit, quis dictum metus arcu non mauris. Duis venenatis massa et sapien tristique, ac hendrerit odio venenatis. Integer eleifend arcu dapibus, volutpat mauris ut, lacinia ante. Quisque congue, nisi eu fringilla ullamcorper, felis tortor sodales sem, euismod ullamcorper enim ligula ac ligula. Quisque eget sapien pellentesque, fringilla est sed, auctor ligula. Donec scelerisque, velit at pellentesque auctor, urna massa aliquam massa, sit amet rutrum nulla ipsum at lorem. Aenean scelerisque ante arcu, et scelerisque tellus eleifend eu. Sed sodales purus eu sodales egestas. Phasellus rhoncus nibh lacus, non tempor enim malesuada in. Nunc cursus nunc ante, ac bibendum erat pulvinar quis. Pellentesque porta gravida nulla. Etiam lobortis laoreet cursus. Sed nisi neque, pretium a consectetur ut, euismod eget est. Aenean blandit erat ante, tristique ullamcorper purus fermentum in. Fusce rhoncus dapibus mi, a auctor dolor dictum sodales. Donec elementum varius nisl a mollis. Phasellus eu metus ipsum. Nulla vel est sagittis, hendrerit mi eu, sollicitudin purus. Curabitur non ipsum pulvinar, cursus tortor a, ultrices eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquet molestie turpis vitae pretium. Cras dictum luctus enim, sed gravida leo dictum vel. Vestibulum a tortor erat. Nullam sit amet nulla vel odio porta luctus hendrerit dapibus ante. Mauris venenatis turpis non viverra sagittis. Aenean ligula lacus, eleifend nec tincidunt et, venenatis sed metus. Donec tempor sollicitudin congue. Vivamus nec enim vitae elit dapibus rhoncus. Praesent commodo tempor tortor, vitae congue justo gravida ut. Integer eget scelerisque purus. Aliquam vulputate porttitor neque, quis tempus urna consectetur quis. Sed sagittis vel nibh sit amet tempus. Maecenas vel velit arcu. Quisque in erat condimentum, commodo ante consequat, placerat lacus. Duis et enim in est dictum sagittis vel eu purus. Fusce vestibulum lorem adipiscing augue accumsan, id mollis est tempor. Vivamus ultrices quam non augue gravida, quis venenatis orci tincidunt. In euismod cursus scelerisque. Curabitur dignissim dapibus nibh. Maecenas sodales non eros at lacinia. Nulla blandit at sapien vel sodales. Vivamus a tempor est. Aliquam erat volutpat. Curabitur semper, purus a cursus porta, sem augue pharetra risus, eu volutpat orci massa id tortor. Maecenas varius commodo dui vel viverra. Fusce ac posuere diam. Nulla non porta sapien. Nullam magna urna, faucibus quis mauris in, convallis mollis urna. Proin id elementum felis. Suspendisse potenti. Quisque vel blandit sapien. Proin eu velit mi. Nam vestibulum pharetra nisl sit amet molestie. Praesent ut lorem est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis at sollicitudin justo. Vivamus varius, arcu quis dictum facilisis, mi lectus consequat velit, a ullamcorper mi est quis tellus. Nam tortor turpis, vestibulum eu lacus a, tristique mattis dui. Mauris sodales felis non justo vestibulum ornare. Quisque vel metus ac ipsum viverra aliquet eu placerat lacus. Aenean porttitor, arcu a hendrerit aliquet, mauris turpis pretium purus, eget commodo augue mauris eget nulla. Nunc blandit lobortis metus, ut ultricies dolor egestas a. Nullam ultricies sit amet lorem nec congue. Sed condimentum lectus adipiscing tortor mattis ullamcorper. Sed ut neque porttitor sem convallis scelerisque fermentum non quam. Nam ut rutrum tellus. Curabitur fermentum facilisis erat, id tincidunt felis blandit vel. Proin eu libero eu leo scelerisque feugiat. Donec a posuere eros. Morbi nibh leo, tristique egestas est non, tincidunt euismod est. Phasellus ut ornare erat, et placerat elit. Cras pellentesque malesuada dignissim. Pellentesque bibendum lacus neque, nec commodo mi vestibulum quis. Proin vel ultrices odio. Praesent ultrices, magna in cursus luctus, nulla nibh pellentesque elit, vitae sollicitudin turpis quam quis sapien. Nullam vitae turpis a arcu laoreet interdum. Fusce a imperdiet nulla. Donec sed nisl adipiscing, convallis diam molestie, condimentum nisi. Nunc blandit mollis tellus, sit amet fringilla urna tempor id. Sed aliquam vulputate est quis fermentum. Cras eget varius nisl. Curabitur erat tellus, tincidunt ut nisl a, iaculis aliquam urna. Proin blandit lacus neque, at viverra ipsum malesuada ut. Vestibulum vel dui vestibulum, sollicitudin enim fermentum, gravida quam. Ut felis massa, elementum eget nibh ac, ornare adipiscing quam. Nunc molestie nec dui eu mollis. Nam tincidunt dapibus lobortis. Ut posuere elit augue, et feugiat elit volutpat vitae. Cras eleifend sodales enim, in vehicula velit sodales non. Aenean a quam et libero ornare vehicula ut vitae diam. Aenean vel sem et nunc pharetra laoreet eget a neque. Fusce nibh magna, dapibus tempus nibh et, viverra imperdiet elit. Phasellus bibendum scelerisque erat, in aliquam ipsum scelerisque id. Praesent condimentum, tortor ut sagittis suscipit, eros dolor pellentesque massa, eget egestas magna turpis aliquam risus. Morbi gravida tortor eget arcu dapibus pretium. Aliquam accumsan sollicitudin vulputate. Donec dictum blandit dui nec dictum. Fusce eget rhoncus mi. Aliquam ornare rhoncus cursus. Nam quis massa massa. Phasellus nec dui sapien. Cras tempus lorem justo, quis rhoncus urna pellentesque sed. Pellentesque nisi diam, congue ut libero at, tempus ornare enim. Vestibulum nec odio ac urna facilisis porta. Quisque sed pulvinar justo. Proin pulvinar libero nec tincidunt ullamcorper. Morbi quis magna quis elit laoreet adipiscing nec quis neque. Suspendisse potenti. Suspendisse potenti. Curabitur nunc turpis, porta consequat consectetur sit amet, varius vitae erat. Morbi ac ante ultrices, aliquet felis sagittis, interdum nibh. In nulla nisi, interdum id congue sed, facilisis eu quam. Vestibulum pretium ullamcorper convallis. Pellentesque lobortis neque eu est bibendum rhoncus. Cras bibendum imperdiet nibh non dignissim. Donec porta in libero a feugiat. Duis suscipit semper interdum. Nulla quis pulvinar magna. Fusce lectus dolor, hendrerit volutpat tempus vel, malesuada non enim. Praesent consequat egestas condimentum. Vestibulum aliquam a felis non congue. Duis fringilla ultrices sapien lobortis lobortis. Etiam dui quam, interdum ut mattis et, pellentesque non dui. Praesent blandit, tortor a convallis suscipit, massa lacus lacinia lacus, a elementum augue ante eu justo. Curabitur eget nisi quis neque lacinia sollicitudin. Donec quis tincidunt augue. Sed tincidunt id elit nec fermentum. In tempor libero sit amet felis bibendum blandit. Nullam rhoncus dolor id dapibus vulputate. Etiam et suscipit arcu. Suspendisse suscipit lectus in mauris laoreet, dapibus aliquam ligula faucibus. In elit risus, venenatis a dignissim vel, congue quis sem. Proin tincidunt orci quis est facilisis, id ultricies ipsum facilisis. Sed hendrerit auctor eleifend. Cras fermentum sollicitudin enim ac molestie. Morbi ut mattis sem. Integer varius porttitor turpis. Sed lobortis rutrum velit ut feugiat. Vestibulum luctus a neque quis laoreet. Sed at purus dui. Pellentesque ac enim imperdiet diam tempus fermentum in congue diam. Nulla facilisi. Cras interdum ipsum at metus fringilla faucibus. Maecenas commodo luctus tempor. Duis at ligula lorem. Proin adipiscing urna sed dui euismod convallis. Sed eget leo ullamcorper, vulputate justo iaculis, elementum dolor. Sed vel scelerisque neque. Phasellus a laoreet mauris, nec interdum felis. Sed rhoncus massa quis velit mattis ornare. Vestibulum congue ante sed est interdum ornare. Sed accumsan nisl in enim aliquam cursus sit amet a urna. Phasellus vitae elementum nisl. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque non orci dictum, egestas neque a, vestibulum neque. Aliquam et lorem vitae enim condimentum luctus at sed arcu. Aenean sit amet tortor posuere, consectetur eros at, accumsan risus. Donec iaculis ultrices nisl, et fermentum leo mollis in. Cras massa neque, cursus eu dignissim sed, vulputate hendrerit lectus. Quisque venenatis libero in justo varius eleifend. Cras malesuada iaculis nisl, a dignissim arcu elementum id. Ut bibendum, tellus vitae laoreet semper, risus augue accumsan massa, at suscipit massa justo sed nisl. Praesent gravida, orci sed lobortis pellentesque, purus neque vehicula turpis, sed molestie leo ante sit amet nibh. Aliquam vehicula odio metus, non cursus erat pretium fringilla. Suspendisse ut mattis ipsum, id luctus libero. Donec sit amet dolor a erat laoreet laoreet. Ut pharetra neque non lorem molestie, in elementum nisi lobortis. Curabitur a augue lorem. Integer at arcu orci. Mauris eget libero id odio gravida vehicula ac at magna. Vestibulum ac metus venenatis, aliquet erat vel, pharetra eros. Pellentesque quis diam tellus. Maecenas non viverra sem. Aenean quis varius nisi, vitae ultricies risus. Fusce congue nisl nisi, id lacinia augue molestie id. Cras mattis, libero ut egestas accumsan, velit ipsum dictum risus, eget eleifend dolor massa pharetra nunc. Morbi euismod enim vitae metus mattis semper. Sed ante magna, convallis sollicitudin magna vel, molestie scelerisque dui. Nam in quam quis magna interdum semper. In pellentesque, arcu sit amet aliquet congue, nisi est rhoncus elit, at pharetra enim lacus gravida urna. Praesent feugiat nisl vel accumsan aliquam. Etiam velit nisl, adipiscing non metus et, viverra fringilla mauris. Morbi ornare velit in odio volutpat venenatis. Aliquam erat volutpat. Nam sodales dictum velit consequat venenatis. Aliquam in convallis velit. Donec vitae enim tortor. Phasellus posuere dolor diam, euismod tincidunt purus elementum sed. Mauris at justo eu justo euismod dictum vel in libero. Proin ac magna eu odio ultrices ornare ac quis felis. Vivamus laoreet magna at ultrices imperdiet. Ut malesuada sodales odio sit amet mollis. Maecenas id facilisis ligula. Cras vehicula consectetur augue, eu vulputate nisi facilisis a. Aenean quis dolor sed lacus tincidunt varius sed id velit. Quisque sodales nisi at metus sagittis, id tempor orci pretium. Vivamus dapibus porttitor orci. Nulla volutpat imperdiet purus eu imperdiet. Ut laoreet dui eget purus tempor, eu blandit neque mattis. Ut eget justo gravida, mattis sapien vel, mattis magna. Aliquam fringilla iaculis erat sed eleifend. Etiam consectetur scelerisque est et euismod. Vestibulum suscipit id elit at blandit. Duis lobortis eleifend diam, ac aliquet ligula porttitor in. Fusce vitae justo metus. Etiam in condimentum est. Nullam porttitor fermentum rhoncus. Donec quis magna at enim semper facilisis. Fusce mollis a ante eu mattis. Nullam gravida lorem ut vestibulum feugiat. Duis interdum tincidunt massa quis condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque purus quam, molestie vitae tempus dignissim, consectetur ut tortor. Integer non consectetur dolor. Aliquam quam purus, suscipit in libero eu, pellentesque pretium quam. In consequat et arcu sed auctor. Nulla ac mi turpis. Vestibulum imperdiet lectus turpis, at commodo tortor rutrum ut. Proin nec lorem lobortis, elementum purus ut, laoreet magna. Sed condimentum sem eget malesuada semper. In sem dui, bibendum eu nisi ac, semper commodo urna. Cras molestie nisi vel massa sodales, at aliquam leo ultricies. Curabitur sagittis quis tellus a tristique. Aenean blandit malesuada ornare. Ut ultricies tortor consectetur accumsan lobortis. Curabitur interdum enim feugiat, viverra velit vehicula, fermentum nisl. Nunc lobortis vel dui id bibendum. Suspendisse ornare diam neque, in iaculis sapien tempus at. Aenean varius laoreet interdum. Integer semper nulla lacus, eget rutrum felis hendrerit vestibulum. Nam sed vehicula diam, at porta ipsum. Pellentesque pretium orci id orci congue, nec pellentesque nulla dictum. Quisque hendrerit cursus mi. Nam non eros feugiat, vulputate nisi id, cursus tellus. Aenean facilisis est enim, et ultricies quam congue quis. Sed consectetur varius sem, sit amet pulvinar orci semper eget. Ut feugiat tincidunt sem, non dictum felis volutpat eget. Morbi imperdiet tortor a justo fringilla rutrum. Sed quis turpis ac lorem scelerisque dignissim. Ut pulvinar iaculis rutrum. Nullam sed dignissim risus, suscipit vehicula lectus. Aliquam dui enim, tincidunt ut mi in, varius imperdiet libero. Proin blandit at nibh eu pharetra. Integer ultrices nec augue sit amet fringilla. Sed sollicitudin erat eu luctus luctus. Nullam semper aliquet rutrum. Aliquam nec pretium diam. Aliquam venenatis consectetur dignissim. Sed egestas, velit et commodo dictum, neque urna aliquet tortor, nec dignissim orci sem quis felis. Aenean pharetra quis risus quis elementum. Proin ac blandit eros, at ultrices enim. Donec at turpis est. Mauris eget leo mi. Quisque aliquam ornare lacinia. Sed sed risus non urna mollis posuere quis a odio. Donec eleifend, mi ac dictum accumsan, elit neque molestie urna, et malesuada tellus arcu vel risus. Praesent placerat vel mauris sagittis venenatis. Integer massa elit, tempor fermentum sem vel, porta commodo mauris. Quisque tincidunt nulla ut nulla ornare molestie. In quis nunc pellentesque, mollis eros a, auctor ante. Aenean eros nibh, luctus ut dui et, vehicula pharetra leo. Donec velit purus, volutpat a aliquam ut, convallis quis nisi. Nunc a tellus augue. Vestibulum ante sem, tempor eu consequat eu, ultrices at sem. Aenean nec tellus mi. Donec at ante vitae odio lobortis lobortis sit amet nec dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc tellus erat, euismod vel fringilla ac, tempor a ipsum. Nulla enim purus, feugiat sed urna in, consectetur condimentum urna. Maecenas faucibus tincidunt ligula, at tincidunt sem sollicitudin a. In pharetra ante sed quam accumsan consequat. Suspendisse egestas nunc vel facilisis faucibus. Vestibulum varius semper velit vel convallis. Donec dapibus auctor ipsum vitae hendrerit. Aliquam sed placerat ligula. Nunc eu mauris tellus. Vivamus augue massa, fermentum eget ultricies ac, lacinia nec nisl. Aenean justo eros, elementum egestas tellus non, placerat tincidunt quam. Nulla facilisi. Quisque quam ante, commodo in tempus quis, fermentum nec arcu. Nunc sed lacus felis. Praesent diam lorem, consequat sed libero quis, tempor vehicula mauris. Donec imperdiet congue lacus at consectetur. Ut massa tellus, euismod quis laoreet nec, fringilla vel augue. Vestibulum sodales ligula sit amet rhoncus hendrerit. Cras tempor ante ac arcu faucibus, aliquet venenatis magna interdum. Suspendisse et felis ac mi sagittis pellentesque ut sed risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi bibendum diam non erat dictum pellentesque. Suspendisse imperdiet gravida vestibulum. Fusce eros elit, vulputate et eleifend in, condimentum et purus. Pellentesque fermentum sapien nec ultrices rhoncus. Sed quis pulvinar nisl, nec porta ligula. Mauris sed consectetur lorem, nec eleifend urna. Etiam mollis, quam in tempor vestibulum, libero odio mollis est, vehicula lobortis lectus ligula ac urna. Curabitur placerat lacinia nunc, vitae aliquam sem commodo ac. Sed congue magna a odio dapibus, eget tristique eros mattis. Praesent tempus quis tellus eleifend facilisis. Maecenas id imperdiet nunc, et tempor odio. Cras nec dignissim augue, aliquam vehicula quam. Aenean at laoreet libero, vitae dignissim massa. Duis sed lectus ut odio viverra aliquet et nec elit. Sed viverra enim vulputate adipiscing ornare. In sit amet interdum metus, id commodo erat. Nunc ac mi ut metus ornare aliquam non quis sem. Integer vitae pulvinar enim. Fusce sed purus vehicula, scelerisque dolor in, mattis quam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed blandit arcu sit amet nisl varius condimentum id eu neque. Praesent convallis lacinia fringilla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec vitae enim tortor. Suspendisse dolor arcu, mollis sit amet cursus quis, consequat ut lectus. Duis ullamcorper ante quam, a viverra magna convallis et. Cras in luctus lectus, at porta felis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Etiam viverra dui sit amet justo fermentum, ac mollis velit convallis. Sed et risus dui. Aenean vel felis sodales, luctus ipsum id, aliquam dui. Curabitur a ante suscipit, auctor elit ut, tempus lacus. Sed ullamcorper vulputate purus, at commodo arcu feugiat a. Ut placerat hendrerit orci, in dignissim ipsum pharetra vel. Nam fermentum leo vitae massa facilisis tincidunt. Proin varius nibh risus, ut varius metus convallis in. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ultricies id mi vitae volutpat. Donec tempus elit orci, ac commodo nibh porta id. Suspendisse nec magna varius leo eleifend tempor. Integer iaculis odio in mi posuere aliquam. Nunc velit enim, sollicitudin vel libero sed, commodo pulvinar purus. Morbi condimentum at sem non volutpat. Praesent eget dolor non sem luctus volutpat. Maecenas a convallis quam. Donec consequat at velit ut imperdiet. Morbi vulputate felis et orci mattis, sit amet congue tellus egestas. Nulla nec orci mi. Vestibulum aliquam dolor augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras congue purus diam, non interdum nibh hendrerit et. In dignissim in mauris in viverra. Etiam sollicitudin mi sed scelerisque facilisis. Sed consequat adipiscing commodo. Fusce eu tortor ac dolor gravida convallis. Curabitur feugiat commodo nulla. Donec odio eros, varius adipiscing mi id, viverra laoreet arcu. Sed mauris turpis, aliquam eget volutpat ut, elementum nec leo. Nam erat erat, convallis sed diam eget, rutrum dignissim ligula. Aliquam rhoncus vulputate dolor et mollis. Duis nisi felis, sodales in odio in, scelerisque pellentesque magna. Nunc sagittis consequat gravida. Aliquam aliquet elit lacinia dolor euismod, id imperdiet massa rhoncus. Sed vitae vestibulum felis. Pellentesque ornare consectetur enim. Vestibulum dignissim nec velit sed pellentesque. Proin placerat nulla nibh, eu euismod magna fermentum sed. Cras ultricies mauris eget ullamcorper tincidunt. Maecenas vestibulum sem sed magna rutrum, at mattis urna iaculis. Phasellus quis molestie nisi. Nulla facilisi. Mauris risus nisi, vehicula vitae magna eget, vulputate placerat massa. Fusce suscipit sed dui eget volutpat. Donec ac accumsan turpis. Suspendisse potenti. Vestibulum cursus sapien et mi sollicitudin adipiscing. Donec convallis placerat elit, ut laoreet augue volutpat at. Vivamus non turpis nunc. In eleifend nibh consectetur nisl molestie, ac tincidunt dolor vulputate. Donec urna tortor, condimentum nec ipsum et, imperdiet vulputate mauris. Nunc ut nisi non turpis pharetra viverra. Aenean enim dolor, pellentesque sit amet sapien sit amet, placerat posuere tortor. Nunc faucibus, lorem non euismod malesuada, orci velit ultrices diam, vitae facilisis lorem nisi nec diam. Vivamus nulla felis, dignissim aliquet eros eget, vulputate condimentum leo. Sed quis congue tellus. Nam sed odio sit amet est lacinia suscipit. Sed ultrices porttitor felis vel imperdiet. Praesent pulvinar ligula ut erat iaculis, non sollicitudin erat volutpat. Proin ac laoreet quam, id placerat tellus. Cras eu semper velit. Curabitur porttitor lectus vel sem lacinia, ullamcorper feugiat lorem sodales. Quisque porta eros orci, vitae pellentesque quam interdum vitae. Suspendisse potenti. Morbi venenatis sodales ullamcorper. Fusce lectus augue, vestibulum id consequat elementum, pellentesque eget lorem. Nam sed massa diam. In feugiat at ipsum commodo faucibus. Pellentesque tempor metus feugiat lacinia porta. Sed malesuada sapien eget nunc volutpat porta. Sed tincidunt porta turpis at porta. Donec id magna quis elit vestibulum varius a in tortor. Mauris sed dignissim mi. Aenean dignissim, nulla quis hendrerit sagittis, metus turpis rutrum quam, id bibendum orci ipsum id turpis. Etiam mattis lorem in dui pretium semper. Phasellus ornare, lacus non porta dapibus, orci neque mattis felis, eu varius turpis ante nec sem. Vivamus in eros ultrices, gravida erat ut, sodales lacus. Curabitur vel bibendum leo, consectetur vehicula nulla. Aenean eu enim sapien. Aenean sagittis commodo libero, at rhoncus enim laoreet a. Fusce leo felis, malesuada ut est at, dapibus molestie orci. In imperdiet fermentum lacinia. Nam accumsan hendrerit imperdiet. Nullam quis elit in mauris imperdiet aliquam. Morbi ac sapien sodales, volutpat neque a, imperdiet lacus. Pellentesque bibendum augue nec purus egestas, ac aliquet nisl pharetra. Donec imperdiet accumsan nunc, a laoreet nunc feugiat nec. Pellentesque aliquam massa sapien, nec sollicitudin dolor scelerisque vitae. Aliquam posuere dignissim egestas. Fusce malesuada egestas scelerisque. Sed tellus lectus, accumsan non luctus tincidunt, consectetur non felis. Vestibulum ac neque purus. In vehicula sit amet sapien vel elementum. Mauris luctus pellentesque cursus. Aenean eget purus eu nibh tempor auctor eu non tortor. Aliquam mi odio, dignissim ut leo id, consequat tincidunt libero. Sed vitae fermentum est, nec vestibulum lorem. Donec interdum nisi in sem elementum iaculis. Suspendisse sagittis magna quis sem consectetur, nec lobortis est suscipit. Mauris pharetra leo eget arcu feugiat, tempus vehicula orci malesuada. Phasellus metus magna, varius sed nunc et, adipiscing euismod orci. Quisque in dui metus. Cras augue dolor, fringilla at bibendum id, faucibus in ante. Aliquam aliquam, tellus quis ultrices adipiscing, felis nibh porttitor arcu, et laoreet dolor nisl id nisl. Pellentesque dignissim eget purus in dapibus. Ut porttitor felis sed pellentesque dictum. Aenean a lacus cursus, laoreet sapien sit amet, molestie quam. Fusce lacus metus, porta sed lectus nec, laoreet pellentesque sem. Integer congue velit tortor, sit amet tristique ipsum lobortis quis. Vestibulum viverra adipiscing nulla nec pellentesque. Cras sollicitudin ut sapien ac tempor. Sed eleifend, sapien vitae pharetra mattis, nunc mauris volutpat libero, a pretium leo massa sit amet ligula. Fusce malesuada velit at felis tempor rhoncus. Quisque arcu metus, lacinia nec bibendum id, accumsan in tellus. Praesent congue orci non dolor rhoncus consectetur. Cras feugiat porttitor lorem, nec iaculis neque vulputate at. Ut vel elementum justo, non porta tellus. Nam dignissim commodo suscipit. Donec hendrerit tristique sapien, ac tincidunt magna tincidunt ac. Quisque eget purus ultricies, convallis dolor at, sagittis mauris. Suspendisse faucibus, ante eu congue iaculis, augue quam dictum diam, nec pellentesque ipsum sem ac nunc. Curabitur quis luctus ligula, semper ullamcorper magna. Nullam sit amet erat feugiat, gravida tellus interdum, accumsan elit. In velit mauris, tempor et massa gravida, molestie varius diam. In rutrum at sapien vel accumsan. Curabitur eu velit eu risus commodo ullamcorper vitae at diam. Vivamus sit amet porta orci. Maecenas lorem massa, porttitor nec ante auctor, fringilla rhoncus arcu. Integer faucibus, nulla commodo congue accumsan, erat ligula ullamcorper eros, eget cursus eros nisl id leo. Fusce suscipit diam nec lectus sollicitudin, id vulputate elit hendrerit. Quisque facilisis auctor scelerisque. Integer lectus nulla, ultrices non eros at, elementum viverra turpis. Cras rutrum enim non euismod scelerisque. Duis tempor hendrerit eros ut fringilla. Quisque imperdiet purus quis sapien bibendum, sed tincidunt augue bibendum. Nulla luctus viverra urna, sit amet auctor nibh gravida sollicitudin. Aliquam volutpat nunc sit amet quam imperdiet rutrum. Sed eget dolor quis felis tincidunt malesuada. Morbi blandit consequat hendrerit. Donec venenatis tortor et dui blandit pellentesque. Nullam ut felis nisi. Donec vel semper lectus. Praesent imperdiet, nulla et mattis laoreet, ipsum eros elementum quam, at lacinia tellus arcu a enim. Nullam adipiscing at arcu vel rutrum. Integer nec diam blandit, accumsan urna vitae, dignissim nunc. Donec viverra est quis fermentum elementum. Aliquam interdum odio a elementum porta. Proin non accumsan nunc. Pellentesque tincidunt odio accumsan odio ultrices auctor. Cras non eleifend mauris. Sed id faucibus diam, ut pellentesque leo. Sed in orci non nunc varius luctus non nec dolor. Morbi fringilla et augue vel imperdiet. Aenean ante erat, tincidunt sed purus quis, tristique aliquam leo. Proin sed nisl placerat, aliquam neque et, dignissim lorem. Proin placerat euismod odio eu lobortis. Nam sit amet nisi vel est iaculis vestibulum vitae ac leo. In euismod tellus at mi fringilla, sit amet blandit nulla lacinia. Nullam posuere venenatis venenatis. Integer vel tortor cursus, facilisis est vel, semper enim. Vestibulum at pharetra massa. Donec in auctor augue. Morbi facilisis dignissim sapien, vitae consequat dolor vulputate in. Integer ut erat ultrices, eleifend sapien blandit, fringilla mi. Sed odio augue, placerat eget cursus sed, consequat vitae turpis. Curabitur sed tristique sapien. Integer porttitor eget odio quis sodales. Cras ornare, velit auctor dapibus ultricies, turpis mi dignissim neque, ultrices faucibus arcu libero tempor urna. Ut eu rutrum nisl. Mauris scelerisque nunc sed cursus lobortis. Proin eget cursus est, et aliquam tellus. Suspendisse in dictum purus, a venenatis urna. Aliquam erat volutpat. Phasellus dapibus metus nec lacus pulvinar euismod. Duis sollicitudin massa sapien, at tincidunt nisl placerat id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec nec lacus augue. Curabitur facilisis, erat id fringilla ultricies, urna ipsum pulvinar arcu, vitae laoreet quam risus quis metus. In auctor turpis molestie quam molestie tempor. Suspendisse quis rhoncus orci. Phasellus vel enim mi. Praesent cursus non turpis at mollis. Mauris condimentum, risus ut auctor eleifend, justo nunc semper ante, quis egestas dui felis ac dolor. Morbi laoreet quam sit amet mauris dictum auctor. Vestibulum auctor sodales erat viverra suscipit. Quisque ac ipsum faucibus magna aliquam semper non eget leo. Suspendisse ut quam posuere, auctor diam a, posuere leo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin dignissim semper ante, vel pretium orci tincidunt ac. Suspendisse blandit interdum massa, sit amet scelerisque lacus faucibus sit amet. Donec vitae rutrum odio. Nam mi enim, facilisis sed odio vitae, adipiscing eleifend tellus. Praesent non massa pellentesque, gravida ipsum nec, ullamcorper odio. Morbi vitae felis nulla. Fusce eu tincidunt ante. Vestibulum pretium hendrerit eros, et imperdiet tortor sodales ac. Vestibulum sodales sem vel arcu ullamcorper, sed tempus purus placerat. Cras adipiscing arcu quam, at euismod tortor imperdiet eget. Quisque sed lectus felis. Donec hendrerit, nisi sit amet blandit tempus, sapien arcu iaculis tortor, a viverra dolor justo ac felis. Maecenas euismod quam ultrices pellentesque fringilla. Donec lobortis vulputate lectus at molestie. Pellentesque fringilla ornare sapien egestas ultrices. Integer pulvinar dui in augue elementum convallis. Nulla tempus adipiscing nisi. Morbi in vestibulum arcu. Integer condimentum consequat pulvinar. Maecenas consectetur ut urna sed vehicula. Mauris vitae justo eu dolor sollicitudin tristique. Etiam nec porttitor lacus, nec sagittis turpis. Cras semper ipsum ut sollicitudin tempor. Proin placerat sem nec blandit varius. Fusce in nibh non nulla aliquet dignissim. Sed tempus sed neque id tristique. Sed eget interdum neque, convallis luctus ligula. Morbi a arcu a lectus posuere lobortis eu id velit. Nunc sed vehicula velit, eget pellentesque enim. Donec fringilla rhoncus pellentesque. Ut ullamcorper mi est, ac tristique ante ultrices et. Mauris consectetur massa ut pretium blandit. Phasellus at massa sit amet diam pretium blandit non eu est. Ut odio arcu, interdum porttitor tristique dignissim, rhoncus ut risus. Nulla eu orci nec tellus dignissim pellentesque sed id nibh. Suspendisse porta quam quis erat mattis, vitae mattis tellus fermentum. Aliquam erat volutpat. Cras molestie erat augue, sit amet tempus ante lacinia quis. Integer tristique erat rhoncus malesuada varius. Nulla vel felis id orci viverra suscipit eget in leo. Sed facilisis purus id ipsum vestibulum, eget tincidunt metus lacinia. Donec leo arcu, volutpat a ultricies id, cursus sed eros. Vestibulum viverra sapien at augue pharetra faucibus. Curabitur consequat pulvinar arcu, vitae aliquet leo. Suspendisse vel suscipit risus, quis vehicula nisl. Vivamus eget felis metus. Curabitur at dapibus eros, non sollicitudin nulla. Nunc fringilla rhoncus ipsum quis viverra."
11
- end
12
5
 
13
6
  describe Mozzn::Cli do
14
7
  before :each do
@@ -81,13 +74,23 @@ describe Mozzn::Cli do
81
74
  describe "mozzn login" do
82
75
  describe "with valid params " do
83
76
  it "returns Successfully logged in." do
77
+ name = 'rania'
78
+ email = unique_email
79
+ password = '12345678'
80
+ password_confirmation = '12345678'
84
81
  @cli.options = {
85
- email: 'rania@overcstudios.com',
86
- password: '12345678'
82
+ name: name,
83
+ email: email ,
84
+ password: password,
85
+ password_confirmation: password_confirmation
87
86
  }
88
- output = capture(:stdout) { @cli.login }
89
- output.chomp!
90
- expect(output).to match("Successfully logged in.")
87
+ output = capture(:stdout) { @cli.registration }
88
+ cli1 = Mozzn::Cli.new
89
+ cli1.options = {
90
+ email:email,
91
+ password: password
92
+ }
93
+ expect{ @cli.login }.to raise_error(Thor::Error,"You have to confirm your account before continuing.")
91
94
  end
92
95
  end
93
96
 
@@ -145,6 +148,7 @@ describe Mozzn::Cli do
145
148
  end
146
149
  end
147
150
  end
151
+
148
152
  describe "mozzn update" do
149
153
  describe "with avilable updates" do
150
154
  it "returns An update is available" do
@@ -157,4 +161,169 @@ describe Mozzn::Cli do
157
161
  end
158
162
  end
159
163
  end
164
+
165
+ describe "mozzn registration" do
166
+ describe "with valid params" do
167
+ it "returns Succesfully registered" do
168
+ @cli.options = {
169
+ name: 'rania',
170
+ email: unique_email ,
171
+ password: '12345678',
172
+ password_confirmation: '12345678'
173
+ }
174
+ output = capture(:stdout) { @cli.registration }
175
+ output.chomp!
176
+ expect(output).to match("Successfully registered")
177
+ end
178
+ end
179
+
180
+ describe "with missing email" do
181
+ it "should return email missing" do
182
+ @cli.options = {
183
+ name: 'rania',
184
+ password: '12345678',
185
+ password_confirmation: '12345678'
186
+ }
187
+ output = capture(:stdout) { @cli.registration }
188
+ output.chomp!
189
+ expect(output).to be =~ /email/
190
+ end
191
+ end
192
+
193
+ describe "with missing password" do
194
+ it "should return password missing" do
195
+ @cli.options = {
196
+ name: 'rania',
197
+ email: unique_name,
198
+ password_confirmation: '12345678'
199
+ }
200
+ output = capture(:stdout) { @cli.registration }
201
+ output.chomp!
202
+ expect(output).to be =~ /password/
203
+ end
204
+ end
205
+
206
+ describe "with missing confirmation Password" do
207
+ it "should return password confirmation Missing" do
208
+ @cli.options = {
209
+ name: 'rania',
210
+ email: unique_email,
211
+ password: '12345678'
212
+ }
213
+ output = capture(:stdout) { @cli.registration }
214
+ output.chomp!
215
+ expect(output).to be =~ /password_confirmation/
216
+ end
217
+ end
218
+
219
+ describe "with invalid email" do
220
+ it "should return invalid email" do
221
+ @cli.options = {
222
+ name: 'rania',
223
+ email: 'qqqqqqq',
224
+ password: '12345678',
225
+ password_confirmation: '12345678'
226
+ }
227
+ output = capture(:stdout) { @cli.registration }
228
+ output.chomp!
229
+ expect(output).to be =~ /email/
230
+ end
231
+ end
232
+
233
+ describe "with short password" do
234
+ it "should short password" do
235
+ @cli.options = {
236
+ name: 'rania',
237
+ email: unique_email,
238
+ password: '123',
239
+ password_confirmation: '123'
240
+ }
241
+ output = capture(:stdout) { @cli.registration }
242
+ output.chomp!
243
+ expect(output).to be =~ /password/
244
+ end
245
+ end
246
+
247
+ describe "with unmatched password and confirmation password" do
248
+ it "should return password and confirmation password are not matched" do
249
+ @cli.options = {
250
+ name: 'rania',
251
+ email: unique_email,
252
+ password: '12345678',
253
+ password_confirmation: '87654321'
254
+ }
255
+ output = capture(:stdout) { @cli.registration }
256
+ output.chomp!
257
+ expect(output).to be =~ /password_confirmation/
258
+ end
259
+ end
260
+
261
+ describe "with nil parammeters" do
262
+ it "should return Parameter Missing" do
263
+ @cli.options = {
264
+ name: nil,
265
+ email: nil,
266
+ password: nil,
267
+ password_confirmation: nil
268
+ }
269
+ output = capture(:stdout) { @cli.registration }
270
+ output.chomp!
271
+ expect(output).to be =~ /email/
272
+ end
273
+ end
274
+ end
275
+
276
+ describe "mozzn resources" do
277
+ describe "With valid params" do
278
+ describe "With an existing App" do
279
+ it "returns No assigned resources for this application." do
280
+ capture(:stdout) { valid_user }
281
+ appname = valid_app
282
+ expect { @cli.resources "#{appname}" }.to raise_error(Thor::Error, "No assigned resources for this application.")
283
+ end
284
+ end
285
+
286
+ describe "With an existing App having compnents and no datastores" do
287
+ it "returns HTTP code 200:OK" do
288
+ pending
289
+ end
290
+ end
291
+
292
+ describe "With an existing App having datastores and no components" do
293
+ it "returns HTTP code 200:OK" do
294
+ pending
295
+ end
296
+ end
297
+
298
+ describe "With an existing App having no datastores or components" do
299
+ it "returns No assigned resources for this application." do
300
+ capture(:stdout) { valid_user }
301
+ appname = valid_app
302
+ expect { @cli.resources "#{appname}" }.to raise_error(Thor::Error, "No assigned resources for this application.")
303
+
304
+ end
305
+ end
306
+ end
307
+ describe "With invalid parameters" do
308
+ describe "with not existing application" do
309
+ it "Rais error 'Application not found'" do
310
+ capture(:stdout) { valid_user }
311
+ appname = 'AppName'
312
+ expect { @cli.resources "#{appname}" }.to raise_error(Thor::Error, "Application does not found")
313
+ end
314
+ end
315
+
316
+ describe "with unauthorized user" do
317
+ it "returns HTTP code 422" do
318
+ pending
319
+ end
320
+ end
321
+
322
+ describe "without name" do
323
+ it "should return Application name must be provided." do
324
+ expect { @cli.resources }.to raise_error(Thor::Error, "You must enter Application Name!")
325
+ end
326
+ end
327
+ end
328
+ end
160
329
  end
@@ -0,0 +1,14 @@
1
+ FactoryGirl.define do
2
+ sequence :name do |n|
3
+ "app#{DateTime.now.to_i}#{n}"
4
+ end
5
+
6
+ factory :valid_app, class: Application do
7
+ name { generate(:name) }
8
+ end
9
+
10
+ factory :invalid_app, class: Application do
11
+ name 'Lorem ipsum dolor sit amet'
12
+ end
13
+
14
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :valid_component, class: Component do
3
+ name 'web'
4
+ command 'bundle exec rails server -p 3000'
5
+ end
6
+
7
+ factory :invalid_component, class: Component do
8
+ # TODO
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :valid_datastore, class: Datastore do
3
+ name 'postgresql'
4
+ role 'master'
5
+ end
6
+
7
+ factory :invalid_datastore, class: Datastore do
8
+ # TODO
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :valid_key, class: Key do
3
+ public 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXwZsqptW/1sxBvT6FAukbGsDKzqoBwwaAj6yUgM1ygdupF3NHhpf3huenu9X09SQTjvGDUjLCn6MgIREumrn3JaIEceqRVI5wtAd2c8S1kwJxZLYqTJT4iifW/ydTocz94FADwrLYWHIjlGLh/FY6xDHhloL0Ymvv+iiEg4cWhdC23zenEUOBS7khnw2FeXxLag4/tcinEYR1+Z3PrhRvfg964Rlf1BdspRwuF26GbiRqgo2M1bj9tBH5PZyL17R06adOpBAh1UzT8X9qSXi9OYE9C2HDIGH3MRpCdpJWU36FWqg8iG/DnFzlxzheRJ78A5R8WdDL2oMFE/BrkM9d'
4
+ end
5
+
6
+ factory :invalid_key, class: Key do
7
+ public 'Lorem ipsum dolor sit amet'
8
+ end
9
+
10
+ end
@@ -0,0 +1,10 @@
1
+ FactoryGirl.define do
2
+ factory :valid_user do
3
+ cli = Mozzn::Cli.new
4
+ cli.options = {
5
+ email:'test@mozzn.com',
6
+ password: '12345678'
7
+ }
8
+ cli.login
9
+ end
10
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,23 @@
1
1
  require 'bundler/setup'
2
2
  require 'rspec'
3
+ require "mozzn"
3
4
 
4
5
  Bundler.setup
5
6
 
7
+ def unique_name
8
+ uuid = SecureRandom.uuid
9
+ "APP#{uuid}"
10
+ end
11
+
12
+ def unique_email
13
+ uuid = SecureRandom.uuid
14
+ "rania#{uuid}@gmail.com"
15
+ end
16
+
17
+ def long_string
18
+ string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc hendrerit ultricies tortor eu posuere. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus suscipit lacinia tellus, id aliquam metus commodo quis. In eget mauris felis. Integer lobortis justo id mauris ullamcorper, et scelerisque elit lobortis. Integer non iaculis tortor, nec placerat est. Donec sed urna ac augue placerat pellentesque. Aliquam placerat, leo ac mollis pharetra, libero sem dictum augue, eu imperdiet quam elit eu mi. Vestibulum imperdiet elit ligula, nec congue diam lobortis quis. Quisque sit amet pellentesque erat, at vulputate neque. Donec viverra velit non dignissim aliquet. Integer porta, augue non porttitor tincidunt, enim erat dignissim velit, quis dictum metus arcu non mauris. Duis venenatis massa et sapien tristique, ac hendrerit odio venenatis. Integer eleifend arcu dapibus, volutpat mauris ut, lacinia ante. Quisque congue, nisi eu fringilla ullamcorper, felis tortor sodales sem, euismod ullamcorper enim ligula ac ligula. Quisque eget sapien pellentesque, fringilla est sed, auctor ligula. Donec scelerisque, velit at pellentesque auctor, urna massa aliquam massa, sit amet rutrum nulla ipsum at lorem. Aenean scelerisque ante arcu, et scelerisque tellus eleifend eu. Sed sodales purus eu sodales egestas. Phasellus rhoncus nibh lacus, non tempor enim malesuada in. Nunc cursus nunc ante, ac bibendum erat pulvinar quis. Pellentesque porta gravida nulla. Etiam lobortis laoreet cursus. Sed nisi neque, pretium a consectetur ut, euismod eget est. Aenean blandit erat ante, tristique ullamcorper purus fermentum in. Fusce rhoncus dapibus mi, a auctor dolor dictum sodales. Donec elementum varius nisl a mollis. Phasellus eu metus ipsum. Nulla vel est sagittis, hendrerit mi eu, sollicitudin purus. Curabitur non ipsum pulvinar, cursus tortor a, ultrices eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquet molestie turpis vitae pretium. Cras dictum luctus enim, sed gravida leo dictum vel. Vestibulum a tortor erat. Nullam sit amet nulla vel odio porta luctus hendrerit dapibus ante. Mauris venenatis turpis non viverra sagittis. Aenean ligula lacus, eleifend nec tincidunt et, venenatis sed metus. Donec tempor sollicitudin congue. Vivamus nec enim vitae elit dapibus rhoncus. Praesent commodo tempor tortor, vitae congue justo gravida ut. Integer eget scelerisque purus. Aliquam vulputate porttitor neque, quis tempus urna consectetur quis. Sed sagittis vel nibh sit amet tempus. Maecenas vel velit arcu. Quisque in erat condimentum, commodo ante consequat, placerat lacus. Duis et enim in est dictum sagittis vel eu purus. Fusce vestibulum lorem adipiscing augue accumsan, id mollis est tempor. Vivamus ultrices quam non augue gravida, quis venenatis orci tincidunt. In euismod cursus scelerisque. Curabitur dignissim dapibus nibh. Maecenas sodales non eros at lacinia. Nulla blandit at sapien vel sodales. Vivamus a tempor est. Aliquam erat volutpat. Curabitur semper, purus a cursus porta, sem augue pharetra risus, eu volutpat orci massa id tortor. Maecenas varius commodo dui vel viverra. Fusce ac posuere diam. Nulla non porta sapien. Nullam magna urna, faucibus quis mauris in, convallis mollis urna. Proin id elementum felis. Suspendisse potenti. Quisque vel blandit sapien. Proin eu velit mi. Nam vestibulum pharetra nisl sit amet molestie. Praesent ut lorem est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis at sollicitudin justo. Vivamus varius, arcu quis dictum facilisis, mi lectus consequat velit, a ullamcorper mi est quis tellus. Nam tortor turpis, vestibulum eu lacus a, tristique mattis dui. Mauris sodales felis non justo vestibulum ornare. Quisque vel metus ac ipsum viverra aliquet eu placerat lacus. Aenean porttitor, arcu a hendrerit aliquet, mauris turpis pretium purus, eget commodo augue mauris eget nulla. Nunc blandit lobortis metus, ut ultricies dolor egestas a. Nullam ultricies sit amet lorem nec congue. Sed condimentum lectus adipiscing tortor mattis ullamcorper. Sed ut neque porttitor sem convallis scelerisque fermentum non quam. Nam ut rutrum tellus. Curabitur fermentum facilisis erat, id tincidunt felis blandit vel. Proin eu libero eu leo scelerisque feugiat. Donec a posuere eros. Morbi nibh leo, tristique egestas est non, tincidunt euismod est. Phasellus ut ornare erat, et placerat elit. Cras pellentesque malesuada dignissim. Pellentesque bibendum lacus neque, nec commodo mi vestibulum quis. Proin vel ultrices odio. Praesent ultrices, magna in cursus luctus, nulla nibh pellentesque elit, vitae sollicitudin turpis quam quis sapien. Nullam vitae turpis a arcu laoreet interdum. Fusce a imperdiet nulla. Donec sed nisl adipiscing, convallis diam molestie, condimentum nisi. Nunc blandit mollis tellus, sit amet fringilla urna tempor id. Sed aliquam vulputate est quis fermentum. Cras eget varius nisl. Curabitur erat tellus, tincidunt ut nisl a, iaculis aliquam urna. Proin blandit lacus neque, at viverra ipsum malesuada ut. Vestibulum vel dui vestibulum, sollicitudin enim fermentum, gravida quam. Ut felis massa, elementum eget nibh ac, ornare adipiscing quam. Nunc molestie nec dui eu mollis. Nam tincidunt dapibus lobortis. Ut posuere elit augue, et feugiat elit volutpat vitae. Cras eleifend sodales enim, in vehicula velit sodales non. Aenean a quam et libero ornare vehicula ut vitae diam. Aenean vel sem et nunc pharetra laoreet eget a neque. Fusce nibh magna, dapibus tempus nibh et, viverra imperdiet elit. Phasellus bibendum scelerisque erat, in aliquam ipsum scelerisque id. Praesent condimentum, tortor ut sagittis suscipit, eros dolor pellentesque massa, eget egestas magna turpis aliquam risus. Morbi gravida tortor eget arcu dapibus pretium. Aliquam accumsan sollicitudin vulputate. Donec dictum blandit dui nec dictum. Fusce eget rhoncus mi. Aliquam ornare rhoncus cursus. Nam quis massa massa. Phasellus nec dui sapien. Cras tempus lorem justo, quis rhoncus urna pellentesque sed. Pellentesque nisi diam, congue ut libero at, tempus ornare enim. Vestibulum nec odio ac urna facilisis porta. Quisque sed pulvinar justo. Proin pulvinar libero nec tincidunt ullamcorper. Morbi quis magna quis elit laoreet adipiscing nec quis neque. Suspendisse potenti. Suspendisse potenti. Curabitur nunc turpis, porta consequat consectetur sit amet, varius vitae erat. Morbi ac ante ultrices, aliquet felis sagittis, interdum nibh. In nulla nisi, interdum id congue sed, facilisis eu quam. Vestibulum pretium ullamcorper convallis. Pellentesque lobortis neque eu est bibendum rhoncus. Cras bibendum imperdiet nibh non dignissim. Donec porta in libero a feugiat. Duis suscipit semper interdum. Nulla quis pulvinar magna. Fusce lectus dolor, hendrerit volutpat tempus vel, malesuada non enim. Praesent consequat egestas condimentum. Vestibulum aliquam a felis non congue. Duis fringilla ultrices sapien lobortis lobortis. Etiam dui quam, interdum ut mattis et, pellentesque non dui. Praesent blandit, tortor a convallis suscipit, massa lacus lacinia lacus, a elementum augue ante eu justo. Curabitur eget nisi quis neque lacinia sollicitudin. Donec quis tincidunt augue. Sed tincidunt id elit nec fermentum. In tempor libero sit amet felis bibendum blandit. Nullam rhoncus dolor id dapibus vulputate. Etiam et suscipit arcu. Suspendisse suscipit lectus in mauris laoreet, dapibus aliquam ligula faucibus. In elit risus, venenatis a dignissim vel, congue quis sem. Proin tincidunt orci quis est facilisis, id ultricies ipsum facilisis. Sed hendrerit auctor eleifend. Cras fermentum sollicitudin enim ac molestie. Morbi ut mattis sem. Integer varius porttitor turpis. Sed lobortis rutrum velit ut feugiat. Vestibulum luctus a neque quis laoreet. Sed at purus dui. Pellentesque ac enim imperdiet diam tempus fermentum in congue diam. Nulla facilisi. Cras interdum ipsum at metus fringilla faucibus. Maecenas commodo luctus tempor. Duis at ligula lorem. Proin adipiscing urna sed dui euismod convallis. Sed eget leo ullamcorper, vulputate justo iaculis, elementum dolor. Sed vel scelerisque neque. Phasellus a laoreet mauris, nec interdum felis. Sed rhoncus massa quis velit mattis ornare. Vestibulum congue ante sed est interdum ornare. Sed accumsan nisl in enim aliquam cursus sit amet a urna. Phasellus vitae elementum nisl. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Interdum et malesuada fames ac ante ipsum primis in faucibus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque non orci dictum, egestas neque a, vestibulum neque. Aliquam et lorem vitae enim condimentum luctus at sed arcu. Aenean sit amet tortor posuere, consectetur eros at, accumsan risus. Donec iaculis ultrices nisl, et fermentum leo mollis in. Cras massa neque, cursus eu dignissim sed, vulputate hendrerit lectus. Quisque venenatis libero in justo varius eleifend. Cras malesuada iaculis nisl, a dignissim arcu elementum id. Ut bibendum, tellus vitae laoreet semper, risus augue accumsan massa, at suscipit massa justo sed nisl. Praesent gravida, orci sed lobortis pellentesque, purus neque vehicula turpis, sed molestie leo ante sit amet nibh. Aliquam vehicula odio metus, non cursus erat pretium fringilla. Suspendisse ut mattis ipsum, id luctus libero. Donec sit amet dolor a erat laoreet laoreet. Ut pharetra neque non lorem molestie, in elementum nisi lobortis. Curabitur a augue lorem. Integer at arcu orci. Mauris eget libero id odio gravida vehicula ac at magna. Vestibulum ac metus venenatis, aliquet erat vel, pharetra eros. Pellentesque quis diam tellus. Maecenas non viverra sem. Aenean quis varius nisi, vitae ultricies risus. Fusce congue nisl nisi, id lacinia augue molestie id. Cras mattis, libero ut egestas accumsan, velit ipsum dictum risus, eget eleifend dolor massa pharetra nunc. Morbi euismod enim vitae metus mattis semper. Sed ante magna, convallis sollicitudin magna vel, molestie scelerisque dui. Nam in quam quis magna interdum semper. In pellentesque, arcu sit amet aliquet congue, nisi est rhoncus elit, at pharetra enim lacus gravida urna. Praesent feugiat nisl vel accumsan aliquam. Etiam velit nisl, adipiscing non metus et, viverra fringilla mauris. Morbi ornare velit in odio volutpat venenatis. Aliquam erat volutpat. Nam sodales dictum velit consequat venenatis. Aliquam in convallis velit. Donec vitae enim tortor. Phasellus posuere dolor diam, euismod tincidunt purus elementum sed. Mauris at justo eu justo euismod dictum vel in libero. Proin ac magna eu odio ultrices ornare ac quis felis. Vivamus laoreet magna at ultrices imperdiet. Ut malesuada sodales odio sit amet mollis. Maecenas id facilisis ligula. Cras vehicula consectetur augue, eu vulputate nisi facilisis a. Aenean quis dolor sed lacus tincidunt varius sed id velit. Quisque sodales nisi at metus sagittis, id tempor orci pretium. Vivamus dapibus porttitor orci. Nulla volutpat imperdiet purus eu imperdiet. Ut laoreet dui eget purus tempor, eu blandit neque mattis. Ut eget justo gravida, mattis sapien vel, mattis magna. Aliquam fringilla iaculis erat sed eleifend. Etiam consectetur scelerisque est et euismod. Vestibulum suscipit id elit at blandit. Duis lobortis eleifend diam, ac aliquet ligula porttitor in. Fusce vitae justo metus. Etiam in condimentum est. Nullam porttitor fermentum rhoncus. Donec quis magna at enim semper facilisis. Fusce mollis a ante eu mattis. Nullam gravida lorem ut vestibulum feugiat. Duis interdum tincidunt massa quis condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque purus quam, molestie vitae tempus dignissim, consectetur ut tortor. Integer non consectetur dolor. Aliquam quam purus, suscipit in libero eu, pellentesque pretium quam. In consequat et arcu sed auctor. Nulla ac mi turpis. Vestibulum imperdiet lectus turpis, at commodo tortor rutrum ut. Proin nec lorem lobortis, elementum purus ut, laoreet magna. Sed condimentum sem eget malesuada semper. In sem dui, bibendum eu nisi ac, semper commodo urna. Cras molestie nisi vel massa sodales, at aliquam leo ultricies. Curabitur sagittis quis tellus a tristique. Aenean blandit malesuada ornare. Ut ultricies tortor consectetur accumsan lobortis. Curabitur interdum enim feugiat, viverra velit vehicula, fermentum nisl. Nunc lobortis vel dui id bibendum. Suspendisse ornare diam neque, in iaculis sapien tempus at. Aenean varius laoreet interdum. Integer semper nulla lacus, eget rutrum felis hendrerit vestibulum. Nam sed vehicula diam, at porta ipsum. Pellentesque pretium orci id orci congue, nec pellentesque nulla dictum. Quisque hendrerit cursus mi. Nam non eros feugiat, vulputate nisi id, cursus tellus. Aenean facilisis est enim, et ultricies quam congue quis. Sed consectetur varius sem, sit amet pulvinar orci semper eget. Ut feugiat tincidunt sem, non dictum felis volutpat eget. Morbi imperdiet tortor a justo fringilla rutrum. Sed quis turpis ac lorem scelerisque dignissim. Ut pulvinar iaculis rutrum. Nullam sed dignissim risus, suscipit vehicula lectus. Aliquam dui enim, tincidunt ut mi in, varius imperdiet libero. Proin blandit at nibh eu pharetra. Integer ultrices nec augue sit amet fringilla. Sed sollicitudin erat eu luctus luctus. Nullam semper aliquet rutrum. Aliquam nec pretium diam. Aliquam venenatis consectetur dignissim. Sed egestas, velit et commodo dictum, neque urna aliquet tortor, nec dignissim orci sem quis felis. Aenean pharetra quis risus quis elementum. Proin ac blandit eros, at ultrices enim. Donec at turpis est. Mauris eget leo mi. Quisque aliquam ornare lacinia. Sed sed risus non urna mollis posuere quis a odio. Donec eleifend, mi ac dictum accumsan, elit neque molestie urna, et malesuada tellus arcu vel risus. Praesent placerat vel mauris sagittis venenatis. Integer massa elit, tempor fermentum sem vel, porta commodo mauris. Quisque tincidunt nulla ut nulla ornare molestie. In quis nunc pellentesque, mollis eros a, auctor ante. Aenean eros nibh, luctus ut dui et, vehicula pharetra leo. Donec velit purus, volutpat a aliquam ut, convallis quis nisi. Nunc a tellus augue. Vestibulum ante sem, tempor eu consequat eu, ultrices at sem. Aenean nec tellus mi. Donec at ante vitae odio lobortis lobortis sit amet nec dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc tellus erat, euismod vel fringilla ac, tempor a ipsum. Nulla enim purus, feugiat sed urna in, consectetur condimentum urna. Maecenas faucibus tincidunt ligula, at tincidunt sem sollicitudin a. In pharetra ante sed quam accumsan consequat. Suspendisse egestas nunc vel facilisis faucibus. Vestibulum varius semper velit vel convallis. Donec dapibus auctor ipsum vitae hendrerit. Aliquam sed placerat ligula. Nunc eu mauris tellus. Vivamus augue massa, fermentum eget ultricies ac, lacinia nec nisl. Aenean justo eros, elementum egestas tellus non, placerat tincidunt quam. Nulla facilisi. Quisque quam ante, commodo in tempus quis, fermentum nec arcu. Nunc sed lacus felis. Praesent diam lorem, consequat sed libero quis, tempor vehicula mauris. Donec imperdiet congue lacus at consectetur. Ut massa tellus, euismod quis laoreet nec, fringilla vel augue. Vestibulum sodales ligula sit amet rhoncus hendrerit. Cras tempor ante ac arcu faucibus, aliquet venenatis magna interdum. Suspendisse et felis ac mi sagittis pellentesque ut sed risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi bibendum diam non erat dictum pellentesque. Suspendisse imperdiet gravida vestibulum. Fusce eros elit, vulputate et eleifend in, condimentum et purus. Pellentesque fermentum sapien nec ultrices rhoncus. Sed quis pulvinar nisl, nec porta ligula. Mauris sed consectetur lorem, nec eleifend urna. Etiam mollis, quam in tempor vestibulum, libero odio mollis est, vehicula lobortis lectus ligula ac urna. Curabitur placerat lacinia nunc, vitae aliquam sem commodo ac. Sed congue magna a odio dapibus, eget tristique eros mattis. Praesent tempus quis tellus eleifend facilisis. Maecenas id imperdiet nunc, et tempor odio. Cras nec dignissim augue, aliquam vehicula quam. Aenean at laoreet libero, vitae dignissim massa. Duis sed lectus ut odio viverra aliquet et nec elit. Sed viverra enim vulputate adipiscing ornare. In sit amet interdum metus, id commodo erat. Nunc ac mi ut metus ornare aliquam non quis sem. Integer vitae pulvinar enim. Fusce sed purus vehicula, scelerisque dolor in, mattis quam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed blandit arcu sit amet nisl varius condimentum id eu neque. Praesent convallis lacinia fringilla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec vitae enim tortor. Suspendisse dolor arcu, mollis sit amet cursus quis, consequat ut lectus. Duis ullamcorper ante quam, a viverra magna convallis et. Cras in luctus lectus, at porta felis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Etiam viverra dui sit amet justo fermentum, ac mollis velit convallis. Sed et risus dui. Aenean vel felis sodales, luctus ipsum id, aliquam dui. Curabitur a ante suscipit, auctor elit ut, tempus lacus. Sed ullamcorper vulputate purus, at commodo arcu feugiat a. Ut placerat hendrerit orci, in dignissim ipsum pharetra vel. Nam fermentum leo vitae massa facilisis tincidunt. Proin varius nibh risus, ut varius metus convallis in. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ultricies id mi vitae volutpat. Donec tempus elit orci, ac commodo nibh porta id. Suspendisse nec magna varius leo eleifend tempor. Integer iaculis odio in mi posuere aliquam. Nunc velit enim, sollicitudin vel libero sed, commodo pulvinar purus. Morbi condimentum at sem non volutpat. Praesent eget dolor non sem luctus volutpat. Maecenas a convallis quam. Donec consequat at velit ut imperdiet. Morbi vulputate felis et orci mattis, sit amet congue tellus egestas. Nulla nec orci mi. Vestibulum aliquam dolor augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras congue purus diam, non interdum nibh hendrerit et. In dignissim in mauris in viverra. Etiam sollicitudin mi sed scelerisque facilisis. Sed consequat adipiscing commodo. Fusce eu tortor ac dolor gravida convallis. Curabitur feugiat commodo nulla. Donec odio eros, varius adipiscing mi id, viverra laoreet arcu. Sed mauris turpis, aliquam eget volutpat ut, elementum nec leo. Nam erat erat, convallis sed diam eget, rutrum dignissim ligula. Aliquam rhoncus vulputate dolor et mollis. Duis nisi felis, sodales in odio in, scelerisque pellentesque magna. Nunc sagittis consequat gravida. Aliquam aliquet elit lacinia dolor euismod, id imperdiet massa rhoncus. Sed vitae vestibulum felis. Pellentesque ornare consectetur enim. Vestibulum dignissim nec velit sed pellentesque. Proin placerat nulla nibh, eu euismod magna fermentum sed. Cras ultricies mauris eget ullamcorper tincidunt. Maecenas vestibulum sem sed magna rutrum, at mattis urna iaculis. Phasellus quis molestie nisi. Nulla facilisi. Mauris risus nisi, vehicula vitae magna eget, vulputate placerat massa. Fusce suscipit sed dui eget volutpat. Donec ac accumsan turpis. Suspendisse potenti. Vestibulum cursus sapien et mi sollicitudin adipiscing. Donec convallis placerat elit, ut laoreet augue volutpat at. Vivamus non turpis nunc. In eleifend nibh consectetur nisl molestie, ac tincidunt dolor vulputate. Donec urna tortor, condimentum nec ipsum et, imperdiet vulputate mauris. Nunc ut nisi non turpis pharetra viverra. Aenean enim dolor, pellentesque sit amet sapien sit amet, placerat posuere tortor. Nunc faucibus, lorem non euismod malesuada, orci velit ultrices diam, vitae facilisis lorem nisi nec diam. Vivamus nulla felis, dignissim aliquet eros eget, vulputate condimentum leo. Sed quis congue tellus. Nam sed odio sit amet est lacinia suscipit. Sed ultrices porttitor felis vel imperdiet. Praesent pulvinar ligula ut erat iaculis, non sollicitudin erat volutpat. Proin ac laoreet quam, id placerat tellus. Cras eu semper velit. Curabitur porttitor lectus vel sem lacinia, ullamcorper feugiat lorem sodales. Quisque porta eros orci, vitae pellentesque quam interdum vitae. Suspendisse potenti. Morbi venenatis sodales ullamcorper. Fusce lectus augue, vestibulum id consequat elementum, pellentesque eget lorem. Nam sed massa diam. In feugiat at ipsum commodo faucibus. Pellentesque tempor metus feugiat lacinia porta. Sed malesuada sapien eget nunc volutpat porta. Sed tincidunt porta turpis at porta. Donec id magna quis elit vestibulum varius a in tortor. Mauris sed dignissim mi. Aenean dignissim, nulla quis hendrerit sagittis, metus turpis rutrum quam, id bibendum orci ipsum id turpis. Etiam mattis lorem in dui pretium semper. Phasellus ornare, lacus non porta dapibus, orci neque mattis felis, eu varius turpis ante nec sem. Vivamus in eros ultrices, gravida erat ut, sodales lacus. Curabitur vel bibendum leo, consectetur vehicula nulla. Aenean eu enim sapien. Aenean sagittis commodo libero, at rhoncus enim laoreet a. Fusce leo felis, malesuada ut est at, dapibus molestie orci. In imperdiet fermentum lacinia. Nam accumsan hendrerit imperdiet. Nullam quis elit in mauris imperdiet aliquam. Morbi ac sapien sodales, volutpat neque a, imperdiet lacus. Pellentesque bibendum augue nec purus egestas, ac aliquet nisl pharetra. Donec imperdiet accumsan nunc, a laoreet nunc feugiat nec. Pellentesque aliquam massa sapien, nec sollicitudin dolor scelerisque vitae. Aliquam posuere dignissim egestas. Fusce malesuada egestas scelerisque. Sed tellus lectus, accumsan non luctus tincidunt, consectetur non felis. Vestibulum ac neque purus. In vehicula sit amet sapien vel elementum. Mauris luctus pellentesque cursus. Aenean eget purus eu nibh tempor auctor eu non tortor. Aliquam mi odio, dignissim ut leo id, consequat tincidunt libero. Sed vitae fermentum est, nec vestibulum lorem. Donec interdum nisi in sem elementum iaculis. Suspendisse sagittis magna quis sem consectetur, nec lobortis est suscipit. Mauris pharetra leo eget arcu feugiat, tempus vehicula orci malesuada. Phasellus metus magna, varius sed nunc et, adipiscing euismod orci. Quisque in dui metus. Cras augue dolor, fringilla at bibendum id, faucibus in ante. Aliquam aliquam, tellus quis ultrices adipiscing, felis nibh porttitor arcu, et laoreet dolor nisl id nisl. Pellentesque dignissim eget purus in dapibus. Ut porttitor felis sed pellentesque dictum. Aenean a lacus cursus, laoreet sapien sit amet, molestie quam. Fusce lacus metus, porta sed lectus nec, laoreet pellentesque sem. Integer congue velit tortor, sit amet tristique ipsum lobortis quis. Vestibulum viverra adipiscing nulla nec pellentesque. Cras sollicitudin ut sapien ac tempor. Sed eleifend, sapien vitae pharetra mattis, nunc mauris volutpat libero, a pretium leo massa sit amet ligula. Fusce malesuada velit at felis tempor rhoncus. Quisque arcu metus, lacinia nec bibendum id, accumsan in tellus. Praesent congue orci non dolor rhoncus consectetur. Cras feugiat porttitor lorem, nec iaculis neque vulputate at. Ut vel elementum justo, non porta tellus. Nam dignissim commodo suscipit. Donec hendrerit tristique sapien, ac tincidunt magna tincidunt ac. Quisque eget purus ultricies, convallis dolor at, sagittis mauris. Suspendisse faucibus, ante eu congue iaculis, augue quam dictum diam, nec pellentesque ipsum sem ac nunc. Curabitur quis luctus ligula, semper ullamcorper magna. Nullam sit amet erat feugiat, gravida tellus interdum, accumsan elit. In velit mauris, tempor et massa gravida, molestie varius diam. In rutrum at sapien vel accumsan. Curabitur eu velit eu risus commodo ullamcorper vitae at diam. Vivamus sit amet porta orci. Maecenas lorem massa, porttitor nec ante auctor, fringilla rhoncus arcu. Integer faucibus, nulla commodo congue accumsan, erat ligula ullamcorper eros, eget cursus eros nisl id leo. Fusce suscipit diam nec lectus sollicitudin, id vulputate elit hendrerit. Quisque facilisis auctor scelerisque. Integer lectus nulla, ultrices non eros at, elementum viverra turpis. Cras rutrum enim non euismod scelerisque. Duis tempor hendrerit eros ut fringilla. Quisque imperdiet purus quis sapien bibendum, sed tincidunt augue bibendum. Nulla luctus viverra urna, sit amet auctor nibh gravida sollicitudin. Aliquam volutpat nunc sit amet quam imperdiet rutrum. Sed eget dolor quis felis tincidunt malesuada. Morbi blandit consequat hendrerit. Donec venenatis tortor et dui blandit pellentesque. Nullam ut felis nisi. Donec vel semper lectus. Praesent imperdiet, nulla et mattis laoreet, ipsum eros elementum quam, at lacinia tellus arcu a enim. Nullam adipiscing at arcu vel rutrum. Integer nec diam blandit, accumsan urna vitae, dignissim nunc. Donec viverra est quis fermentum elementum. Aliquam interdum odio a elementum porta. Proin non accumsan nunc. Pellentesque tincidunt odio accumsan odio ultrices auctor. Cras non eleifend mauris. Sed id faucibus diam, ut pellentesque leo. Sed in orci non nunc varius luctus non nec dolor. Morbi fringilla et augue vel imperdiet. Aenean ante erat, tincidunt sed purus quis, tristique aliquam leo. Proin sed nisl placerat, aliquam neque et, dignissim lorem. Proin placerat euismod odio eu lobortis. Nam sit amet nisi vel est iaculis vestibulum vitae ac leo. In euismod tellus at mi fringilla, sit amet blandit nulla lacinia. Nullam posuere venenatis venenatis. Integer vel tortor cursus, facilisis est vel, semper enim. Vestibulum at pharetra massa. Donec in auctor augue. Morbi facilisis dignissim sapien, vitae consequat dolor vulputate in. Integer ut erat ultrices, eleifend sapien blandit, fringilla mi. Sed odio augue, placerat eget cursus sed, consequat vitae turpis. Curabitur sed tristique sapien. Integer porttitor eget odio quis sodales. Cras ornare, velit auctor dapibus ultricies, turpis mi dignissim neque, ultrices faucibus arcu libero tempor urna. Ut eu rutrum nisl. Mauris scelerisque nunc sed cursus lobortis. Proin eget cursus est, et aliquam tellus. Suspendisse in dictum purus, a venenatis urna. Aliquam erat volutpat. Phasellus dapibus metus nec lacus pulvinar euismod. Duis sollicitudin massa sapien, at tincidunt nisl placerat id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec nec lacus augue. Curabitur facilisis, erat id fringilla ultricies, urna ipsum pulvinar arcu, vitae laoreet quam risus quis metus. In auctor turpis molestie quam molestie tempor. Suspendisse quis rhoncus orci. Phasellus vel enim mi. Praesent cursus non turpis at mollis. Mauris condimentum, risus ut auctor eleifend, justo nunc semper ante, quis egestas dui felis ac dolor. Morbi laoreet quam sit amet mauris dictum auctor. Vestibulum auctor sodales erat viverra suscipit. Quisque ac ipsum faucibus magna aliquam semper non eget leo. Suspendisse ut quam posuere, auctor diam a, posuere leo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin dignissim semper ante, vel pretium orci tincidunt ac. Suspendisse blandit interdum massa, sit amet scelerisque lacus faucibus sit amet. Donec vitae rutrum odio. Nam mi enim, facilisis sed odio vitae, adipiscing eleifend tellus. Praesent non massa pellentesque, gravida ipsum nec, ullamcorper odio. Morbi vitae felis nulla. Fusce eu tincidunt ante. Vestibulum pretium hendrerit eros, et imperdiet tortor sodales ac. Vestibulum sodales sem vel arcu ullamcorper, sed tempus purus placerat. Cras adipiscing arcu quam, at euismod tortor imperdiet eget. Quisque sed lectus felis. Donec hendrerit, nisi sit amet blandit tempus, sapien arcu iaculis tortor, a viverra dolor justo ac felis. Maecenas euismod quam ultrices pellentesque fringilla. Donec lobortis vulputate lectus at molestie. Pellentesque fringilla ornare sapien egestas ultrices. Integer pulvinar dui in augue elementum convallis. Nulla tempus adipiscing nisi. Morbi in vestibulum arcu. Integer condimentum consequat pulvinar. Maecenas consectetur ut urna sed vehicula. Mauris vitae justo eu dolor sollicitudin tristique. Etiam nec porttitor lacus, nec sagittis turpis. Cras semper ipsum ut sollicitudin tempor. Proin placerat sem nec blandit varius. Fusce in nibh non nulla aliquet dignissim. Sed tempus sed neque id tristique. Sed eget interdum neque, convallis luctus ligula. Morbi a arcu a lectus posuere lobortis eu id velit. Nunc sed vehicula velit, eget pellentesque enim. Donec fringilla rhoncus pellentesque. Ut ullamcorper mi est, ac tristique ante ultrices et. Mauris consectetur massa ut pretium blandit. Phasellus at massa sit amet diam pretium blandit non eu est. Ut odio arcu, interdum porttitor tristique dignissim, rhoncus ut risus. Nulla eu orci nec tellus dignissim pellentesque sed id nibh. Suspendisse porta quam quis erat mattis, vitae mattis tellus fermentum. Aliquam erat volutpat. Cras molestie erat augue, sit amet tempus ante lacinia quis. Integer tristique erat rhoncus malesuada varius. Nulla vel felis id orci viverra suscipit eget in leo. Sed facilisis purus id ipsum vestibulum, eget tincidunt metus lacinia. Donec leo arcu, volutpat a ultricies id, cursus sed eros. Vestibulum viverra sapien at augue pharetra faucibus. Curabitur consequat pulvinar arcu, vitae aliquet leo. Suspendisse vel suscipit risus, quis vehicula nisl. Vivamus eget felis metus. Curabitur at dapibus eros, non sollicitudin nulla. Nunc fringilla rhoncus ipsum quis viverra."
19
+ end
20
+
6
21
  # Copied from: https://github.com/erikhuda/thor/blob/master/spec/helper.rb#L49
7
22
 
8
23
  def capture(stream)
@@ -18,6 +33,24 @@ def capture(stream)
18
33
  result
19
34
  end
20
35
 
36
+ def valid_user
37
+ cli = Mozzn::Cli.new
38
+ cli.options = {
39
+ email:'test@mozzn.com',
40
+ password: '12345678'
41
+ }
42
+ cli.login
43
+ end
44
+
45
+ def valid_app
46
+ cli = Mozzn::Cli.new
47
+ app_name = unique_name
48
+ capture(:stdout) { cli.create_app "#{app_name}"}
49
+ app_name
50
+ end
51
+
52
+
53
+
21
54
  RSpec.configure do |config|
22
55
  config.color_enabled = true
23
56
  config.order = 'random'
@@ -26,4 +59,5 @@ RSpec.configure do |config|
26
59
  config.filter_run_excluding disabled: true
27
60
 
28
61
  config.run_all_when_everything_filtered = true
62
+
29
63
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mozzn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mozzn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-09 00:00:00.000000000 Z
11
+ date: 2014-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: terminal-table
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  description: Command Line Interface to mozzn
126
140
  email:
127
141
  - info@mozzn.com
@@ -146,6 +160,11 @@ files:
146
160
  - mozzn.gemspec
147
161
  - scripts/generate_readme.sh
148
162
  - spec/cli_spec.rb
163
+ - spec/factories/applications.rb
164
+ - spec/factories/components.rb
165
+ - spec/factories/datastores.rb
166
+ - spec/factories/keys.rb
167
+ - spec/factories/users.rb
149
168
  - spec/spec_helper.rb
150
169
  homepage: http://mozzn.com
151
170
  licenses:
@@ -173,5 +192,9 @@ specification_version: 4
173
192
  summary: Command Line Interface to mozzn.
174
193
  test_files:
175
194
  - spec/cli_spec.rb
195
+ - spec/factories/applications.rb
196
+ - spec/factories/components.rb
197
+ - spec/factories/datastores.rb
198
+ - spec/factories/keys.rb
199
+ - spec/factories/users.rb
176
200
  - spec/spec_helper.rb
177
- has_rdoc: