Manybubbles has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/160988

Change subject: [tests] Fix some bugs with page creation
......................................................................

[tests] Fix some bugs with page creation

1.  Unicode problem made it so all non-ascii pages were considered different
on every run.
2.  We reuse the api client now which speeds up the calls slightly.  Its
simpler to read too.

Change-Id: Ie44d89540a81ee9c1dd3b8ea7beeacb3a3d6c6c8
---
M tests/browser/Gemfile.lock
M tests/browser/features/incategory.feature
M tests/browser/features/step_definitions/page_steps.rb
M tests/browser/features/support/env.rb
4 files changed, 24 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch 
refs/changes/88/160988/1

diff --git a/tests/browser/Gemfile.lock b/tests/browser/Gemfile.lock
index 4f4ea5e..11a2e90 100644
--- a/tests/browser/Gemfile.lock
+++ b/tests/browser/Gemfile.lock
@@ -2,10 +2,12 @@
   remote: https://rubygems.org/
   specs:
     ast (2.0.0)
+    astrolabe (1.3.0)
+      parser (>= 2.2.0.pre.3, < 3.0)
     builder (3.2.2)
     childprocess (0.5.3)
       ffi (~> 1.0, >= 1.0.11)
-    cucumber (1.3.16)
+    cucumber (1.3.17)
       builder (>= 2.1.2)
       diff-lcs (>= 1.1.3)
       gherkin (~> 2.12)
@@ -15,7 +17,7 @@
       faker (>= 1.1.2)
       yml_reader (>= 0.3)
     diff-lcs (1.2.5)
-    domain_name (0.5.20)
+    domain_name (0.5.21)
       unf (>= 0.0.5, < 1.0.0)
     faker (1.4.3)
       i18n (~> 0.5)
@@ -54,8 +56,8 @@
       watir-webdriver (>= 0.6.9)
     page_navigation (0.9)
       data_magic (>= 0.14)
-    parallel (1.2.4)
-    parallel_tests (1.0.6)
+    parallel (1.3.2)
+    parallel_tests (1.0.7)
       parallel
     parser (2.2.0.pre.4)
       ast (>= 1.1, < 3.0)
@@ -67,18 +69,19 @@
       netrc (~> 0.7)
     rspec-expectations (2.99.2)
       diff-lcs (>= 1.1.3, < 2.0)
-    rubocop (0.25.0)
+    rubocop (0.26.0)
+      astrolabe (~> 1.3)
       parser (>= 2.2.0.pre.4, < 3.0)
       powerpack (~> 0.0.6)
       rainbow (>= 1.99.1, < 3.0)
       ruby-progressbar (~> 1.4)
     ruby-progressbar (1.5.1)
     rubyzip (1.1.6)
-    selenium-webdriver (2.42.0)
-      childprocess (>= 0.5.0)
+    selenium-webdriver (2.43.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)
     unf (0.1.4)
@@ -86,7 +89,7 @@
     unf_ext (0.0.6)
     watir-webdriver (0.6.10)
       selenium-webdriver (>= 2.18.0)
-    websocket (1.0.7)
+    websocket (1.2.1)
     yml_reader (0.3)
 
 PLATFORMS
diff --git a/tests/browser/features/incategory.feature 
b/tests/browser/features/incategory.feature
index dd47f2a..2c911f0 100644
--- a/tests/browser/features/incategory.feature
+++ b/tests/browser/features/incategory.feature
@@ -7,7 +7,7 @@
     When I search for incategory:weaponry
     Then Catapult is in the search results
       And Amazing Catapult is in the search results
-    But Two Words is not in the search results
+      But Two Words is not in the search results
       And there is no link to create a new page from the search result
 
   Scenario: incategory: can be combined with other text
diff --git a/tests/browser/features/step_definitions/page_steps.rb 
b/tests/browser/features/step_definitions/page_steps.rb
index 5f54456..a546815 100644
--- a/tests/browser/features/step_definitions/page_steps.rb
+++ b/tests/browser/features/step_definitions/page_steps.rb
@@ -72,26 +72,22 @@
 
 def edit_page(title, text, add)
   text = File.read("articles/" + text[1..-1]) if text.start_with?("@")
-  require "mediawiki_api"
   fetched_text = get_page_text(title)
   # Note that the space keeps words from smashing together
   text = fetched_text + " " + text if add
   return if fetched_text.strip == text.strip
-  client = MediawikiApi::Client.new("#{ENV["MEDIAWIKI_URL"]}../w/api.php", 
false)
-  client.log_in(ENV["MEDIAWIKI_USER"], ENV["MEDIAWIKI_PASSWORD"])
-  result = client.create_page(title, text)
+  api.log_in(ENV["MEDIAWIKI_USER"], ENV["MEDIAWIKI_PASSWORD"]) unless 
api.logged_in?
+  result = api.create_page(title, text)
   expect(result.status).to eq 200
   expect(result.warnings?).to eq false
 end
 
 # Gets page text using the api.
 def get_page_text(title)
-  require "mediawiki_api"
-  client = MediawikiApi::Client.new("#{ENV["MEDIAWIKI_URL"]}../w/api.php", 
false)
-  fetched_text = client.get_wikitext(title)
+  fetched_text = api.get_wikitext(title)
   return "" if fetched_text.status == 404
   fetched_text.status.should eq 200
-  fetched_text.body.strip
+  fetched_text.body.strip.force_encoding("utf-8")
 end
 
 # Uploads a file if the file's MD5 doesn't match what is already uploaded.
diff --git a/tests/browser/features/support/env.rb 
b/tests/browser/features/support/env.rb
index 8ac08ea..349b3a8 100644
--- a/tests/browser/features/support/env.rb
+++ b/tests/browser/features/support/env.rb
@@ -1 +1,8 @@
 require "mediawiki_selenium"
+
+# Fetch the api
+def api
+  require "mediawiki_api"
+  @client = MediawikiApi::Client.new("#{ENV["MEDIAWIKI_URL"]}../w/api.php", 
false) unless @client
+  @client
+end

-- 
To view, visit https://gerrit.wikimedia.org/r/160988
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie44d89540a81ee9c1dd3b8ea7beeacb3a3d6c6c8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: Manybubbles <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to