Sha256: ed4429aaaa3c8156edda37fec11bd1964dfc9e1f2a53b18198ee6edb05a8f5d3

Contents?: true

Size: 1.43 KB

Versions: 26

Compression:

Stored size: 1.43 KB

Contents

class FakeHeroku
  RECORDER = File.expand_path(File.join('..', '..', 'tmp', 'heroku_commands'), File.dirname(__FILE__))

  def initialize(args)
    @args = args
  end

  def run!
    if @args.first == "plugins"
      puts "heroku-pipelines@0.29.0"
    end
    File.open(RECORDER, 'a') do |file|
      file.puts @args.join(' ')
    end
  end

  def self.clear!
    FileUtils.rm_rf RECORDER
  end

  def self.has_gem_included?(project_path, gem_name)
    gemfile = File.open(File.join(project_path, 'Gemfile'), 'a')

    File.foreach(gemfile).any? do |line|
      line.match(/#{Regexp.quote(gem_name)}/)
    end
  end

  def self.has_created_app_for?(environment, flags = nil)
    app_name = "#{SuspendersTestHelpers::APP_NAME.dasherize}-#{environment}"

    command = if flags
                "create #{app_name} #{flags} --remote #{environment}\n"
              else
                "create #{app_name} --remote #{environment}\n"
              end

    File.foreach(RECORDER).any? { |line| line == command }
  end

  def self.has_configured_vars?(remote_name, var)
    commands_ran =~ /^config:add #{var}=.+ --remote #{remote_name}\n/
  end

  def self.has_setup_pipeline_for?(app_name)
    commands_ran =~ /^pipelines:create #{app_name} -a #{app_name}-staging --stage staging/ &&
      commands_ran =~ /^pipelines:add #{app_name} -a #{app_name}-production --stage production/
  end

  def self.commands_ran
    @commands_ran ||= File.read(RECORDER)
  end
end

Version data entries

26 entries across 26 versions & 7 rubygems

Version Path
cosmit-suspenders-1.36.13 spec/support/fake_heroku.rb
suspenders-1.39.0 spec/support/fake_heroku.rb
voyage-1.0 spec/support/fake_heroku.rb
cosmit-suspenders-1.36.12 spec/support/fake_heroku.rb
cosmit-suspenders-1.36.11 spec/support/fake_heroku.rb
cosmit-suspenders-1.36.3 spec/support/fake_heroku.rb
cosmit-suspenders-1.36.2 spec/support/fake_heroku.rb
cosmit-suspenders-1.36.1 spec/support/fake_heroku.rb
cosmit-suspenders-1.36.0 spec/support/fake_heroku.rb
hosentrager-1.39.1 spec/support/fake_heroku.rb
suspenders-1.38.1 spec/support/fake_heroku.rb
welaika-suspenders-2.24.0 spec/support/fake_heroku.rb
suspenders-1.38.0 spec/support/fake_heroku.rb
suspenders-ocs-0.0.10 spec/support/fake_heroku.rb
suspenders-ocs-0.0.8 spec/support/fake_heroku.rb
suspenders-ocs-0.0.7 spec/support/fake_heroku.rb
suspenders-ocs-0.0.6 spec/support/fake_heroku.rb
suspenders-ocs-0.0.5 spec/support/fake_heroku.rb
suspenders-ocs-0.0.4 spec/support/fake_heroku.rb
suspenders-ocs-0.0.3 spec/support/fake_heroku.rb