jenkins-bot has submitted this change and it was merged. Change subject: Support links to Sauce jobs in Raita logging ......................................................................
Support links to Sauce jobs in Raita logging Also fixed indexing to include a consistent routing between Elasticsearch documents. This is important when dealing with parent-child-grandchild relationships that will require complex queries and filtering. Change-Id: Ia4b7e91b2fb6dae9373cb15581eea8bc5cf97bab --- M lib/mediawiki_selenium/raita/formatter.rb M lib/mediawiki_selenium/raita/logger.rb M lib/mediawiki_selenium/support/hooks.rb 3 files changed, 22 insertions(+), 8 deletions(-) Approvals: Zfilipin: Looks good to me, approved jenkins-bot: Verified diff --git a/lib/mediawiki_selenium/raita/formatter.rb b/lib/mediawiki_selenium/raita/formatter.rb index 0f530e3..312b7a6 100644 --- a/lib/mediawiki_selenium/raita/formatter.rb +++ b/lib/mediawiki_selenium/raita/formatter.rb @@ -8,6 +8,14 @@ def initialize super(NullIO.new) end + + # Allows for simple embeddings without base64 encoding. + # + def embedding(mime_type, data) + return unless mime_type.start_with?('text/') + + embeddings << { 'mime_type' => mime_type, 'data' => data } + end end end end diff --git a/lib/mediawiki_selenium/raita/logger.rb b/lib/mediawiki_selenium/raita/logger.rb index b28e4b7..c5d8f15 100644 --- a/lib/mediawiki_selenium/raita/logger.rb +++ b/lib/mediawiki_selenium/raita/logger.rb @@ -13,13 +13,13 @@ # Log everything at once to Raita's Elasticsearch DB. # def after_features(*) - build_id = create('build', @build)['_id'] + @build_id = create('build', @build)['_id'] @gf.feature_hashes.each do |feature| amend_feature(feature) elements = feature.delete('elements') - feature_id = create('feature', feature, build_id)['_id'] + feature_id = create('feature', feature, @build_id)['_id'] bulk('feature-element', elements, feature_id) @build[:result][:status] = change_status( @@ -29,12 +29,12 @@ @build[:result][:duration] += feature['result']['duration'] end - update('build', build_id, @build) + update('build', @build_id, @build) end private - # Add status and duration at the feature and background/scenario level + # Add status and duration at the feature and background/scenario level. # # @param feature {Hash} # @@ -78,15 +78,15 @@ def bulk(type, objects, parent = nil) data = objects.reduce('') do |d, obj| - d << JSON.dump({ create: { _type: type, _parent: parent } }) + "\n" + d << JSON.dump({ create: { _type: type, _parent: parent, _routing: @build_id } }) + "\n" d << JSON.dump(obj) + "\n\n" end - request(Net::HTTP::Post, ['_bulk'], data, parent: parent) + request(Net::HTTP::Post, ['_bulk'], data) end def create(type, object, parent = nil) - request(Net::HTTP::Post, [type], object, parent: parent) + request(Net::HTTP::Post, [type], object, parent: parent, routing: @build_id) end def request(klass, paths, data, query = {}) @@ -94,7 +94,7 @@ uri = @db_url.clone uri.path = Pathname.new(uri.path).join(*paths.map(&:to_s)).to_s - uri.query = query.map { |pair| pair.join('=') }.join('&') + uri.query = query.map { |pair| pair.join('=') unless pair.last.nil? }.compact.join('&') data = JSON.dump(data) unless data.is_a?(String) response = db.request(klass.new(uri), data) diff --git a/lib/mediawiki_selenium/support/hooks.rb b/lib/mediawiki_selenium/support/hooks.rb index e194cdc..a36d975 100644 --- a/lib/mediawiki_selenium/support/hooks.rb +++ b/lib/mediawiki_selenium/support/hooks.rb @@ -83,6 +83,12 @@ require 'fileutils' teardown(scenario.status) do |browser| + # Embed remote session URLs + if remote? && browser.driver.respond_to?(:session_id) + embed("http://saucelabs.com/jobs/#{browser.driver.session_id}", 'text/url') + end + + # Take screenshots if scenario.failed? && lookup(:screenshot_failures, default: false) == 'true' screen_dir = lookup(:screenshot_failures_path, default: 'screenshots') FileUtils.mkdir_p screen_dir -- To view, visit https://gerrit.wikimedia.org/r/214274 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ia4b7e91b2fb6dae9373cb15581eea8bc5cf97bab Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/selenium Gerrit-Branch: master Gerrit-Owner: Dduvall <dduv...@wikimedia.org> Gerrit-Reviewer: Hashar <has...@free.fr> 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