add setupRequestMockHandlers to backend-test-utils

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2022-03-06 16:56:18 +01:00
parent 737f4bd830
commit 3c2bc73901
30 changed files with 94 additions and 23 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': patch
---
Add `setupRequestMockHandlers` which sets up a good `msw` server foundation, copied from `@backstage/test-utils` which is a frontend-only package and should not be used from backends.
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/backend-common': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-rollbar-backend': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-techdocs-backend': patch
---
Use `setupRequestMockHandlers` from `@backstage/backend-test-utils`
+1 -1
View File
@@ -89,8 +89,8 @@
}
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.20",
"@backstage/cli": "^0.15.0",
"@backstage/test-utils": "^0.3.0",
"@types/archiver": "^5.1.0",
"@types/compression": "^1.7.0",
"@types/concat-stream": "^2.0.0",
@@ -19,7 +19,7 @@ import {
AzureIntegration,
readAzureIntegrationConfig,
} from '@backstage/integration';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import fs from 'fs-extra';
import mockFs from 'mock-fs';
import { rest } from 'msw';
@@ -19,7 +19,7 @@ import {
BitbucketIntegration,
readBitbucketIntegrationConfig,
} from '@backstage/integration';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import fs from 'fs-extra';
import mockFs from 'mock-fs';
import { rest } from 'msw';
@@ -16,7 +16,7 @@
import { ConfigReader } from '@backstage/config';
import { NotFoundError, NotModifiedError } from '@backstage/errors';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { getVoidLogger } from '../logging';
@@ -20,7 +20,7 @@ import {
GitHubIntegration,
readGitHubIntegrationConfig,
} from '@backstage/integration';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import fs from 'fs-extra';
import mockFs from 'mock-fs';
import { rest } from 'msw';
@@ -15,7 +15,7 @@
*/
import { ConfigReader } from '@backstage/config';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import fs from 'fs-extra';
import mockFs from 'mock-fs';
import { rest } from 'msw';
@@ -8,6 +8,13 @@ import { Knex } from 'knex';
// @public (undocumented)
export function isDockerDisabledForTests(): boolean;
// @public
export function setupRequestMockHandlers(worker: {
listen: (t: any) => void;
close: () => void;
resetHandlers: () => void;
}): void;
// @public
export type TestDatabaseId =
| 'POSTGRES_13'
+1
View File
@@ -39,6 +39,7 @@
"@backstage/config": "^0.1.15",
"@vscode/sqlite3": "^5.0.7",
"knex": "^1.0.2",
"msw": "^0.35.0",
"mysql2": "^2.2.5",
"pg": "^8.3.0",
"testcontainers": "^8.1.2",
+1
View File
@@ -21,4 +21,5 @@
*/
export * from './database';
export * from './msw';
export * from './util';
@@ -0,0 +1,17 @@
/*
* Copyright 2020 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export { setupRequestMockHandlers } from './setupRequestMockHandlers';
@@ -0,0 +1,30 @@
/*
* Copyright 2020 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Sets up handlers for request mocking
* @public
* @param worker - service worker
*/
export function setupRequestMockHandlers(worker: {
listen: (t: any) => void;
close: () => void;
resetHandlers: () => void;
}) {
beforeAll(() => worker.listen({ onUnhandledRequest: 'error' }));
afterAll(() => worker.close());
afterEach(() => worker.resetHandlers());
}
+1 -1
View File
@@ -76,8 +76,8 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.20",
"@backstage/cli": "^0.15.0",
"@backstage/test-utils": "^0.3.0",
"@types/body-parser": "^1.19.0",
"@types/cookie-parser": "^1.4.2",
"@types/express-session": "^1.17.2",
@@ -20,7 +20,7 @@ import { OAuthResult } from '../../lib/oauth';
import { getVoidLogger } from '@backstage/backend-common';
import { TokenIssuer } from '../../identity/types';
import { CatalogIdentityClient } from '../../lib/catalog';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
@@ -15,7 +15,7 @@
*/
import { Config, ConfigReader } from '@backstage/config';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import express from 'express';
import { Session } from 'express-session';
import { JWK, JWT } from 'jose';
@@ -47,8 +47,8 @@
},
"devDependencies": {
"@backstage/backend-common": "^0.12.0",
"@backstage/backend-test-utils": "^0.1.20",
"@backstage/cli": "^0.15.0",
"@backstage/test-utils": "^0.3.0",
"@types/lodash": "^4.14.151",
"msw": "^0.35.0"
},
@@ -15,7 +15,7 @@
*/
import * as msal from '@azure/msal-node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { MicrosoftGraphClient } from './client';
-1
View File
@@ -73,7 +73,6 @@
"@backstage/cli": "^0.15.0",
"@backstage/plugin-permission-common": "^0.5.2",
"@backstage/plugin-search-backend-node": "0.5.0",
"@backstage/test-utils": "^0.3.0",
"@types/core-js": "^2.5.4",
"@types/git-url-parse": "^9.0.0",
"@types/lodash": "^4.14.151",
@@ -15,7 +15,7 @@
*/
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { codeSearch, CodeSearchResponse } from './azure';
@@ -19,8 +19,8 @@ import {
UrlReader,
UrlReaders,
} from '@backstage/backend-common';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { ConfigReader } from '@backstage/config';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import {
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { graphql } from '@octokit/graphql';
import { graphql as graphqlMsw } from 'msw';
import { setupServer } from 'msw/node';
@@ -15,7 +15,7 @@
*/
import { ConfigReader } from '@backstage/config';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { readGitLabIntegrationConfig } from '@backstage/integration';
import { getVoidLogger } from '@backstage/backend-common';
import { rest } from 'msw';
+1 -1
View File
@@ -50,8 +50,8 @@
"yn": "^4.0.0"
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.20",
"@backstage/cli": "^0.15.0",
"@backstage/test-utils": "^0.3.0",
"@types/supertest": "^2.0.8",
"msw": "^0.36.3",
"supertest": "^6.1.3"
@@ -15,7 +15,7 @@
*/
import { getRequestHeaders, RollbarApi } from './RollbarApi';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { getVoidLogger } from '@backstage/backend-common';
+1 -1
View File
@@ -75,8 +75,8 @@
"zen-observable": "^0.8.15"
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.20",
"@backstage/cli": "^0.15.0",
"@backstage/test-utils": "^0.3.0",
"@types/command-exists": "^1.2.0",
"@types/fs-extra": "^9.0.1",
"@types/git-url-parse": "^9.0.0",
@@ -19,7 +19,7 @@ jest.mock('../helpers');
import { createPublishBitbucketAction } from './bitbucket';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { ScmIntegrations } from '@backstage/integration';
import { ConfigReader } from '@backstage/config';
import { getVoidLogger } from '@backstage/backend-common';
+1 -1
View File
@@ -55,9 +55,9 @@
"winston": "^3.2.1"
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.20",
"@backstage/cli": "^0.15.0",
"@backstage/plugin-search-backend-node": "0.5.0",
"@backstage/test-utils": "^0.3.0",
"@types/dockerode": "^3.3.0",
"msw": "^0.35.0",
"supertest": "^6.1.3"
@@ -21,7 +21,7 @@ import {
} from '@backstage/backend-common';
import { Entity } from '@backstage/catalog-model';
import { DefaultTechDocsCollator } from './DefaultTechDocsCollator';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { setupServer } from 'msw/node';
import { rest } from 'msw';
import { ConfigReader } from '@backstage/config';
@@ -21,7 +21,7 @@ import {
import { Entity } from '@backstage/catalog-model';
import { ConfigReader } from '@backstage/config';
import { TestPipeline } from '@backstage/plugin-search-backend-node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { Readable } from 'stream';