GitLab steht Mittwoch, den 23. September, zwischen 10:00 und 12:00 Uhr aufgrund von Wartungsarbeiten nicht zur Verfügung.

Commit 84cb5f13 authored by Sanad Liaquat's avatar Sanad Liaquat

Porting more changes from ee

parent 6c571a67
......@@ -3,7 +3,12 @@ module QA
module Component
module Select2
def select_item(item_text)
find('ul.select2-result-sub > li', text: item_text).click
find('.select2-result-label', text: item_text).click
end
def search_and_select(item_text)
find('.select2-input').set(item_text)
select_item(item_text)
end
end
end
......
......@@ -68,6 +68,12 @@ module QA
end
end
def has_admin_area_link?(wait: Capybara.default_max_wait_time)
using_wait_time(wait) do
page.has_selector?(element_selector_css(:admin_area_link))
end
end
private
def within_top_menu
......
# frozen_string_literal: true
require 'airborne'
require 'active_support/core_ext/object/deep_dup'
require 'capybara/dsl'
module QA
module Resource
module ApiFabricator
include Airborne
include Capybara::DSL
HTTP_STATUS_OK = 200
......@@ -96,6 +94,25 @@ module QA
def transform_api_resource(api_resource)
api_resource
end
def post(url, payload)
RestClient::Request.execute(
method: :post,
url: url,
payload: payload,
verify_ssl: false)
rescue RestClient::ExceptionWithResponse => e
e.response
end
def get(url)
RestClient::Request.execute(
method: :get,
url: url,
verify_ssl: false)
rescue RestClient::ExceptionWithResponse => e
e.response
end
end
end
end
......@@ -2,6 +2,7 @@
require 'forwardable'
require 'capybara/dsl'
require 'active_support/core_ext/array/extract_options'
module QA
module Resource
......
......@@ -7,7 +7,7 @@ module QA
# creating it if it doesn't yet exist.
#
class Sandbox < Base
attr_reader :path
attr_accessor :path
attribute :id
......
......@@ -6,7 +6,8 @@ module QA
module Resource
class User < Base
attr_reader :unique_id
attr_writer :username, :password
attr_writer :username, :password, :name, :email
attr_accessor :provider, :extern_uid
def initialize
@unique_id = SecureRandom.hex(8)
......@@ -73,7 +74,7 @@ module QA
username: username,
name: name,
skip_confirmation: true
}
}.merge(ldap_post_body)
end
def self.fabricate_or_use(username, password)
......@@ -89,6 +90,15 @@ module QA
private
def ldap_post_body
return {} unless extern_uid && provider
{
extern_uid: extern_uid,
provider: provider
}
end
def fetch_id(username)
users = parse_body(api_get_from("/users?username=#{username}"))
......
......@@ -5,7 +5,7 @@ module QA
module Env
extend self
attr_writer :personal_access_token
attr_writer :personal_access_token, :ldap_username, :ldap_password
# The environment variables used to indicate if the environment under test
# supports the given feature
......@@ -92,11 +92,11 @@ module QA
end
def ldap_username
ENV['GITLAB_LDAP_USERNAME']
@ldap_username ||= ENV['GITLAB_LDAP_USERNAME']
end
def ldap_password
ENV['GITLAB_LDAP_PASSWORD']
@ldap_password ||= ENV['GITLAB_LDAP_PASSWORD']
end
def sandbox_name
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment