Skip to content

Commit

Permalink
Fixes #33796 - Jest memory exceeded issue (Katello#9746)
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrewgdewar authored Oct 27, 2021
1 parent 68427d8 commit 831260d
Show file tree
Hide file tree
Showing 29 changed files with 101 additions and 122 deletions.
2 changes: 2 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ const foremanReactFull = foremanRelativePath(foremanReactRelative);

// Jest configuration
module.exports = {
logHeapUsage: true,
maxWorkers: 2,
testURL: 'http://localhost/',
setupFiles: [
'./webpack/test_setup.js',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import React from 'react';
import { renderWithRedux, patientlyWaitFor } from 'react-testing-lib-wrapper';
import nock, { nockInstance, assertNockRequest, mockForemanAutocomplete, mockSetting } from '../../../../../test-utils/nockWrapper';
import { nockInstance, assertNockRequest, mockForemanAutocomplete, mockSetting } from '../../../../../test-utils/nockWrapper';
import { foremanApi } from '../../../../../services/api';
import { HOST_ERRATA_KEY } from '../../HostErrata/HostErrataConstants';
import { ErrataTab } from '../ErrataTab';

const mockErrataData = require('./errata.fixtures.json');
import mockErrataData from './errata.fixtures.json';

const renderOptions = {
apiNamespace: HOST_ERRATA_KEY,
Expand Down Expand Up @@ -57,14 +56,14 @@ let searchDelayScope;
let autoSearchScope;

beforeEach(() => {
// jest.resetModules();
const { results } = mockErrataData;
[firstErrata] = results;
searchDelayScope = mockSetting(nockInstance, 'autosearch_delay', 500);
autoSearchScope = mockSetting(nockInstance, 'autosearch_while_typing', true);
});

afterEach(() => {
nock.cleanAll();
assertNockRequest(searchDelayScope);
assertNockRequest(autoSearchScope);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import nock, { nockInstance, assertNockRequest, mockForemanAutocomplete, mockSet
import { foremanApi } from '../../../../../services/api';
import { HOST_TRACES_KEY } from '../HostTracesConstants';
import TracesTab from '../TracesTab';

const mockTraceData = require('./traces.fixtures.json');
const mockResolveTraceTask = require('./resolveTraces.fixtures.json');
const emptyTraceResults = require('./tracerEmptyTraceResults.fixtures.json');
const mockJobInvocationStatus = require('./tracerEnableJobInvocation.fixtures.json');
import mockTraceData from './traces.fixtures.json';
import mockResolveTraceTask from './resolveTraces.fixtures.json';
import emptyTraceResults from './tracerEmptyTraceResults.fixtures.json';
import mockJobInvocationStatus from './tracerEnableJobInvocation.fixtures.json';

const tracerInstalledResponse = {
id: 1,
Expand Down
5 changes: 5 additions & 0 deletions webpack/global_test_setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,8 @@ global.console.error = (error, stack) => {

// Increase jest timeout as some tests using multiple http mocks can time out on CI systems.
jest.setTimeout(300000);

afterAll(() => {
jest.resetModules();
if (global.gc) global.gc();
});
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ import api from '../../../../services/api';
import { CONTENT_ID_KEY } from '../../ContentConstants';
import ContentDetails from '../ContentDetails';
import ContentRepositories from '../ContentRepositories';

const pythonPackageDetailsResponse = require('./pythonPackageDetails.fixtures.json');
const pythonPackageRepositoryDetailsResponse = require('./pythonPackageRepositoryDetails.fixtures.json');
import pythonPackageDetailsResponse from './pythonPackageDetails.fixtures.json';
import pythonPackageRepositoryDetailsResponse from './pythonPackageRepositoryDetails.fixtures.json';

const pythonPackageDetailsPath = api.getApiUrl('/python_packages/1491');
const pythonPackageRepositoryDetailsPath = api.getApiUrl('/repositories');
Expand Down
5 changes: 2 additions & 3 deletions webpack/scenes/Content/__tests__/contentTable.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ import { renderWithRedux, patientlyWaitFor } from 'react-testing-lib-wrapper';
import nock, { nockInstance, assertNockRequest, mockAutocomplete, mockSetting } from '../../../test-utils/nockWrapper';
import api from '../../../services/api';
import ContentPage from '../ContentPage';

const contentTypesResponse = require('./contentTypes.fixtures.json');
const pythonPackagesResponse = require('./pythonPackages.fixtures.json');
import contentTypesResponse from './contentTypes.fixtures.json';
import pythonPackagesResponse from './pythonPackages.fixtures.json';

const contentTypesPath = api.getApiUrl('/repositories/content_types');
const pythonPackagesPath = api.getApiUrl('/python_packages');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { nockInstance, assertNockRequest } from '../../../../test-utils/nockWrap
import api from '../../../../services/api';
import CopyContentViewForm from '../CopyContentViewForm';

const cvCopyData = require('./contentViewCopyResult.fixtures.json');
import cvCopyData from './contentViewCopyResult.fixtures.json';

const cvId = '1';
const cvCopyPath = api.getApiUrl(`/content_views/${cvId}/copy`);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ import { renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-
import { nockInstance, assertNockRequest } from '../../../../test-utils/nockWrapper';
import api from '../../../../services/api';
import CreateContentViewForm from '../CreateContentViewForm';

const cvCreateData = require('./contentViewCreateResult.fixtures.json');
import cvCreateData from './contentViewCreateResult.fixtures.json';

const cvCreatePath = api.getApiUrl('/content_views');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,31 @@ import nock, {
} from '../../../../test-utils/nockWrapper';
import CONTENT_VIEWS_KEY from '../../ContentViewsConstants';
import ContentViewsPage from '../../ContentViewsPage.js';

const cvIndexData = require('./CvData.fixtures');
import cvIndexData from './CvData.fixtures.json';
import environmentPathsData from './envPathData.fixtures.json';
import cvVersionsData from './cvVersionsData.fixtures.json';
import cvDetailsData from './cvDetails.fixtures.json';
import affectedActivationKeysData from '../../Details/Versions/Delete/__tests__/cvAffectedActivationKeys.fixture.json';
import affectedHostData from './affectedHosts.fixtures.json';
import cVDropDownOptionsData from '../../Details/Versions/Delete/__tests__/cvDropDownOptionsResponse.fixture.json';
import cvDeleteResponse from '../../Details/Versions/Delete/__tests__/cvVersionRemoveResponse.fixture.json';

const cvIndexPath = api.getApiUrl('/content_views?organization_id=1&nondefault=true&include_permissions=true&per_page=20&page=1');
const autocompleteUrl = '/content_views/auto_complete_search';
const renderOptions = { apiNamespace: CONTENT_VIEWS_KEY };
const environmentPathsPath = api.getApiUrl('/organizations/1/environments/paths');
const environmentPathsData = require('./envPathData.fixtures.json');

const cvVersionsPath = api.getApiUrl('/content_view_versions');
const cvVersionsData = require('./cvVersionsData.fixtures.json');

const cvDetailsPath = api.getApiUrl('/content_views/20');
const cvDetailsData = require('./cvDetails.fixtures.json');

const activationKeyURL = api.getApiUrl('/activation_keys');
const affectedActivationKeysData = require('../../Details/Versions/Delete/__tests__/cvAffectedActivationKeys.fixture.json');

const hostURL = foremanApi.getApiUrl('/hosts');
const affectedHostData = require('./affectedHosts.fixtures.json');

const cVDropDownOptionsPath = api.getApiUrl('/content_views?organization_id=1&environment_id=9&include_default=true&include_permissions=true&full_result=true');
const cVDropDownOptionsData = require('../../Details/Versions/Delete/__tests__/cvDropDownOptionsResponse.fixture.json');

const cvDeleteUrl = api.getApiUrl('/content_views/20/remove');
const cvDeleteResponse = require('../../Details/Versions/Delete/__tests__/cvVersionRemoveResponse.fixture');


let firstCV;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import nock, { nockInstance, assertNockRequest, mockAutocomplete, mockSetting }
import api from '../../../../../services/api';
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
import ContentViewComponents from '../ContentViewComponents';

const cvComponentData = require('./contentViewComponents.fixtures.json');
const cvUnpublishedComponentData = require('./unpublishedCVComponents.fixtures.json');
const cvPublishedComponentData = require('./publishedContentViewDetails.fixtures.json');
const cvDetails = require('../../__tests__/contentViewDetails.fixtures.json');
import cvComponentData from './contentViewComponents.fixtures.json';
import cvUnpublishedComponentData from './unpublishedCVComponents.fixtures.json';
import cvPublishedComponentData from './publishedContentViewDetails.fixtures.json';
import cvDetails from '../../__tests__/contentViewDetails.fixtures.json';

const renderOptions = { apiNamespace: `${CONTENT_VIEWS_KEY}_1` };
const cvComponentsWithoutSearch = api.getApiUrl('/content_views/4/content_view_components/show_all?per_page=20&page=1&status=All');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import { renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-
import api from '../../../../../../services/api';
import CVFilterAddModal from '../CVFilterAddModal';
import { nockInstance, assertNockRequest } from '../../../../../../test-utils/nockWrapper';

const cvCreateData = require('./cvFilterCreateResult.fixtures.json');
import cvCreateData from './cvFilterCreateResult.fixtures.json';

const cvCreateFilterPath = api.getApiUrl('/content_view_filters?content_view_id=5');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import api from '../../../../../../services/api';
import CVRpmMatchContentModal from '../CVRpmMatchContentModal';
import nock, { nockInstance, assertNockRequest, mockSetting, mockAutocomplete } from '../../../../../../test-utils/nockWrapper';

const CVMatchedContent = require('./CVRpmMatchContent.fixtures.json');
const CVMatchContentSearch = require('./CVRpmMatchContentSearch.fixtures.json');
import CVMatchedContent from './CVRpmMatchContent.fixtures.json';
import CVMatchContentSearch from './CVRpmMatchContentSearch.fixtures.json';

const firstMatchContent = CVMatchedContent.results[0];
const { nvra: secondMatchContentName } = CVMatchedContent.results[1];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ import nock, {
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';
import CVContainerImageFilterContent from '../CVContainerImageFilterContent';

const cvFilterFixtures = require('./CVContainerImageFilterContent.fixtures.json');
const details = require('../../../../ContentViews/__tests__/mockDetails.fixtures.json');
import cvFilterFixtures from './CVContainerImageFilterContent.fixtures.json';
import details from '../../../../ContentViews/__tests__/mockDetails.fixtures.json';

const afterDeleteFilterResultsArray = [...cvFilterFixtures.results];
afterDeleteFilterResultsArray.shift();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ import nock, {
mockSetting,
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';

const cvFilterDetails = require('./cvPackageFilterDetail.fixtures.json');
const cvPackageFilterRules = require('./cvPackageFilterRules.fixtures.json');
const cvFilterFixtures = require('./contentViewFilters.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');
import cvFilterDetails from './cvPackageFilterDetail.fixtures.json';
import cvPackageFilterRules from './cvPackageFilterRules.fixtures.json';
import cvFilterFixtures from './contentViewFilters.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const cvFiltersPath = api.getApiUrl('/content_view_filters');
const cvFilterDetailsPath = api.getApiUrl('/content_view_filters/2');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ import nock, {
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';

const allPackageGroups = require('./allFilterPackageGroups.fixtures.json');
const cvFilterDetails = require('./contentViewFilterDetail.fixtures.json');
const cvFilterDetailsAffectedRepos = require('./cvFilterDetailWithAffectedRepos.fixtures.json');
const cvFilterFixtures = require('./contentViewFilters.fixtures.json');
const cvAllRepos = require('./cvAllRepos.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');
import allPackageGroups from './allFilterPackageGroups.fixtures.json';
import cvFilterDetails from './contentViewFilterDetail.fixtures.json';
import cvFilterDetailsAffectedRepos from './cvFilterDetailWithAffectedRepos.fixtures.json';
import cvFilterFixtures from './contentViewFilters.fixtures.json';
import cvAllRepos from './cvAllRepos.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const cvRefreshCallbackPath = api.getApiUrl('/content_views/1');
const cvFiltersPath = api.getApiUrl('/content_view_filters');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ import nock, {
mockSetting,
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';

const allPackageGroups = require('./allFilterPackageGroups.fixtures.json');
const cvFilterDetails = require('./contentViewFilterDetail.fixtures.json');
const cvFilterFixtures = require('./contentViewFilters.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');
import allPackageGroups from './allFilterPackageGroups.fixtures.json';
import cvFilterDetails from './contentViewFilterDetail.fixtures.json';
import cvFilterFixtures from './contentViewFilters.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const cvFiltersPath = api.getApiUrl('/content_view_filters');
const cvFilterDetailsPath = api.getApiUrl('/content_view_filters/1');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import api from '../../../../../services/api';
import nock, { nockInstance, assertNockRequest, mockAutocomplete, mockSetting } from '../../../../../test-utils/nockWrapper';
import ContentViewFilters from '../ContentViewFilters';
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
import cvFilterFixtures from './contentViewFilters.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const withCVRoute = component =>
<Route path="/content_views/:id([0-9]+)#/filters">{component}</Route>;
Expand All @@ -18,8 +20,6 @@ const renderOptions = {
},
};

const cvFilterFixtures = require('./contentViewFilters.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');

const cvFilters = api.getApiUrl('/content_view_filters');
const autocompleteUrl = '/content_view_filters/auto_complete_search';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ import {
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';
import CVErrataDateFilterContent from '../CVErrataDateFilterContent';

const cvFilterDetails = require('./contentViewErrataByDateDetails.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');
import cvFilterDetails from './contentViewErrataByDateDetails.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const cvFilterDetailsPath = api.getApiUrl('/content_view_filters/36');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ import nock, {
mockSetting,
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';

const allErrata = require('./allFilterErrata.fixtures.json');
const cvFilterDetails = require('./cvErratumFilterDetails.fixtures.json');
const cvFilterFixtures = require('./contentViewFilters.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');
import allErrata from './allFilterErrata.fixtures.json';
import cvFilterDetails from './cvErratumFilterDetails.fixtures.json';
import cvFilterFixtures from './contentViewFilters.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const cvFiltersPath = api.getApiUrl('/content_view_filters');
const cvRefreshCallbackPath = api.getApiUrl('/content_views/1');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ import nock, {
mockSetting,
} from '../../../../../test-utils/nockWrapper';
import api from '../../../../../services/api';

const allModuleStreams = require('./allFilterModulesStreams.fixtures.json');
const cvFilterDetails = require('./cvModuleStreamFilterDetails.fixtures.json');
const cvFilterFixtures = require('./contentViewFilters.fixtures.json');
const details = require('../../../__tests__/mockDetails.fixtures.json');
import allModuleStreams from './allFilterModulesStreams.fixtures.json';
import cvFilterDetails from './cvModuleStreamFilterDetails.fixtures.json';
import cvFilterFixtures from './contentViewFilters.fixtures.json';
import details from '../../../__tests__/mockDetails.fixtures.json';

const cvFiltersPath = api.getApiUrl('/content_view_filters');
const cvRefreshCallbackPath = api.getApiUrl('/content_views/1');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import nock, { nockInstance, assertNockRequest, mockAutocomplete, mockSetting }
import api from '../../../../../services/api';
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
import ContentViewHistories from '../ContentViewHistories';

const historyData = require('./contentViewHistory.fixtures.json');
import historyData from './contentViewHistory.fixtures.json';

const renderOptions = { apiNamespace: `${CONTENT_VIEWS_KEY}_1` };
const cvHistories = api.getApiUrl('/content_views/1/history');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,16 @@ import nock, { nockInstance, assertNockRequest, mockAutocomplete, mockSetting }
import api from '../../../../../services/api';
import CONTENT_VIEWS_KEY from '../../../ContentViewsConstants';
import ContentViewRepositories from '../ContentViewRepositories';

const repoData = require('./contentViewDetailRepos.fixtures.json');
import repoData from './contentViewDetailRepos.fixtures.json';
import cvDetailData from '../../__tests__/contentViewDetails.fixtures.json';
import cvRepoAddData from './contentViewRepoAdd.fixture.json';

const autocompleteUrl = '/repositories/auto_complete_search';
const renderOptions = { apiNamespace: `${CONTENT_VIEWS_KEY}_1` };
const cvAllRepos = api.getApiUrl('/content_views/1/repositories/show_all');
const repoTypesResponse = [{ name: 'deb' }, { name: 'docker' }, { name: 'file' }, { name: 'ostree' }, { name: 'yum' }];
const cvDetailData = require('../../__tests__/contentViewDetails.fixtures.json');

const cvDetailsPath = api.getApiUrl('/content_views/1');
const cvRepoAddData = require('./contentViewRepoAdd.fixture.json');

let firstRepo;
let searchDelayScope;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,26 @@ import nock, { nockInstance, assertNockRequest, mockAutocomplete, mockForemanAut
import api, { foremanApi } from '../../../../../../services/api';
import CONTENT_VIEWS_KEY from '../../../../ContentViewsConstants';
import ContentViewVersions from '../../ContentViewVersions';

const cvVersionsData = require('./versionsResponseData.fixtures.json');
import cvVersionsData from './versionsResponseData.fixtures.json';
import environmentPathsData from './versionRemoveEnvPaths.fixtures';
import cvVersionRemoveResponse from './cvVersionRemoveResponse.fixture.json';
import cvDetailData from '../../../../__tests__/mockDetails.fixtures.json';
import affectedHostData from './cvAffectedHosts.fixture';
import affectedActivationKeysData from './cvAffectedActivationKeys.fixture.json';
import cVDropDownOptionsData from './cvDropDownOptionsResponse.fixture';

const environmentPathsPath = api.getApiUrl('/organizations/1/environments/paths');
const environmentPathsData = require('./versionRemoveEnvPaths.fixtures');

const renderOptions = { apiNamespace: `${CONTENT_VIEWS_KEY}_2` };
const cvVersions = api.getApiUrl('/content_view_versions');
const autocompleteUrl = '/content_view_versions/auto_complete_search';
const cvVersionRemoveUrl = api.getApiUrl('/content_views/2/remove');
const cvVersionRemoveResponse = require('./cvVersionRemoveResponse.fixture.json');
const cvDetailData = require('../../../../__tests__/mockDetails.fixtures.json');

const hostURL = foremanApi.getApiUrl('/hosts');
const affectedHostData = require('./cvAffectedHosts.fixture');

const activationKeyURL = api.getApiUrl('/activation_keys');
const affectedActivationKeysData = require('./cvAffectedActivationKeys.fixture.json');

const cVDropDownOptionsPath = api.getApiUrl('/content_views?organization_id=1&include_permissions=true&environment_id=3&include_default=true&full_result=true');
const cVDropDownOptionsData = require('./cvDropDownOptionsResponse.fixture');
// const taskPollingUrl = '/foreman_tasks/api/tasks/6b900ff8-62bb-42ac-8c45-da86b7258520';

let firstVersion;
Expand Down
Loading

0 comments on commit 831260d

Please sign in to comment.