UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

99 lines (97 loc) 3.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const getInvalidAccessTokenMessage_1 = require("./getInvalidAccessTokenMessage"); describe('getInvalidAccessTokenMessage', () => { describe('when status code is', () => { it('should handle invalid access token', () => { const result = { statusCode: 401, responseHeaders: new Headers({}), }; return expect((0, getInvalidAccessTokenMessage_1.getInvalidAccessTokenMessage)({ result, repoOwner: 'elastic', repoName: 'kibana', })).toContain('Please check your access token and make sure it is valid'); }); it('should handle SSO error', () => { const result = { statusCode: 200, responseHeaders: new Headers({ 'x-github-sso': 'required; url=https://ssourl.com', }), error: { graphQLErrors: [ { type: 'FORBIDDEN', extensions: { saml_failure: true }, message: 'Resource protected by organization SAML enforcement. You must grant your Personal Access token access to this organization.', }, ], }, }; return expect((0, getInvalidAccessTokenMessage_1.getInvalidAccessTokenMessage)({ result, repoOwner: 'elastic', repoName: 'kibana', })).toMatchInlineSnapshot(` "Please follow the link to authorize your personal access token with SSO: https://ssourl.com" `); }); it('should handle non-existing repo', () => { const result = { statusCode: 200, responseHeaders: new Headers({ 'x-oauth-scopes': 'a,b,c', 'x-accepted-oauth-scopes': 'a,b,c', }), error: { graphQLErrors: [ { originalError: { type: 'NOT_FOUND' }, path: ['repository'] }, ], }, }; return expect((0, getInvalidAccessTokenMessage_1.getInvalidAccessTokenMessage)({ result, repoOwner: 'elastic', repoName: 'kibana', })).toBe(`The repository "elastic/kibana" doesn't exist`); }); it('should handle insufficient permissions (oauth scopes)', () => { const result = { statusCode: 200, responseHeaders: new Headers({ 'x-oauth-scopes': 'a,b', 'x-accepted-oauth-scopes': 'a,b,c', }), error: { graphQLErrors: [ { originalError: { type: 'NOT_FOUND' }, path: ['repository'] }, ], }, }; return expect((0, getInvalidAccessTokenMessage_1.getInvalidAccessTokenMessage)({ result, repoOwner: 'elastic', repoName: 'kibana', })).toMatchInlineSnapshot(` "You do not have access to the repository "elastic/kibana". Please make sure your access token has the required scopes. Required scopes: a,b,c Access token scopes: a,b" `); }); it('should not handle unknown cases', () => { const result = { statusCode: 500, responseHeaders: {}, }; return expect((0, getInvalidAccessTokenMessage_1.getInvalidAccessTokenMessage)({ result, repoOwner: 'elastic', repoName: 'kibana', })).toBe(undefined); }); }); }); //# sourceMappingURL=getInvalidAccessTokenMessage.test.js.map