Skip to content

Commit ce14e1e

Browse files
schneemsCaseyFaist
authored andcommitted
Integration tests with Hatchet
1 parent 39d2cd6 commit ce14e1e

File tree

7 files changed

+112
-0
lines changed

7 files changed

+112
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ site
33
.DS_Store
44

55
/.envrc
6+
repos/*

Gemfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
source "https://rubygems.org"
2+
3+
gem "rspec"
4+
gem "heroku_hatchet"

Gemfile.lock

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
activesupport (5.2.1)
5+
concurrent-ruby (~> 1.0, >= 1.0.2)
6+
i18n (>= 0.7, < 2)
7+
minitest (~> 5.1)
8+
tzinfo (~> 1.1)
9+
concurrent-ruby (1.0.5)
10+
diff-lcs (1.3)
11+
erubis (2.7.0)
12+
excon (0.62.0)
13+
heroics (0.0.24)
14+
erubis (~> 2.0)
15+
excon
16+
moneta
17+
multi_json (>= 1.9.2)
18+
heroku_hatchet (4.0.2)
19+
excon (~> 0)
20+
minitest-retry (~> 0.1.9)
21+
platform-api (~> 2)
22+
repl_runner (~> 0.0.3)
23+
rrrretry (~> 1)
24+
thor (~> 0)
25+
threaded (~> 0)
26+
i18n (1.1.0)
27+
concurrent-ruby (~> 1.0)
28+
minitest (5.11.3)
29+
minitest-retry (0.1.9)
30+
minitest (>= 5.0)
31+
moneta (0.8.1)
32+
multi_json (1.13.1)
33+
platform-api (2.1.0)
34+
heroics (~> 0.0.23)
35+
moneta (~> 0.8.1)
36+
repl_runner (0.0.3)
37+
activesupport
38+
rrrretry (1.0.0)
39+
rspec (3.8.0)
40+
rspec-core (~> 3.8.0)
41+
rspec-expectations (~> 3.8.0)
42+
rspec-mocks (~> 3.8.0)
43+
rspec-core (3.8.0)
44+
rspec-support (~> 3.8.0)
45+
rspec-expectations (3.8.1)
46+
diff-lcs (>= 1.2.0, < 2.0)
47+
rspec-support (~> 3.8.0)
48+
rspec-mocks (3.8.0)
49+
diff-lcs (>= 1.2.0, < 2.0)
50+
rspec-support (~> 3.8.0)
51+
rspec-support (3.8.0)
52+
thor (0.20.0)
53+
thread_safe (0.3.6)
54+
threaded (0.0.4)
55+
tzinfo (1.2.5)
56+
thread_safe (~> 0.1)
57+
58+
PLATFORMS
59+
ruby
60+
61+
DEPENDENCIES
62+
heroku_hatchet
63+
rspec
64+
65+
BUNDLED WITH
66+
1.16.2

hatchet.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"python": [
3+
"heroku/python-getting-started"
4+
]
5+
}

hatchet.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
- - "./repos/python/python-getting-started"
3+
- f56b90499ec11e1c9576da2f8c7331300e189db3

spec/hatchet/python_spec.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
require_relative '../spec_helper'
2+
3+
describe "Python!!!!!!!!!!!" do
4+
it "🐍" do
5+
Hatchet::Runner.new('python-getting-started', stack: DEFAULT_STACK).deploy do |app|
6+
expect(app.output).to match(/Installing pip/)
7+
expect(app.run('python -V')).to match(/3.6.6/)
8+
end
9+
end
10+
end

spec/spec_helper.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
ENV['HATCHET_BUILDPACK_BASE'] = 'https://github.com/heroku/heroku-buildpack-python.git'
2+
3+
require 'rspec/core'
4+
require 'rspec/retry'
5+
require 'hatchet'
6+
7+
require 'date'
8+
9+
RSpec.configure do |config|
10+
config.full_backtrace = true
11+
config.verbose_retry = true # show retry status in spec process
12+
config.default_retry_count = 2 if ENV['IS_RUNNING_ON_CI'] # retry all tests that fail again
13+
config.expect_with :rspec do |c|
14+
c.syntax = :expect
15+
end
16+
end
17+
18+
if ENV['TRAVIS']
19+
# Don't execute tests against "merge" commits
20+
exit 0 if ENV['TRAVIS_PULL_REQUEST'] != 'false' && ENV['TRAVIS_BRANCH'] == 'master'
21+
end
22+
23+
DEFAULT_STACK = 'heroku-16'

0 commit comments

Comments
 (0)