@@ -10,17 +10,26 @@ import {
1010import { mockClient } from 'aws-sdk-client-mock' ;
1111
1212import { testLogs } from './framework/logging.js' ;
13- import { processEvent } from './process/process.js' ;
13+ import { getDeploymentInfo , process } from './process/process.js' ;
1414
1515import { handler } from './index.js' ;
1616
1717const codeDeploy = mockClient ( CodeDeployClient ) ;
1818
19- const processEventMock = jest . mocked ( processEvent ) ;
19+ const getDeploymentInfoMock = jest . mocked ( getDeploymentInfo ) ;
20+ const processMock = jest . mocked ( process ) ;
21+
22+ beforeEach ( ( ) => {
23+ getDeploymentInfoMock . mockResolvedValue ( {
24+ applicationName : 'beep' ,
25+ revision : { string : { content : 'stuff' } } ,
26+ } ) ;
27+ } ) ;
2028
2129afterEach ( ( ) => {
2230 codeDeploy . reset ( ) ;
23- processEventMock . mockReset ( ) ;
31+ getDeploymentInfoMock . mockReset ( ) ;
32+ processMock . mockReset ( ) ;
2433 testLogs . length = 0 ;
2534} ) ;
2635
@@ -39,13 +48,13 @@ describe('handler', () => {
3948 } ;
4049
4150 it ( 'reports a success back to CodeDeploy' , async ( ) => {
42- processEventMock . mockResolvedValue ( undefined ) ;
51+ processMock . mockResolvedValue ( undefined ) ;
4352
4453 codeDeploy . on ( PutLifecycleEventHookExecutionStatusCommand ) . resolves ( { } ) ;
4554
4655 await expect ( handler ( event , context ) ) . resolves . toBeUndefined ( ) ;
4756
48- expect ( processEventMock ) . toHaveBeenCalledTimes ( 1 ) ;
57+ expect ( processMock ) . toHaveBeenCalledTimes ( 1 ) ;
4958
5059 expect ( codeDeploy ) . toHaveReceivedNthCommandWith (
5160 1 ,
@@ -59,9 +68,14 @@ describe('handler', () => {
5968
6069 expect ( testLogs ) . toStrictEqual ( [
6170 {
71+ applicationName : 'beep' ,
6272 awsRequestId : context . awsRequestId ,
73+ deploymentId : 'mock-deployment-id' ,
6374 level : 30 ,
6475 msg : 'Reported lifecycle event status' ,
76+ revision : {
77+ string : { content : 'stuff' } ,
78+ } ,
6579 status : LifecycleEventStatus . SUCCEEDED ,
6680 timestamp : expect . any ( String ) ,
6781 } ,
@@ -80,13 +94,13 @@ describe('handler', () => {
8094 } ,
8195 ) ;
8296
83- processEventMock . mockRejectedValue ( err ) ;
97+ processMock . mockRejectedValue ( err ) ;
8498
8599 codeDeploy . on ( PutLifecycleEventHookExecutionStatusCommand ) . resolves ( { } ) ;
86100
87101 await expect ( handler ( event , context ) ) . resolves . toBeUndefined ( ) ;
88102
89- expect ( processEventMock ) . toHaveBeenCalledTimes ( 1 ) ;
103+ expect ( processMock ) . toHaveBeenCalledTimes ( 1 ) ;
90104
91105 expect ( codeDeploy ) . toHaveReceivedNthCommandWith (
92106 1 ,
@@ -100,7 +114,9 @@ describe('handler', () => {
100114
101115 expect ( testLogs ) . toStrictEqual ( [
102116 {
117+ applicationName : 'beep' ,
103118 awsRequestId : context . awsRequestId ,
119+ deploymentId : 'mock-deployment-id' ,
104120 err : {
105121 message : err . message ,
106122 payload : err . payload ,
@@ -109,12 +125,20 @@ describe('handler', () => {
109125 } ,
110126 level : 50 ,
111127 msg : 'Failed to process lifecycle event' ,
128+ revision : {
129+ string : { content : 'stuff' } ,
130+ } ,
112131 timestamp : expect . any ( String ) ,
113132 } ,
114133 {
134+ applicationName : 'beep' ,
115135 awsRequestId : context . awsRequestId ,
136+ deploymentId : 'mock-deployment-id' ,
116137 level : 30 ,
117138 msg : 'Reported lifecycle event status' ,
139+ revision : {
140+ string : { content : 'stuff' } ,
141+ } ,
118142 status : LifecycleEventStatus . FAILED ,
119143 timestamp : expect . any ( String ) ,
120144 } ,
@@ -124,7 +148,7 @@ describe('handler', () => {
124148 it ( 'throws on failure to report a success' , async ( ) => {
125149 const err = new Error ( 'mock-error' ) ;
126150
127- processEventMock . mockResolvedValue ( undefined ) ;
151+ processMock . mockResolvedValue ( undefined ) ;
128152
129153 codeDeploy . on ( PutLifecycleEventHookExecutionStatusCommand ) . rejects ( err ) ;
130154
@@ -134,7 +158,7 @@ describe('handler', () => {
134158 `"Failed to report lifecycle event status"` ,
135159 ) ;
136160
137- expect ( processEventMock ) . toHaveBeenCalledTimes ( 1 ) ;
161+ expect ( processMock ) . toHaveBeenCalledTimes ( 1 ) ;
138162
139163 expect ( codeDeploy ) . toHaveReceivedNthCommandWith (
140164 1 ,
@@ -148,11 +172,16 @@ describe('handler', () => {
148172
149173 expect ( testLogs ) . toStrictEqual ( [
150174 {
175+ applicationName : 'beep' ,
151176 awsRequestId : context . awsRequestId ,
177+ deploymentId : 'mock-deployment-id' ,
152178 err : expect . objectContaining ( { message : err . message } ) ,
153179 level : 50 ,
154180 msg : 'Failed to report lifecycle event status' ,
155181 status : LifecycleEventStatus . SUCCEEDED ,
182+ revision : {
183+ string : { content : 'stuff' } ,
184+ } ,
156185 timestamp : expect . any ( String ) ,
157186 } ,
158187 ] ) ;
@@ -166,15 +195,15 @@ describe('handler', () => {
166195 . on ( PutLifecycleEventHookExecutionStatusCommand )
167196 . rejects ( reportError ) ;
168197
169- processEventMock . mockRejectedValue ( processError ) ;
198+ processMock . mockRejectedValue ( processError ) ;
170199
171200 await expect (
172201 handler ( event , context ) ,
173202 ) . rejects . toThrowErrorMatchingInlineSnapshot (
174203 `"Failed to report lifecycle event status"` ,
175204 ) ;
176205
177- expect ( processEventMock ) . toHaveBeenCalledTimes ( 1 ) ;
206+ expect ( processMock ) . toHaveBeenCalledTimes ( 1 ) ;
178207
179208 expect ( codeDeploy ) . toHaveReceivedNthCommandWith (
180209 1 ,
@@ -188,17 +217,27 @@ describe('handler', () => {
188217
189218 expect ( testLogs ) . toStrictEqual ( [
190219 {
220+ applicationName : 'beep' ,
191221 awsRequestId : context . awsRequestId ,
222+ deploymentId : 'mock-deployment-id' ,
192223 err : expect . objectContaining ( { message : processError . message } ) ,
193224 level : 50 ,
194225 msg : 'Failed to process lifecycle event' ,
226+ revision : {
227+ string : { content : 'stuff' } ,
228+ } ,
195229 timestamp : expect . any ( String ) ,
196230 } ,
197231 {
232+ applicationName : 'beep' ,
198233 awsRequestId : context . awsRequestId ,
234+ deploymentId : 'mock-deployment-id' ,
199235 err : expect . objectContaining ( { message : reportError . message } ) ,
200236 level : 50 ,
201237 msg : 'Failed to report lifecycle event status' ,
238+ revision : {
239+ string : { content : 'stuff' } ,
240+ } ,
202241 status : LifecycleEventStatus . FAILED ,
203242 timestamp : expect . any ( String ) ,
204243 } ,
0 commit comments