mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-11 09:51:30 +00:00
fix(bruno-electron): interpolate auth headers for GraphQL introspection request (#5560)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
const { get, each } = require('lodash');
|
||||
const { interpolate } = require('@usebruno/common');
|
||||
const { getIntrospectionQuery } = require('graphql');
|
||||
const interpolateVars = require('./interpolate-vars');
|
||||
const { setAuthHeaders } = require('./prepare-request');
|
||||
|
||||
const prepareGqlIntrospectionRequest = (endpoint, resolvedVars, request, collectionRoot) => {
|
||||
@@ -23,7 +24,9 @@ const prepareGqlIntrospectionRequest = (endpoint, resolvedVars, request, collect
|
||||
data: JSON.stringify(queryParams)
|
||||
};
|
||||
|
||||
return setAuthHeaders(axiosRequest, request, collectionRoot);
|
||||
axiosRequest = setAuthHeaders(axiosRequest, request, collectionRoot);
|
||||
|
||||
return interpolateVars(axiosRequest, resolvedVars);
|
||||
};
|
||||
|
||||
const mapHeaders = (requestHeaders, collectionHeaders, resolvedVars) => {
|
||||
|
||||
@@ -29,6 +29,43 @@ describe('prepareGqlIntrospectionRequest', () => {
|
||||
expect(result.url).toBe(setup.endpoint);
|
||||
});
|
||||
|
||||
it('should interpolate bearer auth headers from request auth', () => {
|
||||
const setup = createBasicSetup();
|
||||
setup.request.auth = {
|
||||
mode: 'bearer',
|
||||
bearer: {
|
||||
token: '{{AUTH_TOKEN}}'
|
||||
}
|
||||
};
|
||||
const vars = {
|
||||
AUTH_TOKEN: 'request-token'
|
||||
};
|
||||
|
||||
const result = prepareGqlIntrospectionRequest(setup.endpoint, vars, setup.request, setup.collectionRoot);
|
||||
|
||||
expect(result.headers['Authorization']).toBe('Bearer request-token');
|
||||
});
|
||||
|
||||
it('should interpolate inherited bearer auth headers', () => {
|
||||
const setup = createBasicSetup();
|
||||
setup.request.auth = {
|
||||
mode: 'inherit'
|
||||
};
|
||||
setup.collectionRoot.request.auth = {
|
||||
mode: 'bearer',
|
||||
bearer: {
|
||||
token: '{{AUTH_TOKEN}}'
|
||||
}
|
||||
};
|
||||
const vars = {
|
||||
AUTH_TOKEN: 'collection-token'
|
||||
};
|
||||
|
||||
const result = prepareGqlIntrospectionRequest(setup.endpoint, vars, setup.request, setup.collectionRoot);
|
||||
|
||||
expect(result.headers['Authorization']).toBe('Bearer collection-token');
|
||||
});
|
||||
|
||||
it('should override collection headers with request headers', () => {
|
||||
const setup = createBasicSetup();
|
||||
setup.collectionRoot.request.headers = [
|
||||
|
||||
Reference in New Issue
Block a user