summaryrefslogtreecommitdiff
path: root/qa/qa/specs
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-02 00:08:11 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-02 00:08:11 +0000
commit93dcf45d441bc884b167f4338380c8c888e9b86f (patch)
treef55e8c1d39013380d1ff7d2a4e3cca537a35192a /qa/qa/specs
parent0e68afab211a172b862a7acc774e1eda5da8e471 (diff)
downloadgitlab-ce-93dcf45d441bc884b167f4338380c8c888e9b86f.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa/qa/specs')
-rw-r--r--qa/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb3
-rw-r--r--qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb97
2 files changed, 98 insertions, 2 deletions
diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb
index ec00091b3ce..e3d5b755317 100644
--- a/qa/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb
+++ b/qa/qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb
@@ -1,8 +1,7 @@
# frozen_string_literal: true
module QA
- # Git protocol v2 is temporarily disabled
- context 'Create', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/issues/27828', type: :bug } do
+ context 'Create' do
describe 'Push over SSH using Git protocol version 2', :requires_git_protocol_v2 do
# Note: If you run this test against GDK make sure you've enabled sshd and
# enabled setting the Git protocol by adding `AcceptEnv GIT_PROTOCOL` to
diff --git a/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb b/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb
new file mode 100644
index 00000000000..f7463c69db1
--- /dev/null
+++ b/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb
@@ -0,0 +1,97 @@
+# frozen_string_literal: true
+
+module QA
+ context 'Monitor' do
+ describe 'Dashboards', :orchestrated, :kubernetes, quarantine: { type: :new } do
+ before(:all) do
+ @cluster = Service::KubernetesCluster.new.create!
+ Flow::Login.sign_in
+ create_project_to_monitor
+ wait_for_deployment
+ end
+
+ before do
+ Flow::Login.sign_in_unless_signed_in
+ @project.visit!
+ end
+
+ after(:all) do
+ @cluster&.remove!
+ end
+
+ it 'duplicates to create dashboard to custom' do
+ Page::Project::Menu.perform(&:go_to_operations_metrics)
+
+ Page::Project::Operations::Metrics::Show.perform do |dashboard|
+ dashboard.duplicate_dashboard
+
+ expect(dashboard).to have_metrics
+ expect(dashboard).to have_edit_dashboard_enabled
+ end
+ end
+
+ it 'verifies data on filtered deployed environment' do
+ Page::Project::Menu.perform(&:go_to_operations_metrics)
+
+ Page::Project::Operations::Metrics::Show.perform do |dashboard|
+ dashboard.filter_environment
+
+ expect(dashboard).to have_metrics
+ end
+ end
+
+ it 'filters using the quick range' do
+ Page::Project::Menu.perform(&:go_to_operations_metrics)
+
+ Page::Project::Operations::Metrics::Show.perform do |dashboard|
+ dashboard.show_last('30 minutes')
+ expect(dashboard).to have_metrics
+
+ dashboard.show_last('3 hours')
+ expect(dashboard).to have_metrics
+
+ dashboard.show_last('1 day')
+ expect(dashboard).to have_metrics
+ end
+ end
+
+ private
+
+ def wait_for_deployment
+ Page::Project::Menu.perform(&:click_ci_cd_pipelines)
+ Page::Project::Pipeline::Index.perform(&:wait_for_latest_pipeline_success_or_retry)
+ Page::Project::Menu.perform(&:go_to_operations_metrics)
+ end
+
+ def create_project_to_monitor
+ @project = Resource::Project.fabricate_via_api! do |project|
+ project.name = 'cluster-with-prometheus'
+ project.description = 'Cluster with Prometheus'
+ end
+
+ @cluster_props = Resource::KubernetesCluster.fabricate_via_browser_ui! do |cluster_settings|
+ cluster_settings.project = @project
+ cluster_settings.cluster = @cluster
+ cluster_settings.install_helm_tiller = true
+ cluster_settings.install_ingress = true
+ cluster_settings.install_prometheus = true
+ end
+
+ Resource::CiVariable.fabricate_via_api! do |ci_variable|
+ ci_variable.project = @project
+ ci_variable.key = 'AUTO_DEVOPS_DOMAIN'
+ ci_variable.value = @cluster_props.ingress_ip
+ ci_variable.masked = false
+ end
+
+ Resource::Repository::ProjectPush.fabricate! do |push|
+ push.project = @project
+ push.directory = Pathname
+ .new(__dir__)
+ .join('../../../../../fixtures/monitored_auto_devops')
+ push.commit_message = 'Create AutoDevOps compatible Project for Monitoring'
+ end
+ end
+ end
+ end
+end