jenkins-bot has submitted this change and it was merged. Change subject: Browsertests: make config variables environment variables ......................................................................
Browsertests: make config variables environment variables Currently some configuration needs to be set in config.yml while other configuration is done by setting environment variables. This change makes it possible to fully specify your configuration by either using environment variables or a config.yml. Note that if an environment variable is set, the configuration is taken from there while when it is not set, it will be taken from config.yml. Change-Id: I05a52308bc3908804eedcc4d4f861613272a6467 --- M tests/browser/config/config.yml.sample M tests/browser/config/config_ci.yml D tests/browser/config/config_wdjenkins.yml M tests/browser/features/step_definitions/non_existing_item_steps.rb M tests/browser/features/support/env.rb M tests/browser/features/support/modules/url_module.rb M tests/browser/features/support/modules/wikibase_api_module.rb M tests/browser/features/support/pages/create_item_page.rb M tests/browser/features/support/pages/non_existing_item_page.rb M tests/browser/features/support/pages/repo_login_page.rb 10 files changed, 50 insertions(+), 46 deletions(-) Approvals: Tobias Gritschacher: Looks good to me, approved WikidataJenkins: Verified jenkins-bot: Verified diff --git a/tests/browser/config/config.yml.sample b/tests/browser/config/config.yml.sample index 738743e..afaff3d 100644 --- a/tests/browser/config/config.yml.sample +++ b/tests/browser/config/config.yml.sample @@ -1,16 +1,36 @@ - #WIKIDATA_REPO_URL: "http://localhost/mediawiki/index.php/" - WIKIDATA_REPO_URL: "http://wikidata.beta.wmflabs.org/wiki/" - #WIKIDATA_REPO_URL: "http://wikidata-test-repo.wikimedia.de/wiki/" +# Copy this file to config.yml on your local system and set the values to your needs. +# You can always set all of the below variables in your local environment by doing +# set <VARIABLE>=<VALUE> (on Windows) or +# export <VARIABLE>=<VALUE> (on Unix) +# The environment variable will then be used instead of the values in here. - #WIKIDATA_REPO_API: "http://localhost/mediawiki/api.php/" - WIKIDATA_REPO_API: "http://wikidata.beta.wmflabs.org/w/api.php" - #WIKIDATA_REPO_URL: "http://wikidata-test-repo.wikimedia.de/w/api.php" +# beta instance configuration +WIKIDATA_REPO_URL: "http://wikidata.beta.wmflabs.org/wiki/" +WIKIDATA_REPO_API: "http://wikidata.beta.wmflabs.org/w/api.php" +WB_REPO_USERNAME: "WikidataUser" +WB_REPO_PASSWORD: "WikidataPassword" - # the namespace of the data items (e.g. "Data:" or "" for main namespace) - ITEM_NAMESPACE: "" - PROPERTY_NAMESPACE: "Property:" - ITEM_ID_PREFIX: "Q" - PROPERTY_ID_PREFIX: "P" - LANGUAGE: "en" - LANGUAGE_CODE: "en" - LANGUAGE_NAME: "English" +# local configuration +#WIKIDATA_REPO_API: "http://localhost/mediawiki/api.php/" +#WIKIDATA_REPO_URL: "http://localhost/mediawiki/index.php/" +#WB_REPO_USERNAME: "LocalUser" +#WB_REPO_PASSWORD: "LocalPassword" + +# the namespace of the data items (e.g. "Data:" or "" for main namespace) +ITEM_NAMESPACE: "" +PROPERTY_NAMESPACE: "Property:" +ITEM_ID_PREFIX: "Q" +PROPERTY_ID_PREFIX: "P" +LANGUAGE: "en" +LANGUAGE_CODE: "en" +LANGUAGE_NAME: "English" + +# local browser configuration +BROWSER: "firefox" + +# sauce browser configuration +#SAUCE_ONDEMAND_USERNAME: "SaucelabsUser" +#SAUCE_ONDEMAND_ACCESS_KEY: "SaucelabsKey" +#BROWSER: "firefox" +#VERSION: "25" +#PLATFORM: "Linux" diff --git a/tests/browser/config/config_ci.yml b/tests/browser/config/config_ci.yml index 42f7722..4829315 100644 --- a/tests/browser/config/config_ci.yml +++ b/tests/browser/config/config_ci.yml @@ -6,4 +6,7 @@ PROPERTY_ID_PREFIX: "P" LANGUAGE: "en" LANGUAGE_CODE: "en" -LANGUAGE_NAME: "English" \ No newline at end of file +LANGUAGE_NAME: "English" +BROWSER: "firefox" +VERSION: "25" +PLATFORM: "Linux" \ No newline at end of file diff --git a/tests/browser/config/config_wdjenkins.yml b/tests/browser/config/config_wdjenkins.yml deleted file mode 100644 index cf73854..0000000 --- a/tests/browser/config/config_wdjenkins.yml +++ /dev/null @@ -1,9 +0,0 @@ -WIKIDATA_REPO_URL: "http://deployment-cache-text1/wiki/" -WIKIDATA_REPO_API: "http://deployment-cache-text1/w/api.php" -ITEM_NAMESPACE: "" -PROPERTY_NAMESPACE: "Property:" -ITEM_ID_PREFIX: "Q" -PROPERTY_ID_PREFIX: "P" -LANGUAGE: "en" -LANGUAGE_CODE: "en" -LANGUAGE_NAME: "English" \ No newline at end of file diff --git a/tests/browser/features/step_definitions/non_existing_item_steps.rb b/tests/browser/features/step_definitions/non_existing_item_steps.rb index ebc8c6e..f5bbdc5 100644 --- a/tests/browser/features/step_definitions/non_existing_item_steps.rb +++ b/tests/browser/features/step_definitions/non_existing_item_steps.rb @@ -12,6 +12,6 @@ Then(/^check if this page behaves correctly$/) do on_page(NonExistingItemPage) do |page| page.first_heading.should be_true - page.first_heading_element.text.should == ITEM_NAMESPACE + ITEM_ID_PREFIX + "xy" + page.first_heading_element.text.should == ENV["ITEM_NAMESPACE"] + ENV["ITEM_ID_PREFIX"] + "xy" end end diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb index 9519320..839e664 100644 --- a/tests/browser/features/support/env.rb +++ b/tests/browser/features/support/env.rb @@ -17,7 +17,9 @@ config = YAML.load_file("config/config.yml") config.each do |k, v| - eval("#{k} = '#{v}'") + if !ENV["#{k}"] + ENV["#{k}"] = "#{v}" + end end require_all "features/support/modules" diff --git a/tests/browser/features/support/modules/url_module.rb b/tests/browser/features/support/modules/url_module.rb index c47a1d2..f491505 100644 --- a/tests/browser/features/support/modules/url_module.rb +++ b/tests/browser/features/support/modules/url_module.rb @@ -10,29 +10,17 @@ module URL def self.client_url(name) - if ENV["WIKIDATA_CLIENT_URL"] - url = ENV["WIKIDATA_CLIENT_URL"] - else - url = WIKIDATA_CLIENT_URL - end + url = ENV["WIKIDATA_CLIENT_URL"] "#{url}#{name}" end def self.repo_url(name) - if ENV["WIKIDATA_REPO_URL"] - url = ENV["WIKIDATA_REPO_URL"] - else - url = WIKIDATA_REPO_URL - end + url = ENV["WIKIDATA_REPO_URL"] "#{url}#{name}" end def self.repo_api() - if ENV["WIKIDATA_REPO_URL"] - url = ENV["WIKIDATA_REPO_API"] - else - url = WIKIDATA_REPO_API - end + url = ENV["WIKIDATA_REPO_API"] "#{url}" end end diff --git a/tests/browser/features/support/modules/wikibase_api_module.rb b/tests/browser/features/support/modules/wikibase_api_module.rb index 25112a0..959c366 100644 --- a/tests/browser/features/support/modules/wikibase_api_module.rb +++ b/tests/browser/features/support/modules/wikibase_api_module.rb @@ -40,7 +40,7 @@ check_wb_api_success(resp) id = resp["entity"]["id"] - url = URL.repo_url(ITEM_NAMESPACE + id + "?setlang=" + LANGUAGE_CODE) + url = URL.repo_url(ENV["ITEM_NAMESPACE"] + id + "?setlang=" + ENV["LANGUAGE_CODE"]) entity_data = ActiveSupport::JSON.decode(data) {"id" => id, "url" => url, "label" => entity_data["labels"]["en"]["value"], diff --git a/tests/browser/features/support/pages/create_item_page.rb b/tests/browser/features/support/pages/create_item_page.rb index 3c5a6f4..b68bd2a 100644 --- a/tests/browser/features/support/pages/create_item_page.rb +++ b/tests/browser/features/support/pages/create_item_page.rb @@ -15,14 +15,14 @@ def create_new_item(label, description, switch_lang = true) if switch_lang - self.uls_switch_language(LANGUAGE_CODE, LANGUAGE_NAME) + self.uls_switch_language(ENV["LANGUAGE_CODE"], ENV["LANGUAGE_NAME"]) end self.create_entity_label_field = label self.create_entity_description_field = description create_entity_submit wait_for_entity_to_load @@item_url = current_url - query_string = "/" + ITEM_NAMESPACE + ITEM_ID_PREFIX + query_string = "/" + ENV["ITEM_NAMESPACE"] + ENV["ITEM_ID_PREFIX"] @@item_id = @@item_url[@@item_url.index(query_string)+query_string.length..-1] return @@item_id end diff --git a/tests/browser/features/support/pages/non_existing_item_page.rb b/tests/browser/features/support/pages/non_existing_item_page.rb index 6caae7a..f0f5871 100644 --- a/tests/browser/features/support/pages/non_existing_item_page.rb +++ b/tests/browser/features/support/pages/non_existing_item_page.rb @@ -8,7 +8,7 @@ class NonExistingItemPage include PageObject - page_url WIKIDATA_REPO_URL + ITEM_NAMESPACE + ITEM_ID_PREFIX + "xy" + page_url ENV["WIKIDATA_REPO_URL"] + ENV["ITEM_NAMESPACE"] + ENV["ITEM_ID_PREFIX"] + "xy" span(:first_heading, :xpath => "//h1[@id='firstHeading']/span") link(:special_log_link, :css => "div#mw-content-text > div > p > span > a:nth-child(1)") diff --git a/tests/browser/features/support/pages/repo_login_page.rb b/tests/browser/features/support/pages/repo_login_page.rb index 478f679..cc300c3 100644 --- a/tests/browser/features/support/pages/repo_login_page.rb +++ b/tests/browser/features/support/pages/repo_login_page.rb @@ -9,6 +9,6 @@ class RepoLoginPage < LoginPage include PageObject - page_url "#{WIKIDATA_REPO_URL}Special:UserLogin" + page_url URL.repo_url("Special:UserLogin") end -- To view, visit https://gerrit.wikimedia.org/r/114492 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I05a52308bc3908804eedcc4d4f861613272a6467 Gerrit-PatchSet: 4 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: Adrian Lang <adrian.l...@wikimedia.de> Gerrit-Reviewer: Cmcmahon <cmcma...@wikimedia.org> Gerrit-Reviewer: Henning Snater <henning.sna...@wikimedia.de> Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: WikidataJenkins <wikidata-servi...@wikimedia.de> Gerrit-Reviewer: Zfilipin <zfili...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits