Dduvall has uploaded a new change for review. https://gerrit.wikimedia.org/r/191635
Change subject: WIP Refactoring for mw-selenium 1.0.0.pre.2 ...................................................................... WIP Refactoring for mw-selenium 1.0.0.pre.2 Change-Id: Ib8314c75f89e21fe29e0ec20412cf3ace25f522d --- M Gemfile M Gemfile.lock A tests/browser/environments.yml M tests/browser/features/login.feature M tests/browser/features/step_definitions/login_steps.rb M tests/browser/features/support/env.rb D tests/browser/features/support/hooks.rb M tests/browser/features/support/pages/special_central_auth.rb 8 files changed, 85 insertions(+), 55 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralAuth refs/changes/35/191635/1 diff --git a/Gemfile b/Gemfile index 990540f..fe3be33 100755 --- a/Gemfile +++ b/Gemfile @@ -3,5 +3,5 @@ source "https://rubygems.org" -gem "mediawiki_selenium", "~> 0.3.0" +gem "mediawiki_selenium", "~> 1.0.0.pre.2" gem "rubocop", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 5b935f2..7702f41 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,56 +5,57 @@ astrolabe (1.3.0) parser (>= 2.2.0.pre.3, < 3.0) builder (3.2.2) - childprocess (0.5.3) + childprocess (0.5.5) ffi (~> 1.0, >= 1.0.11) - cucumber (1.3.16) + cucumber (1.3.19) builder (>= 2.1.2) diff-lcs (>= 1.1.3) gherkin (~> 2.12) multi_json (>= 1.7.5, < 2.0) - multi_test (>= 0.1.1) - data_magic (0.19) + multi_test (>= 0.1.2) + data_magic (0.20) faker (>= 1.1.2) - yml_reader (>= 0.3) + yml_reader (>= 0.4) diff-lcs (1.2.5) - domain_name (0.5.19) + domain_name (0.5.23) unf (>= 0.0.5, < 1.0.0) - faker (1.4.2) + faker (1.4.3) i18n (~> 0.5) - faraday (0.9.0) + faraday (0.9.1) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) http-cookie (~> 1.0.0) - ffi (1.9.3) + ffi (1.9.6) gherkin (2.12.2) multi_json (~> 1.3) headless (1.0.2) http-cookie (1.0.2) domain_name (~> 0.5) - i18n (0.6.11) - json (1.8.1) - mediawiki_api (0.2.0) + i18n (0.7.0) + json (1.8.2) + mediawiki_api (0.3.0) faraday (~> 0.9, >= 0.9.0) faraday-cookie_jar (~> 0.0, >= 0.0.6) - mediawiki_selenium (0.3.0) + mediawiki_selenium (1.0.0.pre.2) cucumber (~> 1.3, >= 1.3.10) headless (~> 1.0, >= 1.0.1) json (~> 1.8, >= 1.8.1) - mediawiki_api (~> 0.2, >= 0.2.0) + mediawiki_api (~> 0.2, >= 0.2.1) page-object (~> 1.0) rest-client (~> 1.6, >= 1.6.7) rspec-expectations (~> 2.14, >= 2.14.4) syntax (~> 1.2, >= 1.2.0) - mime-types (2.3) + thor (~> 0.19, >= 0.19.1) + mime-types (2.4.3) multi_json (1.10.1) - multi_test (0.1.1) + multi_test (0.1.2) multipart-post (2.0.0) - netrc (0.7.7) - page-object (1.0.2) + netrc (0.10.2) + page-object (1.0.3) page_navigation (>= 0.9) - selenium-webdriver (>= 2.42.0) - watir-webdriver (>= 0.6.9) + selenium-webdriver (>= 2.44.0) + watir-webdriver (>= 0.6.11) page_navigation (0.9) data_magic (>= 0.14) parser (2.2.0.pre.4) @@ -74,25 +75,26 @@ rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.4) ruby-progressbar (1.6.0) - rubyzip (1.1.6) - selenium-webdriver (2.42.0) - childprocess (>= 0.5.0) + rubyzip (1.1.7) + selenium-webdriver (2.44.0) + childprocess (~> 0.5) multi_json (~> 1.0) rubyzip (~> 1.0) - websocket (~> 1.0.4) + websocket (~> 1.0) slop (3.6.0) syntax (1.2.0) + thor (0.19.1) unf (0.1.4) unf_ext unf_ext (0.0.6) - watir-webdriver (0.6.10) + watir-webdriver (0.6.11) selenium-webdriver (>= 2.18.0) - websocket (1.0.7) - yml_reader (0.3) + websocket (1.2.1) + yml_reader (0.5) PLATFORMS ruby DEPENDENCIES - mediawiki_selenium (~> 0.3.0) + mediawiki_selenium (~> 1.0.0.pre.2) rubocop diff --git a/tests/browser/environments.yml b/tests/browser/environments.yml new file mode 100644 index 0000000..99703c4 --- /dev/null +++ b/tests/browser/environments.yml @@ -0,0 +1,43 @@ +# Customize this configuration as necessary to provide defaults for various +# test environments. +# +# The set of defaults to use is determined by the MEDIAWIKI_ENVIRONMENT +# environment variable. +# +# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host +# bundle exec cucumber +# +# Additional variables set by the environment will override the corresponding +# defaults defined here. +# +# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host +# export MEDIAWIKI_USER=Selenium_user2 +# bundle exec cucumber +# +mw-vagrant-host: + mediawiki_url: http://127.0.0.1:8080/wiki/ + mediawiki_url_login: http://login.wiki.local.wmftest.net:8080/wiki/ + mediawiki_url_alternative: http://centralauthtest.wiki.local.wmftest.net:8080/wiki/ + mediawiki_user: Selenium_user + mediawiki_password: vagrant + +mw-vagrant-guest: + mediawiki_url: http://127.0.0.1/wiki/ + mediawiki_url_login: http://login.wiki.local.wmftest.net/wiki/ + mediawiki_url_alternative: http://centralauthtest.wiki.local.wmftest.net/wiki/ + mediawiki_user: Selenium_user + mediawiki_password: vagrant + +beta: + mediawiki_url: http://en.wikipedia.beta.wmflabs.org/wiki/ + mediawiki_url_login: # TODO + mediawiki_url_alternative: # TODO + mediawiki_user: Selenium_user + # mediawiki_password: SET THIS IN THE ENVIRONMENT! + +test2: + mediawiki_url: http://test2.wikipedia.org/wiki/ + mediawiki_url_login: # TODO + mediawiki_url_alternative: # TODO + mediawiki_user: Selenium_user + # mediawiki_password: SET THIS IN THE ENVIRONMENT! diff --git a/tests/browser/features/login.feature b/tests/browser/features/login.feature index 8149798..da0e52b 100644 --- a/tests/browser/features/login.feature +++ b/tests/browser/features/login.feature @@ -7,9 +7,9 @@ Scenario: Test central-domain login Given I am logged in to the primary wiki domain When I visit the central login wiki domain - Then I should be logged into the central login wiki domain also + Then I should be logged in Scenario: Test cross-domain login Given I am logged in to the primary wiki domain When I visit the alternate wiki domain - Then I should be logged into the alternate wiki domain also + Then I should be logged in diff --git a/tests/browser/features/step_definitions/login_steps.rb b/tests/browser/features/step_definitions/login_steps.rb index 50c5a9f..020ee78 100644 --- a/tests/browser/features/step_definitions/login_steps.rb +++ b/tests/browser/features/step_definitions/login_steps.rb @@ -4,21 +4,17 @@ end Given(/^I am logged in to the primary wiki domain$/) do - visit(LoginPage).login_with(ENV["MEDIAWIKI_USER"], ENV["MEDIAWIKI_PASSWORD"]) + visit(LoginPage).login_with(user, password) end When(/^I visit the central login wiki domain$/) do - @browser.goto ENV["MEDIAWIKI_CENTRALAUTH_LOGINWIKI_URL"] + visit_wiki(:login) end When(/^I visit the alternate wiki domain$/) do - @browser.goto ENV["MEDIAWIKI_CENTRALAUTH_ALTWIKI_URL"] + visit_wiki(:alternative) end -Then(/^I should be logged into (.+) also$/) do |site| - step "there should be a link to #{ENV['MEDIAWIKI_USER'].gsub('_', ' ')}" -end - -Then(/^there should be a link to (.+)$/) do |text| - expect(on(LoginPage).username_displayed_element.when_present.text).to match(text) +Then(/^I should be logged in$/) do + expect(visit(LoginPage).username_displayed_element.when_present.text).to match(user_label) end diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb index ad1413a..57f3e6b 100644 --- a/tests/browser/features/support/env.rb +++ b/tests/browser/features/support/env.rb @@ -1,4 +1,4 @@ -require "rubygems" -require "bundler/setup" +require "mediawiki_selenium" -Bundler.require(:default) +require "mediawiki_selenium/support" +require "mediawiki_selenium/step_definitions" diff --git a/tests/browser/features/support/hooks.rb b/tests/browser/features/support/hooks.rb deleted file mode 100644 index 4aa2d74..0000000 --- a/tests/browser/features/support/hooks.rb +++ /dev/null @@ -1,10 +0,0 @@ -Before do - def expect_env(name) - msg = "You must define #{name} in your environment before running CentralAuth browser tests" - expect(ENV[name]).to_not be_nil, msg - expect(ENV[name]).to_not be_empty, msg - end - - expect_env("MEDIAWIKI_CENTRALAUTH_LOGINWIKI_URL") - expect_env("MEDIAWIKI_CENTRALAUTH_ALTWIKI_URL") -end diff --git a/tests/browser/features/support/pages/special_central_auth.rb b/tests/browser/features/support/pages/special_central_auth.rb index 1e63983..e110c56 100644 --- a/tests/browser/features/support/pages/special_central_auth.rb +++ b/tests/browser/features/support/pages/special_central_auth.rb @@ -1,8 +1,7 @@ class SpecialCentralAuthPage include PageObject - include URL - page_url URL.url("Special:CentralAuth") + page_url "Special:CentralAuth" text_field(:target_field, id: "target") div(:error_box, class: "error") -- To view, visit https://gerrit.wikimedia.org/r/191635 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib8314c75f89e21fe29e0ec20412cf3ace25f522d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/CentralAuth Gerrit-Branch: master Gerrit-Owner: Dduvall <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
