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/lib/gitlab/sherlock/query_spec.rb')
-rw-r--r--spec/lib/gitlab/sherlock/query_spec.rb115
1 files changed, 0 insertions, 115 deletions
diff --git a/spec/lib/gitlab/sherlock/query_spec.rb b/spec/lib/gitlab/sherlock/query_spec.rb
deleted file mode 100644
index b8dfd082c37..00000000000
--- a/spec/lib/gitlab/sherlock/query_spec.rb
+++ /dev/null
@@ -1,115 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Gitlab::Sherlock::Query do
- let(:started_at) { Time.utc(2015, 1, 1) }
- let(:finished_at) { started_at + 5 }
-
- let(:query) do
- described_class.new('SELECT COUNT(*) FROM users', started_at, finished_at)
- end
-
- describe 'new_with_bindings' do
- it 'returns a Query' do
- sql = 'SELECT COUNT(*) FROM users WHERE id = $1'
- bindings = [[double(:column), 10]]
-
- query = described_class
- .new_with_bindings(sql, bindings, started_at, finished_at)
-
- expect(query.query).to eq('SELECT COUNT(*) FROM users WHERE id = 10;')
- end
- end
-
- describe '#id' do
- it 'returns a String' do
- expect(query.id).to be_an_instance_of(String)
- end
- end
-
- describe '#query' do
- it 'returns the query with a trailing semi-colon' do
- expect(query.query).to eq('SELECT COUNT(*) FROM users;')
- end
- end
-
- describe '#started_at' do
- it 'returns the start time' do
- expect(query.started_at).to eq(started_at)
- end
- end
-
- describe '#finished_at' do
- it 'returns the completion time' do
- expect(query.finished_at).to eq(finished_at)
- end
- end
-
- describe '#backtrace' do
- it 'returns the backtrace' do
- expect(query.backtrace).to be_an_instance_of(Array)
- end
- end
-
- describe '#duration' do
- it 'returns the duration in milliseconds' do
- expect(query.duration).to be_within(0.1).of(5000.0)
- end
- end
-
- describe '#to_param' do
- it 'returns the query ID' do
- expect(query.to_param).to eq(query.id)
- end
- end
-
- describe '#formatted_query' do
- it 'returns a formatted version of the query' do
- expect(query.formatted_query).to eq(<<-EOF.strip)
-SELECT COUNT(*)
-FROM users;
- EOF
- end
- end
-
- describe '#last_application_frame' do
- it 'returns the last application frame' do
- frame = query.last_application_frame
-
- expect(frame).to be_an_instance_of(Gitlab::Sherlock::Location)
- expect(frame.path).to eq(__FILE__)
- end
- end
-
- describe '#application_backtrace' do
- it 'returns an Array of application frames' do
- frames = query.application_backtrace
-
- expect(frames).to be_an_instance_of(Array)
- expect(frames).not_to be_empty
-
- frames.each do |frame|
- expect(frame.path).to start_with(Rails.root.to_s)
- end
- end
- end
-
- describe '#explain' do
- it 'returns the query plan as a String' do
- lines = [
- ['Aggregate (cost=123 rows=1)'],
- [' -> Index Only Scan using index_cats_are_amazing']
- ]
-
- result = double(:result, values: lines)
-
- allow(query).to receive(:raw_explain).and_return(result)
-
- expect(query.explain).to eq(<<-EOF.strip)
-Aggregate (cost=123 rows=1)
- -> Index Only Scan using index_cats_are_amazing
- EOF
- end
- end
-end