diff options
author | Stan Hu <stanhu@gmail.com> | 2019-08-23 23:41:47 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-08-26 22:07:13 -0700 |
commit | 9f219873a1677d17275e08b9ca7328f976c84fa9 (patch) | |
tree | 6d52a0f72dfb8d2c08af438c9ff6e056d08c0ba2 /qa/qa/runtime | |
parent | 8b47dfae2e82cfa48d6fa6dee6ddb7a00fc3f456 (diff) | |
download | gitlab-ce-9f219873a1677d17275e08b9ca7328f976c84fa9.tar.gz |
Add QA specs for using IP rate limitssh-rate-limits-qa
This will help prevent issues such as
https://gitlab.com/gitlab-org/gitlab-ce/issues/66449.
Diffstat (limited to 'qa/qa/runtime')
-rw-r--r-- | qa/qa/runtime/api/client.rb | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/qa/qa/runtime/api/client.rb b/qa/qa/runtime/api/client.rb index 663be27a849..25d8f3c0fbb 100644 --- a/qa/qa/runtime/api/client.rb +++ b/qa/qa/runtime/api/client.rb @@ -8,11 +8,12 @@ module QA class Client attr_reader :address, :user - def initialize(address = :gitlab, personal_access_token: nil, is_new_session: true, user: nil) + def initialize(address = :gitlab, personal_access_token: nil, is_new_session: true, user: nil, ip_limits: false) @address = address @personal_access_token = personal_access_token @is_new_session = is_new_session @user = user + enable_ip_limits if ip_limits end def personal_access_token @@ -26,6 +27,24 @@ module QA private + def enable_ip_limits + Page::Main::Menu.perform(&:sign_out) if Page::Main::Menu.perform { |p| p.has_personal_area?(wait: 0) } + + Runtime::Browser.visit(@address, Page::Main::Login) + Page::Main::Login.perform(&:sign_in_using_admin_credentials) + Page::Main::Menu.perform(&:click_admin_area) + Page::Admin::Menu.perform(&:go_to_network_settings) + + Page::Admin::Settings::Network.perform do |setting| + setting.expand_ip_limits do |page| + page.enable_throttles + page.save_settings + end + end + + Page::Main::Menu.perform(&:sign_out) + end + def create_personal_access_token Page::Main::Menu.perform(&:sign_out) if @is_new_session && Page::Main::Menu.perform { |p| p.has_personal_area?(wait: 0) } |