From c48c7dab0b1a65d679dc9003a4d67214c32d5223 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Wed, 21 Sep 2022 16:16:18 +0200 Subject: [PATCH] Run capybara tests against dockerized instance --- .github/workflows/docker-test.yml | 22 ++++++++++++++++++++-- test/capybara_helper.rb | 10 +++++++++- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index 6eff8f3e..2c2b44b9 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -34,5 +34,23 @@ jobs: run: echo ${{ steps.docker_build.outputs.digest }} - name: docker state run: docker image ls - - name: Run gollum as test - run: docker run -e CI=true ${{ env.CI_IMAGE }} --irb + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0.0 + bundler-cache: true + - name: Install Chromedriver + uses: nanasess/setup-chromedriver@v1 + - run: | + export DISPLAY=:99 + chromedriver --url-base=/wd/hub & + sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional + - name: Run gollum from Docker + run: | + RUNNER_TRACKING_ID="" docker run -d --rm -p 4567:4567 -v $(pwd):/wiki -e CI=true ${{ env.CI_IMAGE }} & + netstat -lt + sleep 10 + netstat -lt + curl http://127.0.0.1:4567 + - name: Run capybara tests against Dockerized instance + run: "GOLLUM_CAPYBARA_URL=http://127.0.0.1:4567 bundle exec rake test:capybara" \ No newline at end of file diff --git a/test/capybara_helper.rb b/test/capybara_helper.rb index f5afc9ef..c27d25bf 100644 --- a/test/capybara_helper.rb +++ b/test/capybara_helper.rb @@ -14,7 +14,15 @@ CAPYBARA_DRIVER = Capybara.default_driver = CAPYBARA_DRIVER Capybara.enable_aria_label = true -Capybara.server = :webrick + +if ENV['GOLLUM_CAPYBARA_URL'] + Capybara.configure do |config| + config.run_server = false + config.app_host = ENV['GOLLUM_CAPYBARA_URL'] + end +else + Capybara.server = :webrick +end def console_log(page, level = :severe) page.driver.browser.logs.get(:browser).select { |log| log.level == level.to_s.upcase }