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

Reply via email to