aptible-cli 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ed6d33fb4df228f78616e5a2a612584c1595fbce
         | 
| 4 | 
            +
              data.tar.gz: 4795a89a24e7108ed2ee2c8eb590d331fbd4ecc6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7d3e19769ee760b39e9d0fe388fdfa2a8c2dac97b78678758ecaacc467989982a34c993f9d606d09388053a8c7a3c1552b693896945ac596cc668896fc93325c
         | 
| 7 | 
            +
              data.tar.gz: 77b04483d2f82409cbc2c03ba05e0fa66b7041bfaf72646335064a305ebaa2ed3f65c9128d7345f8e76c6a726a3313e1ad690721bef5f804ffffd6a77dbd7529
         | 
| @@ -8,10 +8,34 @@ module Aptible | |
| 8 8 | 
             
                        include Helpers::App
         | 
| 9 9 |  | 
| 10 10 | 
             
                        desc 'restart', 'Restart all services associated with an app'
         | 
| 11 | 
            +
                        option :simulate_oom,
         | 
| 12 | 
            +
                               type: :boolean,
         | 
| 13 | 
            +
                               desc: 'Add this flag to simulate an OOM restart and test ' \
         | 
| 14 | 
            +
                                     "your app's response (not recommended on production " \
         | 
| 15 | 
            +
                                     'apps).'
         | 
| 16 | 
            +
                        option :force,
         | 
| 17 | 
            +
                               type: :boolean,
         | 
| 18 | 
            +
                               desc: 'Add this flag to use --simulate-oom in a ' \
         | 
| 19 | 
            +
                                     'production environment, which is not allowed by ' \
         | 
| 20 | 
            +
                                     'default.'
         | 
| 11 21 | 
             
                        app_options
         | 
| 12 22 | 
             
                        def restart
         | 
| 13 23 | 
             
                          app = ensure_app(options)
         | 
| 14 | 
            -
                           | 
| 24 | 
            +
                          type = 'restart'
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                          if options[:simulate_oom]
         | 
| 27 | 
            +
                            type = 'captain_comeback_restart'
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                            if app.account.type == 'production' && !options[:force]
         | 
| 30 | 
            +
                              e = 'This operation is designed for test purposes only, ' \
         | 
| 31 | 
            +
                                  "but #{app.handle} is deployed in a production " \
         | 
| 32 | 
            +
                                  'environment. Are you sure you want to do this? If ' \
         | 
| 33 | 
            +
                                  'so, use the --force flag.'
         | 
| 34 | 
            +
                              fail Thor::Error, e
         | 
| 35 | 
            +
                            end
         | 
| 36 | 
            +
                          end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                          operation = app.create_operation!(type: type)
         | 
| 15 39 | 
             
                          puts 'Restarting app...'
         | 
| 16 40 | 
             
                          attach_to_operation_logs(operation)
         | 
| 17 41 | 
             
                        end
         | 
    
        data/lib/aptible/cli/version.rb
    CHANGED
    
    
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe Aptible::CLI::Agent do
         | 
| 4 | 
            +
              let(:app) { Fabricate(:app) }
         | 
| 5 | 
            +
              let(:operation) { Fabricate(:operation, resource: app) }
         | 
| 6 | 
            +
              before { allow(subject).to receive(:ensure_app).and_return(app) }
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              describe '#restart' do
         | 
| 9 | 
            +
                it 'restarts the app' do
         | 
| 10 | 
            +
                  expect(app).to receive(:create_operation!).with(type: 'restart')
         | 
| 11 | 
            +
                    .and_return(operation)
         | 
| 12 | 
            +
                  expect(subject).to receive(:attach_to_operation_logs).with(operation)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  subject.send('restart')
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                it 'does not require the --force flag for a regular restart' do
         | 
| 18 | 
            +
                  app.account.type = 'production'
         | 
| 19 | 
            +
                  expect(app).to receive(:create_operation!)
         | 
| 20 | 
            +
                  expect(subject).to receive(:attach_to_operation_logs)
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  subject.send('restart')
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                it 'uses captain_comeback_restart if --simulate-oom is passed' do
         | 
| 26 | 
            +
                  subject.options = { simulate_oom: true }
         | 
| 27 | 
            +
                  expect(app).to receive(:create_operation!)
         | 
| 28 | 
            +
                    .with(type: 'captain_comeback_restart')
         | 
| 29 | 
            +
                    .and_return(operation)
         | 
| 30 | 
            +
                  expect(subject).to receive(:attach_to_operation_logs).with(operation)
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  subject.send('restart')
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                it 'fails a CC restart if the --force flag is not passed for a prod app' do
         | 
| 36 | 
            +
                  subject.options = { simulate_oom: true }
         | 
| 37 | 
            +
                  app.account.type = 'production'
         | 
| 38 | 
            +
                  expect(app).not_to receive(:create_operation!)
         | 
| 39 | 
            +
                  expect(subject).not_to receive(:attach_to_operation_logs)
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                  expect { subject.send('restart') }.to raise_error(/are you sure/i)
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                it 'creates a CC restart if the --force flag is passed for a prod app' do
         | 
| 45 | 
            +
                  subject.options = { simulate_oom: true, force: true }
         | 
| 46 | 
            +
                  app.account.type = 'production'
         | 
| 47 | 
            +
                  expect(app).to receive(:create_operation!)
         | 
| 48 | 
            +
                  expect(subject).to receive(:attach_to_operation_logs)
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  subject.send('restart')
         | 
| 51 | 
            +
                end
         | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: aptible-cli
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.7. | 
| 4 | 
            +
              version: 0.7.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Frank Macreery
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-09- | 
| 11 | 
            +
            date: 2016-09-15 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aptible-api
         | 
| @@ -256,6 +256,7 @@ files: | |
| 256 256 | 
             
            - spec/aptible/cli/subcommands/domains_spec.rb
         | 
| 257 257 | 
             
            - spec/aptible/cli/subcommands/logs_spec.rb
         | 
| 258 258 | 
             
            - spec/aptible/cli/subcommands/ps_spec.rb
         | 
| 259 | 
            +
            - spec/aptible/cli/subcommands/restart_spec.rb
         | 
| 259 260 | 
             
            - spec/fabricators/account_fabricator.rb
         | 
| 260 261 | 
             
            - spec/fabricators/app_fabricator.rb
         | 
| 261 262 | 
             
            - spec/fabricators/backup_fabricator.rb
         | 
| @@ -304,6 +305,7 @@ test_files: | |
| 304 305 | 
             
            - spec/aptible/cli/subcommands/domains_spec.rb
         | 
| 305 306 | 
             
            - spec/aptible/cli/subcommands/logs_spec.rb
         | 
| 306 307 | 
             
            - spec/aptible/cli/subcommands/ps_spec.rb
         | 
| 308 | 
            +
            - spec/aptible/cli/subcommands/restart_spec.rb
         | 
| 307 309 | 
             
            - spec/fabricators/account_fabricator.rb
         | 
| 308 310 | 
             
            - spec/fabricators/app_fabricator.rb
         | 
| 309 311 | 
             
            - spec/fabricators/backup_fabricator.rb
         |