From ce14e1edf8daf4fe5081b05cfc12896c596c2d0b Mon Sep 17 00:00:00 2001 From: schneems <richard.schneeman+foo@gmail.com> Date: Thu, 16 Aug 2018 13:34:05 -0500 Subject: [PATCH] Integration tests with Hatchet --- .gitignore | 1 + Gemfile | 4 +++ Gemfile.lock | 66 +++++++++++++++++++++++++++++++++++++ hatchet.json | 5 +++ hatchet.lock | 3 ++ spec/hatchet/python_spec.rb | 10 ++++++ spec/spec_helper.rb | 23 +++++++++++++ 7 files changed, 112 insertions(+) create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 hatchet.json create mode 100644 hatchet.lock create mode 100644 spec/hatchet/python_spec.rb create mode 100644 spec/spec_helper.rb diff --git a/.gitignore b/.gitignore index 6d3aa824..a08e2c1d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ site .DS_Store /.envrc +repos/* diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..a57a09ff --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "rspec" +gem "heroku_hatchet" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..ad25b4db --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,66 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (5.2.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + concurrent-ruby (1.0.5) + diff-lcs (1.3) + erubis (2.7.0) + excon (0.62.0) + heroics (0.0.24) + erubis (~> 2.0) + excon + moneta + multi_json (>= 1.9.2) + heroku_hatchet (4.0.2) + excon (~> 0) + minitest-retry (~> 0.1.9) + platform-api (~> 2) + repl_runner (~> 0.0.3) + rrrretry (~> 1) + thor (~> 0) + threaded (~> 0) + i18n (1.1.0) + concurrent-ruby (~> 1.0) + minitest (5.11.3) + minitest-retry (0.1.9) + minitest (>= 5.0) + moneta (0.8.1) + multi_json (1.13.1) + platform-api (2.1.0) + heroics (~> 0.0.23) + moneta (~> 0.8.1) + repl_runner (0.0.3) + activesupport + rrrretry (1.0.0) + rspec (3.8.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-core (3.8.0) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.8.0) + rspec-support (3.8.0) + thor (0.20.0) + thread_safe (0.3.6) + threaded (0.0.4) + tzinfo (1.2.5) + thread_safe (~> 0.1) + +PLATFORMS + ruby + +DEPENDENCIES + heroku_hatchet + rspec + +BUNDLED WITH + 1.16.2 diff --git a/hatchet.json b/hatchet.json new file mode 100644 index 00000000..20ed7dab --- /dev/null +++ b/hatchet.json @@ -0,0 +1,5 @@ +{ + "python": [ + "heroku/python-getting-started" + ] +} diff --git a/hatchet.lock b/hatchet.lock new file mode 100644 index 00000000..1e334cb0 --- /dev/null +++ b/hatchet.lock @@ -0,0 +1,3 @@ +--- +- - "./repos/python/python-getting-started" + - f56b90499ec11e1c9576da2f8c7331300e189db3 diff --git a/spec/hatchet/python_spec.rb b/spec/hatchet/python_spec.rb new file mode 100644 index 00000000..5ae95ed1 --- /dev/null +++ b/spec/hatchet/python_spec.rb @@ -0,0 +1,10 @@ +require_relative '../spec_helper' + +describe "Python!!!!!!!!!!!" do + it "ðŸ" do + Hatchet::Runner.new('python-getting-started', stack: DEFAULT_STACK).deploy do |app| + expect(app.output).to match(/Installing pip/) + expect(app.run('python -V')).to match(/3.6.6/) + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 00000000..b94f3bf5 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,23 @@ +ENV['HATCHET_BUILDPACK_BASE'] = 'https://github.com/heroku/heroku-buildpack-python.git' + +require 'rspec/core' +require 'rspec/retry' +require 'hatchet' + +require 'date' + +RSpec.configure do |config| + config.full_backtrace = true + config.verbose_retry = true # show retry status in spec process + config.default_retry_count = 2 if ENV['IS_RUNNING_ON_CI'] # retry all tests that fail again + config.expect_with :rspec do |c| + c.syntax = :expect + end +end + +if ENV['TRAVIS'] + # Don't execute tests against "merge" commits + exit 0 if ENV['TRAVIS_PULL_REQUEST'] != 'false' && ENV['TRAVIS_BRANCH'] == 'master' +end + +DEFAULT_STACK = 'heroku-16' \ No newline at end of file -- GitLab