File tree Expand file tree Collapse file tree 4 files changed +19
-33
lines changed
Expand file tree Collapse file tree 4 files changed +19
-33
lines changed Original file line number Diff line number Diff line change @@ -6,12 +6,6 @@ module Matrixeval
66 module Ruby
77 class DockerCompose
88
9- class << self
10- def clean_containers
11- system ( "docker compose -f .matrixeval/docker-compose.yml rm --all -f >> /dev/null 2>&1" )
12- end
13- end
14-
159 attr_reader :context
1610
1711 def initialize ( context )
@@ -23,30 +17,29 @@ def run(arguments)
2317
2418 system (
2519 <<~DOCKER_COMPOSE_COMMAND
26- docker compose -f .matrixeval/docker-compose.yml \
20+ docker compose -f #{ yaml_file } \
2721 run --rm \
28- #{ env } \
29- #{ gemfile_mount } \
30- #{ docker_compose_service_name } \
22+ #{ context . docker_compose_service_name } \
3123 #{ forward_arguments }
3224 DOCKER_COMPOSE_COMMAND
3325 )
26+ ensure
27+ turn_on_stty_opost
28+ clean_linked_containers
3429 end
3530
3631 private
3732
38- def env
39- context . env . map do |k , v |
40- "-e #{ k } ='#{ v } '"
41- end . join ( " " )
33+ def clean_linked_containers
34+ system ( "docker compose -f #{ yaml_file } down >> /dev/null 2>&1" )
4235 end
4336
44- def gemfile_mount
45- "-v ./. matrixeval/Gemfile.lock. #{ context . id } :/app/Gemfile.lock "
37+ def yaml_file
38+ ". matrixeval/docker-compose/ #{ context . id } .yml "
4639 end
4740
48- def docker_compose_service_name
49- context . docker_compose_service_name
41+ def turn_on_stty_opost
42+ system ( "stty opost" )
5043 end
5144
5245 end
Original file line number Diff line number Diff line change @@ -45,7 +45,6 @@ def start
4545 exit
4646 ensure
4747 turn_on_stty_opost
48- DockerCompose . clean_containers
4948 end
5049
5150 private
Original file line number Diff line number Diff line change @@ -41,22 +41,18 @@ def test_run
4141 ]
4242 )
4343 docker_compose = Matrixeval ::Ruby ::DockerCompose . new ( context )
44+
4445 expected_docker_compose_command = <<~COMMAND
45- docker compose -f .matrixeval/docker-compose.yml \
46- run --rm \
47- -e RAILS_VERSION='6.0.0' \
48- -e SIDEKIQ_VERSION='5.0.0' \
49- -v ./.matrixeval/Gemfile.lock.ruby_3_0_rails_6_0_sidekiq_5_0:/app/Gemfile.lock \
50- ruby_3_0 \
51- rake test
46+ docker compose -f .matrixeval/docker-compose/ruby_3_0_rails_6_0_sidekiq_5_0.yml \
47+ run --rm ruby_3_0 rake test
5248 COMMAND
5349 docker_compose . expects ( :system ) . with ( expected_docker_compose_command )
54- docker_compose . run ( [ "rake" , "test" ] )
55- end
5650
57- def test_clean_containers
58- Matrixeval ::Ruby ::DockerCompose . expects ( :system ) . with ( "docker compose -f .matrixeval/docker-compose.yml rm --all -f >> /dev/null 2>&1" )
59- Matrixeval ::Ruby ::DockerCompose . clean_containers
51+ docker_compose . expects ( :system ) . with ( "stty opost" )
52+
53+ docker_compose . expects ( :system ) . with ( "docker compose -f .matrixeval/docker-compose/ruby_3_0_rails_6_0_sidekiq_5_0.yml down >> /dev/null 2>&1" )
54+
55+ docker_compose . run ( [ "rake" , "test" ] )
6056 end
6157
6258end
Original file line number Diff line number Diff line change @@ -11,8 +11,6 @@ def setup
1111 FileUtils . rm ( dummy_gem_matrixeval_file_path ) rescue nil
1212 FileUtils . rm ( dummy_gem_working_dir . join ( ".gitignore" ) ) rescue nil
1313 FileUtils . rm Dir . glob ( dummy_gem_working_dir . join ( ".matrixeval/Gemfile.lock.*" ) )
14-
15- Matrixeval ::Ruby ::DockerCompose . stubs ( :clean_containers )
1614 end
1715
1816 def test_start_with_init
You can’t perform that action at this time.
0 commit comments