chore(backend-common): reworking backend common to use cross-fetch and new msw

This commit is contained in:
blam
2020-10-09 14:02:07 +02:00
parent a0604474c1
commit a45a5d9418
9 changed files with 19 additions and 23 deletions
+3 -3
View File
@@ -32,10 +32,12 @@
"@backstage/cli-common": "^0.1.1-alpha.24",
"@backstage/config": "^0.1.1-alpha.24",
"@backstage/config-loader": "^0.1.1-alpha.24",
"@backstage/test-utils": "^0.1.1-alpha.24",
"@types/cors": "^2.8.6",
"@types/express": "^4.17.6",
"compression": "^1.7.4",
"cors": "^2.8.5",
"cross-fetch": "^3.0.6",
"express": "^4.17.1",
"express-prom-bundle": "^6.1.0",
"express-promise-router": "^3.0.3",
@@ -45,7 +47,6 @@
"lodash": "^4.17.15",
"logform": "^2.1.1",
"morgan": "^1.10.0",
"node-fetch": "^2.6.0",
"prom-client": "^12.0.0",
"selfsigned": "^1.10.7",
"stoppable": "^1.1.0",
@@ -72,8 +73,7 @@
"get-port": "^5.1.1",
"http-errors": "^1.7.3",
"jest": "^26.0.1",
"jest-fetch-mock": "^3.0.3",
"msw": "^0.20.5",
"msw": "^0.21.2",
"supertest": "^4.0.2"
},
"files": [
@@ -19,14 +19,13 @@ import { setupServer } from 'msw/node';
import { ConfigReader } from '@backstage/config';
import { getVoidLogger } from '../logging';
import { AzureUrlReader } from './AzureUrlReader';
import { msw } from '@backstage/test-utils';
const logger = getVoidLogger();
describe('AzureUrlReader', () => {
const worker = setupServer();
beforeAll(() => worker.listen({ onUnhandledRequest: 'error' }));
afterAll(() => worker.close());
msw.setupDefaultHandlers(worker);
beforeEach(() => {
worker.use(
@@ -41,7 +40,6 @@ describe('AzureUrlReader', () => {
),
);
});
afterEach(() => worker.resetHandlers());
const createConfig = (token?: string) =>
new ConfigReader(
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import fetch, { RequestInit, HeadersInit, Response } from 'node-fetch';
import fetch from 'cross-fetch';
import { Config } from '@backstage/config';
import { NotFoundError } from '../errors';
import { ReaderFactory, UrlReader } from './types';
@@ -76,7 +76,7 @@ export class AzureUrlReader implements UrlReader {
// for private repos when PAT is not valid, Azure API returns a http status code 203 with sign in page html
if (response.ok && response.status !== 203) {
return response.buffer();
return Buffer.from(await response.text());
}
const message = `${url} could not be read as ${builtUrl}, ${response.status} ${response.statusText}`;
@@ -19,14 +19,14 @@ import { setupServer } from 'msw/node';
import { ConfigReader } from '@backstage/config';
import { getVoidLogger } from '../logging';
import { BitbucketUrlReader } from './BitbucketUrlReader';
import { msw } from '@backstage/test-utils';
const logger = getVoidLogger();
describe('BitbucketUrlReader', () => {
const worker = setupServer();
beforeAll(() => worker.listen({ onUnhandledRequest: 'error' }));
afterAll(() => worker.close());
msw.setupDefaultHandlers(worker);
beforeEach(() => {
worker.use(
@@ -41,7 +41,6 @@ describe('BitbucketUrlReader', () => {
),
);
});
afterEach(() => worker.resetHandlers());
const createConfig = (username?: string, appPassword?: string) =>
new ConfigReader(
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import fetch, { RequestInit, HeadersInit, Response } from 'node-fetch';
import fetch from 'cross-fetch';
import { Config } from '@backstage/config';
import { ReaderFactory, UrlReader } from './types';
import { NotFoundError } from '../errors';
@@ -84,7 +84,7 @@ export class BitbucketUrlReader implements UrlReader {
}
if (response.ok) {
return response.buffer();
return Buffer.from(await response.text());
}
const message = `${url} could not be read as ${builtUrl}, ${response.status} ${response.statusText}`;
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import fetch, { Response } from 'node-fetch';
import fetch from 'cross-fetch';
import { NotFoundError } from '../errors';
import { UrlReader } from './types';
@@ -31,7 +31,7 @@ export class FetchUrlReader implements UrlReader {
}
if (response.ok) {
return response.buffer();
return Buffer.from('');
}
const message = `could not read ${url}, ${response.status} ${response.statusText}`;
@@ -16,7 +16,7 @@
import { Config } from '@backstage/config';
import parseGitUri from 'git-url-parse';
import fetch, { HeadersInit, RequestInit, Response } from 'node-fetch';
import fetch from 'cross-fetch';
import { NotFoundError } from '../errors';
import { ReaderFactory, UrlReader } from './types';
@@ -219,7 +219,7 @@ export class GithubUrlReader implements UrlReader {
}
if (response.ok) {
return response.buffer();
return Buffer.from(await response.text());
}
const message = `${url} could not be read as ${ghUrl}, ${response.status} ${response.statusText}`;
@@ -19,14 +19,14 @@ import { setupServer } from 'msw/node';
import { ConfigReader } from '@backstage/config';
import { getVoidLogger } from '../logging';
import { GitlabUrlReader } from './GitlabUrlReader';
import { msw } from '@backstage/test-utils';
const logger = getVoidLogger();
describe('GitlabUrlReader', () => {
const worker = setupServer();
beforeAll(() => worker.listen({ onUnhandledRequest: 'error' }));
afterAll(() => worker.close());
msw.setupDefaultHandlers(worker);
beforeEach(() => {
worker.use(
@@ -44,7 +44,6 @@ describe('GitlabUrlReader', () => {
),
);
});
afterEach(() => worker.resetHandlers());
const createConfig = (token?: string) =>
new ConfigReader(
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import fetch, { RequestInit, Response } from 'node-fetch';
import fetch from 'cross-fetch';
import { Config } from '@backstage/config';
import { NotFoundError } from '../errors';
import { ReaderFactory, UrlReader } from './types';
@@ -77,7 +77,7 @@ export class GitlabUrlReader implements UrlReader {
}
if (response.ok) {
return response.buffer();
return Buffer.from(await response.text());
}
const message = `${url} could not be read as ${builtUrl}, ${response.status} ${response.statusText}`;