1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-09 13:30:04 +00:00

chore: cleanup, parseResponse optimization

This commit is contained in:
Mihajlo Medjedovic
2021-02-23 22:58:48 +01:00
parent 4b28ee8e73
commit f2c8e40430
3 changed files with 14 additions and 30 deletions

View File

@@ -360,6 +360,7 @@ export class RequestClient implements HttpClient {
private async parseResponse<T>(response: AxiosResponse<any>) { private async parseResponse<T>(response: AxiosResponse<any>) {
const etag = response?.headers ? response.headers['etag'] : '' const etag = response?.headers ? response.headers['etag'] : ''
let parsedResponse let parsedResponse
let includeSAS9Log: boolean = false
try { try {
if (typeof response.data === 'string') { if (typeof response.data === 'string') {
@@ -373,12 +374,20 @@ export class RequestClient implements HttpClient {
} catch { } catch {
parsedResponse = response.data parsedResponse = response.data
} }
includeSAS9Log = true
} }
return {
let responseToReturn: {result: T, etag: any, log?: string} = {
result: parsedResponse as T, result: parsedResponse as T,
log: response.data,
etag etag
} }
if (includeSAS9Log) {
responseToReturn.log = response.data
}
return responseToReturn
} }
} }

View File

@@ -8,18 +8,6 @@ const mockedAxios = axios as jest.Mocked<typeof axios>
describe('ContextManager', () => { describe('ContextManager', () => {
dotenv.config() dotenv.config()
const sampleLogResponse = {
items: [
{
attributes: {},
createdBy: 'fake creator',
id: 'fakeId',
name: 'Compute Context To Delete',
version: 2
}
]
}
const contextManager = new ContextManager( const contextManager = new ContextManager(
process.env.SERVER_URL as string, process.env.SERVER_URL as string,
new RequestClient(process.env.SERVER_URL as string) new RequestClient(process.env.SERVER_URL as string)
@@ -460,12 +448,10 @@ describe('ContextManager', () => {
Promise.resolve({ data: sampleResponseGetComputeContextByName }) Promise.resolve({ data: sampleResponseGetComputeContextByName })
) )
sampleLogResponse.items[0].name = 'updated name'
const expectedResponse = { const expectedResponse = {
etag: '', etag: '',
result: sampleResponseGetComputeContextByName, result: sampleResponseGetComputeContextByName,
log: sampleLogResponse log: sampleResponseGetComputeContextByName
} }
await expect( await expect(
@@ -592,12 +578,10 @@ describe('ContextManager', () => {
Promise.resolve({ data: sampleResponseDeletedContext }) Promise.resolve({ data: sampleResponseDeletedContext })
) )
sampleLogResponse.items[0].name = 'Compute Context To Delete'
const expectedResponse = { const expectedResponse = {
etag: '', etag: '',
result: sampleResponseDeletedContext, result: sampleResponseDeletedContext,
log: sampleLogResponse log: sampleResponseDeletedContext
} }
await expect( await expect(

View File

@@ -25,15 +25,6 @@ describe('SessionManager', () => {
version: 1 version: 1
} }
const sampleLogResponse = {
links: [],
name: 'SYSJOBID',
ok: true,
scope: 'GLOBAL',
value: '25218',
version: 1
}
mockedAxios.get.mockImplementation(() => mockedAxios.get.mockImplementation(() =>
Promise.resolve({ data: sampleResponse }) Promise.resolve({ data: sampleResponse })
) )
@@ -41,7 +32,7 @@ describe('SessionManager', () => {
const expectedResponse = { const expectedResponse = {
etag: '', etag: '',
result: sampleResponse, result: sampleResponse,
log: sampleLogResponse log: sampleResponse
} }
await expect( await expect(