mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 11:22:15 +00:00
fix(AWS SES Node): Encode template parameters properly (#13570)
Co-authored-by: Shireen Missi <shireen@n8n.io>
This commit is contained in:
@@ -7,6 +7,10 @@ import * as Helpers from '@test/nodes/Helpers';
|
||||
import type { WorkflowTestData } from '@test/nodes/types';
|
||||
|
||||
describe('AwsSes Node', () => {
|
||||
const email = 'test+user@example.com';
|
||||
const templateData = {
|
||||
Name: 'Special. Characters @#$%^&*()_-',
|
||||
};
|
||||
const tests: WorkflowTestData[] = [
|
||||
{
|
||||
description: 'should create customVerificationEmail',
|
||||
@@ -90,6 +94,80 @@ describe('AwsSes Node', () => {
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
description: 'should URIencode params for sending email with template',
|
||||
input: {
|
||||
workflowData: {
|
||||
nodes: [
|
||||
{
|
||||
parameters: {},
|
||||
type: 'n8n-nodes-base.manualTrigger',
|
||||
typeVersion: 1,
|
||||
position: [-180, 520],
|
||||
id: '363e874a-9054-4a64-bc3f-786719dde626',
|
||||
name: "When clicking 'Test workflow'",
|
||||
},
|
||||
{
|
||||
parameters: {
|
||||
operation: 'sendTemplate',
|
||||
templateName: '=Template11',
|
||||
fromEmail: 'test+user@example.com',
|
||||
toAddresses: ['test+user@example.com'],
|
||||
templateDataUi: {
|
||||
templateDataValues: [
|
||||
{
|
||||
key: 'Name',
|
||||
value: '=Special. Characters @#$%^&*()_-',
|
||||
},
|
||||
],
|
||||
},
|
||||
additionalFields: {},
|
||||
},
|
||||
type: 'n8n-nodes-base.awsSes',
|
||||
typeVersion: 1,
|
||||
position: [60, 520],
|
||||
id: '13bbf4ef-8320-45d1-9210-61b62794a108',
|
||||
name: 'AWS SES',
|
||||
credentials: {
|
||||
aws: {
|
||||
id: 'Nz0QZhzu3MvfK4TQ',
|
||||
name: 'AWS account',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
connections: {
|
||||
"When clicking 'Test workflow'": {
|
||||
main: [
|
||||
[
|
||||
{
|
||||
node: 'AWS SES',
|
||||
type: NodeConnectionType.Main,
|
||||
index: 0,
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
output: {
|
||||
nodeExecutionOrder: ['Start'],
|
||||
nodeData: { 'AWS SES': [[{ json: { success: 'true' } }]] },
|
||||
},
|
||||
nock: {
|
||||
baseUrl: 'https://email.eu-central-1.amazonaws.com',
|
||||
mocks: [
|
||||
{
|
||||
method: 'post',
|
||||
path: `/?Action=SendTemplatedEmail&Template=Template11&Source=${encodeURIComponent(email)}&Destination.ToAddresses.member.1=${encodeURIComponent(email)}&TemplateData=${encodeURIComponent(JSON.stringify(templateData))}`,
|
||||
statusCode: 200,
|
||||
responseBody:
|
||||
'<SendTemplatedEmailResponse><success>true</success></SendTemplatedEmailResponse>',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
const nodeTypes = Helpers.setup(tests);
|
||||
|
||||
Reference in New Issue
Block a user