Skip to content
Snippets Groups Projects
Commit 89861e72 authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@master

parent 98dbb0a4
No related branches found
No related tags found
No related merge requests found
Showing
with 184 additions and 38 deletions
Loading
Loading
@@ -16,7 +16,7 @@ All Geo nodes have the following settings:
| Setting | Description |
| --------| ----------- |
| Primary | This marks a Geo Node as **primary** node. There can be only one **primary** node; make sure that you first add the **primary** node and then all the others. |
| Name | The unique identifier for the Geo node. Must match the setting `gitlab_rails[geo_node_name]` in `/etc/gitlab/gitlab.rb`. The setting defaults to `external_url` with a trailing slash. |
| Name | The unique identifier for the Geo node. Must match the setting `gitlab_rails['geo_node_name']` in `/etc/gitlab/gitlab.rb`. The setting defaults to `external_url` with a trailing slash. |
| URL | The instance's user-facing URL. |
 
The node you're reading from is indicated with a green `Current node` label, and
Loading
Loading
@@ -71,7 +71,7 @@ terminated at the load balancer.
 
In GitLab 11.11, **secondary** nodes can use identical external URLs as long as
a unique `name` is set for each Geo node. The `gitlab.rb` setting
`gitlab_rails[geo_node_name]` must:
`gitlab_rails['geo_node_name']` must:
 
- Be set for each GitLab instance that runs `unicorn`, `sidekiq`, or `geo_logcursor`.
- Match a Geo node name.
Loading
Loading
---
table_display_block: true
---
# SAST Analyzers **(ULTIMATE)**
 
SAST relies on underlying third party tools that are wrapped into what we call
Loading
Loading
Loading
Loading
@@ -180,13 +180,17 @@ and the following environment variables:
| Setting | GitLab.com | Default |
|-------- |----------- |-------- |
| `SIDEKIQ_DAEMON_MEMORY_KILLER` | - | - |
| `SIDEKIQ_MEMORY_KILLER_MAX_RSS` | `16000000` | `2000000` |
| `SIDEKIQ_MEMORY_KILLER_MAX_RSS` | `2000000` | `2000000` |
| `SIDEKIQ_MEMORY_KILLER_HARD_LIMIT_RSS` | - | - |
| `SIDEKIQ_MEMORY_KILLER_CHECK_INTERVAL` | - | `3` |
| `SIDEKIQ_MEMORY_KILLER_GRACE_TIME` | - | `900` |
| `SIDEKIQ_MEMORY_KILLER_SHUTDOWN_WAIT` | - | `30` |
| `SIDEKIQ_LOG_ARGUMENTS` | `1` | - |
 
NOTE: **Note:**
The `SIDEKIQ_MEMORY_KILLER_MAX_RSS` setting is `16000000` on Sidekiq import
nodes and Sidekiq export nodes.
## Cron jobs
 
Periodically executed jobs by Sidekiq, to self-heal GitLab, do external
Loading
Loading
Loading
Loading
@@ -89,7 +89,7 @@ module Gitlab
end
 
CATEGORY_LABELS = {
docs: "~Documentation", # Docs are reviewed along DevOps stages, so don't need roulette for now.
docs: "~documentation", # Docs are reviewed along DevOps stages, so don't need roulette for now.
none: "",
qa: "~QA",
test: "~test for `spec/features/*`",
Loading
Loading
Loading
Loading
@@ -290,6 +290,8 @@ module QA
autoload :Menu, 'qa/page/profile/menu'
autoload :PersonalAccessTokens, 'qa/page/profile/personal_access_tokens'
autoload :SSHKeys, 'qa/page/profile/ssh_keys'
autoload :Emails, 'qa/page/profile/emails'
autoload :Password, 'qa/page/profile/password'
autoload :TwoFactorAuth, 'qa/page/profile/two_factor_auth'
end
 
Loading
Loading
@@ -332,6 +334,13 @@ module QA
autoload :PerformanceBar, 'qa/page/admin/settings/component/performance_bar'
end
end
module Overview
module Users
autoload :Index, 'qa/page/admin/overview/users/index'
autoload :Show, 'qa/page/admin/overview/users/show'
end
end
end
 
module Mattermost
Loading
Loading
Loading
Loading
@@ -6,12 +6,16 @@ module QA
class Menu < Page::Base
view 'app/views/layouts/nav/sidebar/_admin.html.haml' do
element :admin_sidebar
element :admin_sidebar_submenu
element :admin_sidebar_settings_submenu
element :admin_settings_item
element :admin_settings_repository_item
element :admin_settings_general_item
element :admin_settings_metrics_and_profiling_item
element :admin_settings_preferences_link
element :admin_monitoring_link
element :admin_sidebar_monitoring_submenu_content
element :admin_sidebar_overview_submenu_content
element :users_overview_link
end
 
view 'app/views/layouts/nav/sidebar/_admin.html.haml' do
Loading
Loading
@@ -19,59 +23,65 @@ module QA
end
 
def go_to_preferences_settings
hover_settings do
within_submenu do
hover_element(:admin_settings_item) do
within_submenu(:admin_sidebar_settings_submenu) do
click_element :admin_settings_preferences_link
end
end
end
 
def go_to_repository_settings
hover_settings do
within_submenu do
hover_element(:admin_settings_item) do
within_submenu(:admin_sidebar_settings_submenu) do
click_element :admin_settings_repository_item
end
end
end
 
def go_to_integration_settings
hover_settings do
within_submenu do
hover_element(:admin_settings_item) do
within_submenu(:admin_sidebar_settings_submenu) do
click_element :integration_settings_link
end
end
end
 
def go_to_general_settings
hover_settings do
within_submenu do
hover_element(:admin_settings_item) do
within_submenu(:admin_sidebar_settings_submenu) do
click_element :admin_settings_general_item
end
end
end
 
def go_to_metrics_and_profiling_settings
hover_settings do
within_submenu do
hover_element(:admin_settings_item) do
within_submenu(:admin_sidebar_settings_submenu) do
click_element :admin_settings_metrics_and_profiling_item
end
end
end
 
def go_to_network_settings
hover_settings do
within_submenu do
hover_element(:admin_settings_item) do
within_submenu(:admin_sidebar_settings_submenu) do
click_element :admin_settings_network_item
end
end
end
 
def go_to_users_overview
within_submenu(:admin_sidebar_overview_submenu_content) do
click_element :users_overview_link
end
end
private
 
def hover_settings
def hover_element(element)
within_sidebar do
scroll_to_element(:admin_settings_item)
find_element(:admin_settings_item).hover
scroll_to_element(element)
find_element(element).hover
 
yield
end
Loading
Loading
@@ -83,8 +93,8 @@ module QA
end
end
 
def within_submenu
within_element(:admin_sidebar_submenu) do
def within_submenu(element)
within_element(element) do
yield
end
end
Loading
Loading
# frozen_string_literal: true
module QA
module Page
module Admin
module Overview
module Users
class Index < QA::Page::Base
view 'app/views/admin/users/index.html.haml' do
element :user_search_field
end
view 'app/views/admin/users/_user.html.haml' do
element :user_row_content
end
view 'app/views/admin/users/_user_detail.html.haml' do
element :username_link
end
def search_user(username)
find_element(:user_search_field).set(username).send_keys(:return)
end
def click_user(username)
within_element(:user_row_content, text: username) do
click_element(:username_link)
end
end
end
end
end
end
end
end
# frozen_string_literal: true
module QA
module Page
module Admin
module Overview
module Users
class Show < QA::Page::Base
view 'app/views/admin/users/_head.html.haml' do
element :impersonate_user_link
end
def click_impersonate_user
click_element(:impersonate_user_link)
end
end
end
end
end
end
end
Loading
Loading
@@ -42,7 +42,7 @@ module QA
element :login_page, required: true
end
 
def sign_in_using_credentials(user = nil)
def sign_in_using_credentials(user: nil, skip_page_validation: false)
# Don't try to log-in if we're already logged-in
return if Page::Main::Menu.perform(&:signed_in?)
 
Loading
Loading
@@ -52,9 +52,9 @@ module QA
raise NotImplementedError if Runtime::User.ldap_user? && user&.credentials_given?
 
if Runtime::User.ldap_user?
sign_in_using_ldap_credentials(user || Runtime::User)
sign_in_using_ldap_credentials(user: user || Runtime::User)
else
sign_in_using_gitlab_credentials(user || Runtime::User)
sign_in_using_gitlab_credentials(user: user || Runtime::User, skip_page_validation: skip_page_validation)
end
end
end
Loading
Loading
@@ -68,13 +68,13 @@ module QA
using_wait_time 0 do
set_initial_password_if_present
 
sign_in_using_gitlab_credentials(admin)
sign_in_using_gitlab_credentials(user: admin)
end
 
Page::Main::Menu.perform(&:has_personal_area?)
end
 
def sign_in_using_ldap_credentials(user)
def sign_in_using_ldap_credentials(user:)
Page::Main::Menu.perform(&:sign_out_if_signed_in)
 
using_wait_time 0 do
Loading
Loading
@@ -148,18 +148,18 @@ module QA
def sign_out_and_sign_in_as(user:)
Menu.perform(&:sign_out_if_signed_in)
has_sign_in_tab?
sign_in_using_credentials(user)
sign_in_using_credentials(user: user)
end
 
private
 
def sign_in_using_gitlab_credentials(user)
def sign_in_using_gitlab_credentials(user:, skip_page_validation: false)
switch_to_sign_in_tab if has_sign_in_tab?
switch_to_standard_tab if has_standard_tab?
 
fill_element :login_field, user.username
fill_element :password_field, user.password
click_element :sign_in_button, Page::Main::Menu
click_element :sign_in_button, !skip_page_validation && Page::Main::Menu
end
 
def set_initial_password_if_present
Loading
Loading
Loading
Loading
@@ -13,6 +13,7 @@ module QA
element :navbar, required: true
element :user_avatar, required: true
element :user_menu, required: true
element :stop_impersonation_link
end
 
view 'app/views/layouts/nav/_dashboard.html.haml' do
Loading
Loading
@@ -95,6 +96,10 @@ module QA
has_element?(:admin_area_link, wait: wait)
end
 
def click_stop_impersonation_link
click_element(:stop_impersonation_link)
end
private
 
def within_top_menu
Loading
Loading
# frozen_string_literal: true
module QA
module Page
module Profile
class Emails < Page::Base
view 'app/views/profiles/emails/index.html.haml' do
element :email_address_field
element :add_email_address_button
element :email_row_content
element :delete_email_link
end
def add_email_address(email_address)
find_element(:email_address_field).set email_address
click_element(:add_email_address_button)
end
def delete_email_address(email_address)
page.accept_alert do
within_element(:email_row_content, text: email_address) do
click_element(:delete_email_link)
end
end
end
end
end
end
end
Loading
Loading
@@ -9,6 +9,8 @@ module QA
element :access_token_title, 'Access Tokens' # rubocop:disable QA/ElementWithPattern
element :top_level_items, '.sidebar-top-level-items' # rubocop:disable QA/ElementWithPattern
element :ssh_keys, 'SSH Keys' # rubocop:disable QA/ElementWithPattern
element :profile_emails_link
element :profile_password_link
end
 
def click_access_tokens
Loading
Loading
@@ -23,6 +25,18 @@ module QA
end
end
 
def click_emails
within_sidebar do
click_element(:profile_emails_link)
end
end
def click_password
within_sidebar do
click_element(:profile_password_link)
end
end
private
 
def within_sidebar
Loading
Loading
# frozen_string_literal: true
module QA
module Page
module Profile
class Password < Page::Base
view 'app/views/profiles/passwords/edit.html.haml' do
element :current_password_field
element :new_password_field
element :confirm_password_field
element :save_password_button
end
def update_password(new_password, current_password)
find_element(:current_password_field).set current_password
find_element(:new_password_field).set new_password
find_element(:confirm_password_field).set new_password
click_element(:save_password_button)
end
end
end
end
end
Loading
Loading
@@ -30,7 +30,7 @@ module QA
Page::Main::Menu.perform(&:sign_out)
Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.perform do |login|
login.sign_in_using_credentials(user)
login.sign_in_using_credentials(user: user)
end
 
upstream.project.visit!
Loading
Loading
Loading
Loading
@@ -53,7 +53,7 @@ module QA
 
if credentials_given?
Page::Main::Login.perform do |login|
login.sign_in_using_credentials(self)
login.sign_in_using_credentials(user: self)
end
else
Page::Main::Login.perform do |login|
Loading
Loading
Loading
Loading
@@ -50,7 +50,7 @@ module QA
 
unless Page::Main::Menu.perform { |p| p.has_personal_area?(wait: 0) }
Runtime::Browser.visit(@address, Page::Main::Login)
Page::Main::Login.perform { |login| login.sign_in_using_credentials(@user) }
Page::Main::Login.perform { |login| login.sign_in_using_credentials(user: @user) }
end
 
token = Resource::PersonalAccessToken.fabricate!.access_token
Loading
Loading
Loading
Loading
@@ -273,7 +273,7 @@ describe Gitlab::Danger::Helper do
where(:category, :expected_label) do
:backend | '~backend'
:database | '~database'
:docs | '~Documentation'
:docs | '~documentation'
:foo | '~foo'
:frontend | '~frontend'
:none | ''
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment