@@ -57,4 +57,92 @@ describe("Configuration validation test", () => {
5757 it ( "Should not validate a function when none are defined" , ( ) => {
5858 expect ( this . isDefinedFunction ( "qux" ) ) . toEqual ( false ) ;
5959 } ) ;
60+
61+ describe ( "SQS trigger validation" , ( ) => {
62+ it ( "Should validate a valid SQS trigger" , ( ) => {
63+ const validTrigger = {
64+ name : "my-sqs-trigger" ,
65+ queue : "my-queue-name" ,
66+ projectId : "12345678-1234-1234-1234-123456789012" ,
67+ region : "fr-par" ,
68+ } ;
69+
70+ expect ( ( ) => this . validateTriggers ( [ { sqs : validTrigger } ] ) ) . not . toThrow ( ) ;
71+ } ) ;
72+
73+ it ( "Should validate SQS trigger without optional fields" , ( ) => {
74+ const validTrigger = {
75+ name : "my-sqs-trigger" ,
76+ queue : "my-queue-name" ,
77+ } ;
78+
79+ expect ( ( ) => this . validateTriggers ( [ { sqs : validTrigger } ] ) ) . not . toThrow ( ) ;
80+ } ) ;
81+
82+ it ( "Should reject SQS trigger with invalid name" , ( ) => {
83+ const invalidTrigger = {
84+ name : "a" , // too short
85+ queue : "my-queue-name" ,
86+ } ;
87+
88+ const errors = this . validateTriggers ( [ { sqs : invalidTrigger } ] ) ;
89+ expect ( errors ) . toHaveLength ( 1 ) ;
90+ expect ( errors [ 0 ] ) . toContain ( 'Invalid trigger "a": name is invalid' ) ;
91+ } ) ;
92+
93+ it ( "Should reject SQS trigger with invalid queue name" , ( ) => {
94+ const invalidTrigger = {
95+ name : "my-sqs-trigger" ,
96+ queue : "a" , // too short
97+ } ;
98+
99+ const errors = this . validateTriggers ( [ { sqs : invalidTrigger } ] ) ;
100+ expect ( errors ) . toHaveLength ( 1 ) ;
101+ expect ( errors [ 0 ] ) . toContain ( 'Invalid trigger "my-sqs-trigger": queue is invalid' ) ;
102+ } ) ;
103+
104+ it ( "Should reject SQS trigger with invalid projectId" , ( ) => {
105+ const invalidTrigger = {
106+ name : "my-sqs-trigger" ,
107+ queue : "my-queue-name" ,
108+ projectId : "invalid-project-id" ,
109+ } ;
110+
111+ const errors = this . validateTriggers ( [ { sqs : invalidTrigger } ] ) ;
112+ expect ( errors ) . toHaveLength ( 1 ) ;
113+ expect ( errors [ 0 ] ) . toContain ( 'Invalid trigger "my-sqs-trigger": projectId is invalid' ) ;
114+ } ) ;
115+
116+ it ( "Should reject SQS trigger with invalid region" , ( ) => {
117+ const invalidTrigger = {
118+ name : "my-sqs-trigger" ,
119+ queue : "my-queue-name" ,
120+ region : "invalid-region" ,
121+ } ;
122+
123+ const errors = this . validateTriggers ( [ { sqs : invalidTrigger } ] ) ;
124+ expect ( errors ) . toHaveLength ( 1 ) ;
125+ expect ( errors [ 0 ] ) . toContain ( 'Invalid trigger "my-sqs-trigger": region is unknown' ) ;
126+ } ) ;
127+
128+ it ( "Should reject SQS trigger without name" , ( ) => {
129+ const invalidTrigger = {
130+ queue : "my-queue-name" ,
131+ } ;
132+
133+ const errors = this . validateTriggers ( [ { sqs : invalidTrigger } ] ) ;
134+ expect ( errors ) . toHaveLength ( 1 ) ;
135+ expect ( errors [ 0 ] ) . toContain ( ': name is invalid' ) ;
136+ } ) ;
137+
138+ it ( "Should reject SQS trigger without queue" , ( ) => {
139+ const invalidTrigger = {
140+ name : "my-sqs-trigger" ,
141+ } ;
142+
143+ const errors = this . validateTriggers ( [ { sqs : invalidTrigger } ] ) ;
144+ expect ( errors ) . toHaveLength ( 1 ) ;
145+ expect ( errors [ 0 ] ) . toContain ( 'Invalid trigger "my-sqs-trigger": queue is invalid' ) ;
146+ } ) ;
147+ } ) ;
60148} ) ;
0 commit comments