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/models/error_tracking/error_event_spec.rb')
-rw-r--r--spec/models/error_tracking/error_event_spec.rb44
1 files changed, 7 insertions, 37 deletions
diff --git a/spec/models/error_tracking/error_event_spec.rb b/spec/models/error_tracking/error_event_spec.rb
index 9cf5a405e74..6dab8fbf757 100644
--- a/spec/models/error_tracking/error_event_spec.rb
+++ b/spec/models/error_tracking/error_event_spec.rb
@@ -2,7 +2,9 @@
require 'spec_helper'
-RSpec.describe ErrorTracking::ErrorEvent, type: :model do
+RSpec.describe ErrorTracking::ErrorEvent do
+ include AfterNextHelpers
+
let_it_be(:event) { create(:error_tracking_error_event) }
describe 'relationships' do
@@ -18,44 +20,12 @@ RSpec.describe ErrorTracking::ErrorEvent, type: :model do
end
describe '#stacktrace' do
- it 'generates a correct stacktrace in expected format' do
- expected_context = [
- [132, " end\n"],
- [133, "\n"],
- [134, " begin\n"],
- [135, " block.call(work, *extra)\n"],
- [136, " rescue Exception => e\n"],
- [137, " STDERR.puts \"Error reached top of thread-pool: #\{e.message\} (#\{e.class\})\"\n"],
- [138, " end\n"]
- ]
-
- expected_entry = {
- 'lineNo' => 135,
- 'context' => expected_context,
- 'filename' => 'puma/thread_pool.rb',
- 'function' => 'block in spawn_thread',
- 'colNo' => 0
- }
+ it 'builds a stacktrace' do
+ expect_next(ErrorTracking::StacktraceBuilder, event.payload)
+ .to receive(:stacktrace).and_call_original
expect(event.stacktrace).to be_kind_of(Array)
- expect(event.stacktrace.first).to eq(expected_entry)
- end
-
- context 'error context is missing' do
- let(:event) { create(:error_tracking_error_event, :browser) }
-
- it 'generates a stacktrace without context' do
- expected_entry = {
- 'lineNo' => 6395,
- 'context' => [],
- 'filename' => 'webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js',
- 'function' => 'hydrate',
- 'colNo' => 0
- }
-
- expect(event.stacktrace).to be_kind_of(Array)
- expect(event.stacktrace.first).to eq(expected_entry)
- end
+ expect(event.stacktrace).not_to be_empty
end
end