PR updates

PR updates

fix failing test
This commit is contained in:
NHI TRAN
2021-02-22 09:59:12 -05:00
parent fe63fdb9c6
commit ac67aab5dd
15 changed files with 27 additions and 9744 deletions
+1 -3
View File
@@ -1,13 +1,11 @@
---
'@backstage/backend-common': minor
'@backstage/cli': minor
'@backstage/techdocs-common': minor
'@backstage/plugin-auth-backend': minor
'@backstage/plugin-catalog': minor
'@backstage/plugin-kafka-backend': minor
'@backstage/plugin-kubernetes-backend': minor
'@backstage/plugin-scaffolder-backend': minor
'@backstage/plugin-techdocs-backend': minor
---
remove usage of res.send() for use of res.json() and res.end()
remove usage of res.send() for res.json() and res.end() to ensure content types are more consistently application/json on backend responses and error cases
-9718
View File
File diff suppressed because it is too large Load Diff
@@ -31,7 +31,7 @@ describe('errorHandler', () => {
const response = await request(app).get('/breaks');
expect(response.status).toBe(500);
expect(response.body).toBe('some message');
expect(response.text).toBe('some message');
});
it('doesnt try to send the response again if its already been sent', async () => {
@@ -39,12 +39,12 @@ describe('errorHandler', () => {
const mockSend = jest.fn();
app.use('/works_with_async_fail', (_, res) => {
res.status(200).json('hello');
res.status(200).send('hello');
// mutate the response object to test the middlware.
// it's hard to catch errors inside middleware from the outside.
// @ts-ignore
res.json = mockSend;
res.send = mockSend;
throw new Error('some message');
});
@@ -52,7 +52,7 @@ describe('errorHandler', () => {
const response = await request(app).get('/works_with_async_fail');
expect(response.status).toBe(200);
expect(response.body).toBe('hello');
expect(response.text).toBe('hello');
expect(mockSend).not.toHaveBeenCalled();
});
@@ -81,7 +81,8 @@ export function errorHandler(
}
res.status(status);
res.json(message);
res.setHeader('content-type', 'text/plain');
res.send(message);
};
}
@@ -129,7 +129,7 @@ export class GithubCreateAppServer {
body = body.replace('ACTION_URL', this.actionUrl);
res.setHeader('content-type', 'text/html');
res.json(body);
res.send(body);
};
private async listen(app: Express) {
@@ -240,7 +240,7 @@ export class AwsS3Publish implements PublisherBase {
res.setHeader(headerKey, headerValue);
}
res.json(await streamToBuffer(stream));
res.send(await streamToBuffer(stream));
} catch (err) {
this.logger.warn(err.message);
res.status(404).json(err.message);
@@ -253,7 +253,7 @@ export class AzureBlobStoragePublish implements PublisherBase {
)) {
res.setHeader(headerKey, headerValue);
}
res.json(fileContent);
res.send(fileContent);
});
} catch (e) {
this.logger.error(e.message);
@@ -172,7 +172,7 @@ describe('OAuthAdapter', () => {
const mockResponse = ({
cookie: jest.fn().mockReturnThis(),
json: jest.fn().mockReturnThis(),
send: jest.fn().mockReturnThis(),
status: jest.fn().mockReturnThis(),
} as unknown) as express.Response;
@@ -206,8 +206,6 @@ describe('OAuthAdapter', () => {
} as unknown) as express.Response;
await oauthProvider.refresh(mockRequest, mockResponse);
expect(mockResponse.status).toHaveBeenCalledTimes(1);
expect(mockResponse.status).toHaveBeenCalledWith(200);
expect(mockResponse.json).toHaveBeenCalledTimes(1);
expect(mockResponse.json).toHaveBeenCalledWith({
...mockResponseData,
@@ -233,14 +231,13 @@ describe('OAuthAdapter', () => {
} as unknown) as express.Request;
const mockResponse = ({
json: jest.fn().mockReturnThis(),
send: jest.fn().mockReturnThis(),
status: jest.fn().mockReturnThis(),
} as unknown) as express.Response;
await oauthProvider.refresh(mockRequest, mockResponse);
expect(mockResponse.status).toHaveBeenCalledWith(406);
expect(mockResponse.json).toHaveBeenCalledTimes(1);
expect(mockResponse.json).toHaveBeenCalledWith(
expect(mockResponse.send).toHaveBeenCalledTimes(1);
expect(mockResponse.send).toHaveBeenCalledWith(
'Refresh token not supported for provider: test-provider',
);
});
@@ -155,7 +155,7 @@ export class OAuthAdapter implements AuthProviderRouteHandlers {
// remove refresh token cookie before logout
this.removeRefreshTokenCookie(res);
}
res.status(204).json('logout!');
res.status(200).send('logout!');
}
async refresh(req: express.Request, res: express.Response): Promise<void> {
@@ -166,8 +166,8 @@ export class OAuthAdapter implements AuthProviderRouteHandlers {
if (!this.handlers.refresh || this.options.disableRefresh) {
res
.status(406)
.json(
.status(400)
.send(
`Refresh token not supported for provider: ${this.options.providerId}`,
);
return;
@@ -202,7 +202,7 @@ export class OAuthAdapter implements AuthProviderRouteHandlers {
res.status(200).json(response);
} catch (error) {
res.status(401).json(`${error.message}`);
res.status(401).send(`${error.message}`);
}
}
@@ -88,6 +88,7 @@ describe('AwsALBAuthProvider', () => {
}),
} as unknown) as express.Request;
const mockResponse = ({
end: jest.fn(),
header: () => jest.fn(),
json: jest.fn().mockReturnThis(),
status: jest.fn(),
@@ -173,6 +174,7 @@ describe('AwsALBAuthProvider', () => {
await provider.refresh(mockRequest, mockResponse);
expect(mockResponse.status).toHaveBeenCalledWith(401);
expect(mockResponse.end).toHaveBeenCalledTimes(1);
});
});
});
@@ -82,9 +82,11 @@ export class AwsAlbAuthProvider implements AuthProviderRouteHandlers {
} catch (e) {
this.logger.error('exception occurred during JWT processing', e);
res.status(401);
res.end();
}
} else {
res.status(401);
res.end();
}
}
@@ -104,7 +104,7 @@ export class SamlAuthProvider implements AuthProviderRouteHandlers {
}
async logout(_req: express.Request, res: express.Response): Promise<void> {
res.json('noop');
res.send('noop');
}
identifyEnv(): string | undefined {
@@ -75,7 +75,7 @@ export const makeRouter = (
logger.error(
`action=retrieveObjectsByServiceId service=${serviceId}, error=${e}`,
);
res.status(500).send({ error: e.message });
res.status(500).json({ error: e.message });
}
});
@@ -111,7 +111,7 @@ export async function createRouter(
const job = jobProcessor.get(params.jobId);
if (!job) {
res.status(404).send({ error: 'job not found' });
res.status(404).json({ error: 'job not found' });
return;
}
@@ -112,7 +112,8 @@ export async function createRouter({
const catalogRes = await fetch(`${catalogUrl}/entities/by-name/${triple}`);
if (!catalogRes.ok) {
const catalogResText = await catalogRes.text();
res.status(catalogRes.status).json(catalogResText);
res.status(catalogRes.status);
res.send(catalogResText);
return;
}