From 18a592499ffb26f32635a64d94c2fe737562f2ad Mon Sep 17 00:00:00 2001 From: RomanDavydchuk Date: Thu, 2 Oct 2025 15:49:49 +0300 Subject: [PATCH] fix: Add missing `test` and `authenticate` to OpenWeatherMap, Azure Storage and Netlify credentials (#20221) --- .../AzureStorageSharedKeyApi.credentials.ts | 15 +++++++++++ .../credentials/NetlifyApi.credentials.ts | 23 +++++++++++++++- .../OpenWeatherMapApi.credentials.ts | 26 ++++++++++++++++++- 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/packages/nodes-base/credentials/AzureStorageSharedKeyApi.credentials.ts b/packages/nodes-base/credentials/AzureStorageSharedKeyApi.credentials.ts index f5e0f7a14cc..504d620e4d5 100644 --- a/packages/nodes-base/credentials/AzureStorageSharedKeyApi.credentials.ts +++ b/packages/nodes-base/credentials/AzureStorageSharedKeyApi.credentials.ts @@ -1,5 +1,6 @@ import type { ICredentialDataDecryptedObject, + ICredentialTestRequest, ICredentialType, IHttpRequestOptions, INodeProperties, @@ -93,4 +94,18 @@ export class AzureStorageSharedKeyApi implements ICredentialType { return requestOptions; } + + test: ICredentialTestRequest = { + request: { + baseURL: '={{$credentials.baseUrl}}', + url: '/', + headers: { + 'x-ms-date': '={{ new Date().toUTCString() }}', + 'x-ms-version': '2021-12-02', + }, + qs: { + comp: 'list', + }, + }, + }; } diff --git a/packages/nodes-base/credentials/NetlifyApi.credentials.ts b/packages/nodes-base/credentials/NetlifyApi.credentials.ts index 1c67a6843f9..ece41205d6b 100644 --- a/packages/nodes-base/credentials/NetlifyApi.credentials.ts +++ b/packages/nodes-base/credentials/NetlifyApi.credentials.ts @@ -1,4 +1,9 @@ -import type { ICredentialType, INodeProperties } from 'n8n-workflow'; +import type { + IAuthenticate, + ICredentialTestRequest, + ICredentialType, + INodeProperties, +} from 'n8n-workflow'; export class NetlifyApi implements ICredentialType { name = 'netlifyApi'; @@ -16,4 +21,20 @@ export class NetlifyApi implements ICredentialType { default: '', }, ]; + + authenticate: IAuthenticate = { + type: 'generic', + properties: { + headers: { + Authorization: '=Bearer {{$credentials.accessToken}}', + }, + }, + }; + + test: ICredentialTestRequest = { + request: { + baseURL: 'https://api.netlify.com', + url: '/api/v1/sites', + }, + }; } diff --git a/packages/nodes-base/credentials/OpenWeatherMapApi.credentials.ts b/packages/nodes-base/credentials/OpenWeatherMapApi.credentials.ts index 610385ed342..7f255ec6545 100644 --- a/packages/nodes-base/credentials/OpenWeatherMapApi.credentials.ts +++ b/packages/nodes-base/credentials/OpenWeatherMapApi.credentials.ts @@ -1,4 +1,9 @@ -import type { ICredentialType, INodeProperties } from 'n8n-workflow'; +import type { + IAuthenticate, + ICredentialTestRequest, + ICredentialType, + INodeProperties, +} from 'n8n-workflow'; export class OpenWeatherMapApi implements ICredentialType { name = 'openWeatherMapApi'; @@ -16,4 +21,23 @@ export class OpenWeatherMapApi implements ICredentialType { default: '', }, ]; + + authenticate: IAuthenticate = { + type: 'generic', + properties: { + qs: { + appid: '={{$credentials.accessToken}}', + }, + }, + }; + + test: ICredentialTestRequest = { + request: { + baseURL: 'https://api.openweathermap.org/data/2.5', + url: '/weather', + qs: { + q: 'London', + }, + }, + }; }