Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/admin/admin_requests_profiles_spec.rb')
-rw-r--r--spec/features/admin/admin_requests_profiles_spec.rb136
1 files changed, 0 insertions, 136 deletions
diff --git a/spec/features/admin/admin_requests_profiles_spec.rb b/spec/features/admin/admin_requests_profiles_spec.rb
deleted file mode 100644
index e92528d431d..00000000000
--- a/spec/features/admin/admin_requests_profiles_spec.rb
+++ /dev/null
@@ -1,136 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'Admin::RequestsProfilesController' do
- let(:tmpdir) { Dir.mktmpdir('profiler-test') }
-
- before do
- stub_const('Gitlab::RequestProfiler::PROFILES_DIR', tmpdir)
- admin = create(:admin)
- sign_in(admin)
- gitlab_enable_admin_mode_sign_in(admin)
- end
-
- after do
- FileUtils.rm_rf(tmpdir)
- end
-
- describe 'GET /admin/requests_profiles' do
- it 'shows the current profile token' do
- allow(Rails).to receive(:cache).and_return(ActiveSupport::Cache::MemoryStore.new)
-
- visit admin_requests_profiles_path
-
- expect(page).to have_content("X-Profile-Token: #{Gitlab::RequestProfiler.profile_token}")
- end
-
- context 'when having multiple profiles' do
- let(:time1) { 1.hour.ago }
- let(:time2) { 2.hours.ago }
-
- let(:profiles) do
- [
- {
- request_path: '/gitlab-org/gitlab-foss',
- name: "|gitlab-org|gitlab-foss_#{time1.to_i}_execution.html",
- created: time1,
- profile_mode: 'Execution'
- },
- {
- request_path: '/gitlab-org/gitlab-foss',
- name: "|gitlab-org|gitlab-foss_#{time2.to_i}_execution.html",
- created: time2,
- profile_mode: 'Execution'
- },
- {
- request_path: '/gitlab-org/gitlab-foss',
- name: "|gitlab-org|gitlab-foss_#{time1.to_i}_memory.html",
- created: time1,
- profile_mode: 'Memory'
- },
- {
- request_path: '/gitlab-org/gitlab-foss',
- name: "|gitlab-org|gitlab-foss_#{time2.to_i}_memory.html",
- created: time2,
- profile_mode: 'Memory'
- },
- {
- request_path: '/gitlab-org/infrastructure',
- name: "|gitlab-org|infrastructure_#{time1.to_i}_execution.html",
- created: time1,
- profile_mode: 'Execution'
- },
- {
- request_path: '/gitlab-org/infrastructure',
- name: "|gitlab-org|infrastructure_#{time2.to_i}_memory.html",
- created: time2,
- profile_mode: 'Memory'
- },
- {
- request_path: '/gitlab-org/infrastructure',
- name: "|gitlab-org|infrastructure_#{time2.to_i}.html",
- created: time2,
- profile_mode: 'Unknown'
- }
- ]
- end
-
- before do
- profiles.each do |profile|
- FileUtils.touch(File.join(Gitlab::RequestProfiler::PROFILES_DIR, profile[:name]))
- end
- end
-
- it 'lists all available profiles' do
- visit admin_requests_profiles_path
-
- profiles.each do |profile|
- within('.card', text: profile[:request_path]) do
- expect(page).to have_selector(
- "a[href='#{admin_requests_profile_path(profile[:name])}']",
- text: "#{profile[:created].to_s(:long)} #{profile[:profile_mode]}")
- end
- end
- end
- end
- end
-
- describe 'GET /admin/requests_profiles/:profile' do
- context 'when a profile exists' do
- before do
- File.write("#{Gitlab::RequestProfiler::PROFILES_DIR}/#{profile}", content)
- end
-
- context 'when is valid call stack profile' do
- let(:content) { 'This is a call stack request profile' }
- let(:profile) { "|gitlab-org|gitlab-ce_#{Time.now.to_i}_execution.html" }
-
- it 'displays the content' do
- visit admin_requests_profile_path(profile)
-
- expect(page).to have_content(content)
- end
- end
-
- context 'when is valid memory profile' do
- let(:content) { 'This is a memory request profile' }
- let(:profile) { "|gitlab-org|gitlab-ce_#{Time.now.to_i}_memory.txt" }
-
- it 'displays the content' do
- visit admin_requests_profile_path(profile)
-
- expect(page).to have_content(content)
- end
- end
- end
-
- context 'when a profile does not exist' do
- it 'shows an error message' do
- visit admin_requests_profile_path('|non|existent_12345.html')
-
- expect(page).to have_content('Profile not found')
- end
- end
- end
-end