feat(Magento 2 Node): Add credential tests (#3086)

* Implements Magento Auth API Test

* Deletes unit tests

* Fixed lint issues and changed the URI for the credential test

*  Move credential verification to the credential file

*  Simplify code

Co-authored-by: paolo-rechia <paolo@e-bot7.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
This commit is contained in:
Jonathan Bennetts 2022-04-08 11:01:21 +01:00 committed by GitHub
parent c7a037e9fe
commit a11b00a037
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 5 deletions

View file

@ -1,4 +1,6 @@
import {
IAuthenticateBearer,
ICredentialTestRequest,
ICredentialType,
INodeProperties,
} from 'n8n-workflow';
@ -21,4 +23,15 @@ export class Magento2Api implements ICredentialType {
default: '',
},
];
test: ICredentialTestRequest = {
request: {
baseURL: '={{$credentials.host}}',
url: '/rest/default/V1/modules',
},
};
authenticate = {
type: 'bearer',
properties: {},
} as IAuthenticateBearer;
}

View file

@ -28,10 +28,6 @@ export async function magentoApiRequest(this: IWebhookFunctions | IHookFunctions
const credentials = await this.getCredentials('magento2Api') as IDataObject;
let options: OptionsWithUri = {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${credentials.accessToken}`,
},
method,
body,
qs,
@ -45,7 +41,7 @@ export async function magentoApiRequest(this: IWebhookFunctions | IHookFunctions
delete options.body;
}
//@ts-ignore
return await this.helpers.request.call(this, options);
return await this.helpers.requestWithAuthentication.call(this, 'magento2Api', options);
} catch (error) {
throw new NodeApiError(this.getNode(), error);
}

View file

@ -1,10 +1,18 @@
import {
OptionsWithUri,
} from 'request';
import {
IExecuteFunctions,
} from 'n8n-core';
import {
ICredentialsDecrypted,
ICredentialTestFunctions,
IDataObject,
ILoadOptionsFunctions,
INodeCredentialTestResult,
INodeExecutionData,
INodePropertyOptions,
INodeType,