Remove APM stacktrace snapshots (#79543)

* Remove APM stacktrace snapshots

These are not necessary and have caused problems for other contributors. Replace the snapshots with tests that check for errors or the structure of the results.

Move the test files out of the __test__ directory and rename the directory to __fixtures__.
This commit is contained in:
Nathan L Smith 2020-10-06 10:22:50 -05:00 committed by GitHub
parent f340d71377
commit bfa704d6ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 2113 deletions

View file

@ -6,10 +6,10 @@
import React from 'react';
import { ReactWrapper, shallow } from 'enzyme';
import { Stackframe } from '../../../../../typings/es_schemas/raw/fields/stackframe';
import { mountWithTheme } from '../../../../utils/testHelpers';
import { Stackframe as StackframeComponent } from '../Stackframe';
import stacktracesMock from './stacktraces.json';
import { Stackframe } from '../../../../typings/es_schemas/raw/fields/stackframe';
import { mountWithTheme } from '../../../utils/testHelpers';
import { Stackframe as StackframeComponent } from './Stackframe';
import stacktracesMock from './__fixtures__/stacktraces.json';
jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => {
return {
@ -27,8 +27,12 @@ describe('Stackframe', () => {
);
});
it('should render correctly', () => {
expect(wrapper).toMatchSnapshot();
it('renders', () => {
expect(() =>
mountWithTheme(
<StackframeComponent id="test" stackframe={stacktracesMock[0]} />
)
).not.toThrowError();
});
it('should render FrameHeading, Context and Variables', () => {

View file

@ -1,468 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Stacktrace/index getGroupedStackframes should collapse the library frames into a set of grouped stackframes 1`] = `
Array [
Object {
"excludeFromGrouping": false,
"isLibraryFrame": false,
"stackframes": Array [
Object {
"abs_path": "/app/server/routes.js",
"context": Object {
"post": Array [
" req.body.lines.forEach(function (line) {",
" client.query('SELECT id FROM products WHERE id=$1', [line.id], next())",
],
"pre": Array [
" })",
"",
],
},
"exclude_from_grouping": false,
"filename": "server/routes.js",
"function": "<anonymous>",
"library_frame": false,
"line": Object {
"context": " client.query('SELECT id FROM customers WHERE id=$1', [req.body.customer_id], next())",
"number": 307,
},
},
],
},
Object {
"excludeFromGrouping": false,
"isLibraryFrame": true,
"stackframes": Array [
Object {
"abs_path": "/app/node_modules/pg-pool/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/pg-pool/index.js",
"function": "BoundPool.<anonymous>",
"library_frame": true,
"line": Object {
"number": 137,
},
},
Object {
"abs_path": "/app/node_modules/generic-pool/lib/generic-pool.js",
"exclude_from_grouping": false,
"filename": "node_modules/generic-pool/lib/generic-pool.js",
"function": "dispense",
"library_frame": true,
"line": Object {
"number": 310,
},
},
Object {
"abs_path": "/app/node_modules/generic-pool/lib/generic-pool.js",
"exclude_from_grouping": false,
"filename": "node_modules/generic-pool/lib/generic-pool.js",
"function": "acquire",
"library_frame": true,
"line": Object {
"number": 391,
},
},
Object {
"abs_path": "/app/node_modules/pg-pool/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/pg-pool/index.js",
"function": "BoundPool.<anonymous>",
"library_frame": true,
"line": Object {
"number": 111,
},
},
Object {
"abs_path": "/app/node_modules/pg-pool/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/pg-pool/index.js",
"function": "Pool._promiseNoCallback",
"library_frame": true,
"line": Object {
"number": 75,
},
},
Object {
"abs_path": "/app/node_modules/pg-pool/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/pg-pool/index.js",
"function": "Pool.connect",
"library_frame": true,
"line": Object {
"number": 109,
},
},
],
},
Object {
"excludeFromGrouping": false,
"isLibraryFrame": false,
"stackframes": Array [
Object {
"abs_path": "/app/server/db.js",
"context": Object {
"post": Array [
"}",
"",
],
"pre": Array [
"",
"exports.client = function (cb) {",
],
},
"exclude_from_grouping": false,
"filename": "server/db.js",
"function": "exports.client",
"library_frame": false,
"line": Object {
"context": " pool.connect(cb)",
"number": 11,
},
},
Object {
"abs_path": "/app/server/routes.js",
"context": Object {
"post": Array [
" if (err) return error(err, res)",
"",
],
"pre": Array [
" }",
"",
],
},
"exclude_from_grouping": false,
"filename": "server/routes.js",
"function": "<anonymous>",
"library_frame": false,
"line": Object {
"context": " db.client(function (err, client, done) {",
"number": 248,
},
},
],
},
Object {
"excludeFromGrouping": false,
"isLibraryFrame": true,
"stackframes": Array [
Object {
"abs_path": "/app/node_modules/express/lib/router/layer.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/layer.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 95,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/route.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/route.js",
"function": "next",
"library_frame": true,
"line": Object {
"number": 137,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/route.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/route.js",
"function": "dispatch",
"library_frame": true,
"line": Object {
"number": 112,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/layer.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/layer.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 95,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "<anonymous>",
"library_frame": true,
"line": Object {
"number": 281,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "process_params",
"library_frame": true,
"line": Object {
"number": 335,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "next",
"library_frame": true,
"line": Object {
"number": 275,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 174,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "router",
"library_frame": true,
"line": Object {
"number": 47,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/layer.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/layer.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 95,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "trim_prefix",
"library_frame": true,
"line": Object {
"number": 317,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "<anonymous>",
"library_frame": true,
"line": Object {
"number": 284,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "process_params",
"library_frame": true,
"line": Object {
"number": 335,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "next",
"library_frame": true,
"line": Object {
"number": 275,
},
},
],
},
Object {
"excludeFromGrouping": false,
"isLibraryFrame": false,
"stackframes": Array [
Object {
"abs_path": "/app/server.js",
"context": Object {
"post": Array [
" }",
"",
],
"pre": Array [
"app.use('/api', function (req, res, next) {",
" if (Math.random() > opbeansRedirectProbability) {",
],
},
"exclude_from_grouping": false,
"filename": "server.js",
"function": "<anonymous>",
"library_frame": false,
"line": Object {
"context": " return next()",
"number": 88,
},
},
],
},
Object {
"excludeFromGrouping": false,
"isLibraryFrame": true,
"stackframes": Array [
Object {
"abs_path": "/app/node_modules/express/lib/router/layer.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/layer.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 95,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "trim_prefix",
"library_frame": true,
"line": Object {
"number": 317,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "<anonymous>",
"library_frame": true,
"line": Object {
"number": 284,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "process_params",
"library_frame": true,
"line": Object {
"number": 335,
},
},
],
},
Object {
"excludeFromGrouping": true,
"isLibraryFrame": true,
"stackframes": Array [
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": true,
"filename": "node_modules/express/lib/router/index.js",
"function": "next",
"library_frame": true,
"line": Object {
"number": 275,
},
},
],
},
Object {
"excludeFromGrouping": false,
"isLibraryFrame": true,
"stackframes": Array [
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "<anonymous>",
"library_frame": true,
"line": Object {
"number": 635,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "next",
"library_frame": true,
"line": Object {
"number": 260,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 174,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "router",
"library_frame": true,
"line": Object {
"number": 47,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/layer.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/layer.js",
"function": "handle",
"library_frame": true,
"line": Object {
"number": 95,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "trim_prefix",
"library_frame": true,
"line": Object {
"number": 317,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "<anonymous>",
"library_frame": true,
"line": Object {
"number": 284,
},
},
Object {
"abs_path": "/app/node_modules/express/lib/router/index.js",
"exclude_from_grouping": false,
"filename": "node_modules/express/lib/router/index.js",
"function": "process_params",
"library_frame": true,
"line": Object {
"number": 335,
},
},
],
},
]
`;

View file

@ -4,15 +4,18 @@
* you may not use this file except in compliance with the Elastic License.
*/
import { Stackframe } from '../../../../../typings/es_schemas/raw/fields/stackframe';
import { getGroupedStackframes } from '../index';
import stacktracesMock from './stacktraces.json';
import { Stackframe } from '../../../../typings/es_schemas/raw/fields/stackframe';
import { getGroupedStackframes } from './';
import stacktracesMock from './__fixtures__/stacktraces.json';
describe('Stacktrace/index', () => {
describe('Stacktrace', () => {
describe('getGroupedStackframes', () => {
it('should collapse the library frames into a set of grouped stackframes', () => {
const result = getGroupedStackframes(stacktracesMock as Stackframe[]);
expect(result).toMatchSnapshot();
it('collapses the library frames into a set of grouped stackframes', () => {
expect(
getGroupedStackframes(stacktracesMock as Stackframe[]).every(
(group) => group.stackframes.length > 0
)
).toEqual(true);
});
it('should group stackframes when `library_frame` is identical and `exclude_from_grouping` is false', () => {