Sha256: a99810bcc323b2bf81fc8f2fb4aae3e5e5ad6a544e7c05abf1c01a32c2b8f24d

Contents?: true

Size: 960 Bytes

Versions: 13

Compression:

Stored size: 960 Bytes

Contents

require 'uri'

module MediawikiSelenium
  # Expepiates logging in to wikis by authenticating with the MW API and
  # transfering the returned cookie to the current browser.
  #
  module LoginHelper
    # Authenticate with the current wiki's API and save the resulting cookie
    # in the current browser.
    #
    # @param cookies [Hash] Extra cookies to set.
    #
    def log_in(cookies = {})
      visit_wiki do |url|
        uri = URI.parse(url)

        options = {}
        options[:domain] = uri.host unless ['localhost', '127.0.0.1'].include?(uri.host)

        api.cookies.each do |cookie|
          browser.cookies.add cookie.name, cookie.value, options.merge({
            secure: cookie.secure,
            path: cookie.path,
            expires: cookie.expires
          })
        end

        cookies.each do |name, value|
          browser.cookies.add name.to_s, value, options
        end

        browser.refresh
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mediawiki_selenium-1.8.1 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.8.0 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.7.4 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.7.3 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.7.2 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.7.1 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.7.0 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.6.5 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.6.4 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.6.3 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.6.2 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.6.1 lib/mediawiki_selenium/helpers/login_helper.rb
mediawiki_selenium-1.6.0 lib/mediawiki_selenium/helpers/login_helper.rb