@@ -16,7 +16,6 @@ const env: Env = {
1616const mockChannel = 'C0101010101' ;
1717const mockTs = randomUUIDv7 ( ) ;
1818const mockPermalink = randomUUIDv7 ( ) ;
19- const mockOpenaiContent = randomUUIDv7 ( ) ;
2019const mockSlackPostMessage = mock ( ( ) => {
2120 return Promise . resolve ( { ts : mockTs } as ChatPostMessageResponse ) ;
2221} ) ;
@@ -39,9 +38,6 @@ const mockMongoDbCollection = mock(() => {
3938const mockMongoDb = mock ( ( ) => {
4039 return { collection : mockMongoDbCollection } ;
4140} ) ;
42- const mockOpenaiCreate = mock ( ( ) => {
43- return { choices : [ { message : { content : mockOpenaiContent } } ] } ;
44- } ) ;
4541const mockWadotListUsers = mock ( ( ) => {
4642 return Promise . resolve ( [
4743 { slack_id : 'QWER' , github_id : 'qwer' } ,
@@ -54,7 +50,6 @@ const flush = () => new Promise((r) => setTimeout(() => r(null), 100));
5450
5551const deps = {
5652 slackClient : { postMessage : mockSlackPostMessage , getPermalink : mockSlackGetPermalink } ,
57- openaiClient : { create : mockOpenaiCreate } ,
5853 mongoClient : { db : mockMongoDb as unknown as Deps [ 'mongoClient' ] [ 'db' ] } ,
5954 wadotClient : { listUsers : mockWadotListUsers } ,
6055} as unknown as Deps ;
@@ -67,7 +62,6 @@ const clearMocks = () => {
6762 mockMongoDbCollectionInsertMany . mockClear ( ) ;
6863 mockMongoDbCollection . mockClear ( ) ;
6964 mockMongoDb . mockClear ( ) ;
70- mockOpenaiCreate . mockClear ( ) ;
7165} ;
7266
7367beforeEach ( ( ) => {
@@ -338,15 +332,13 @@ describe('github webhook endpoint', () => {
338332 test ( 'should 400 on invalid' , async ( ) => {
339333 const result = await handle ( deps , env , getRequest ( { body : { } } ) ) ;
340334 expect ( deps . slackClient . postMessage ) . toBeCalledTimes ( 0 ) ;
341- expect ( deps . openaiClient . create ) . toBeCalledTimes ( 0 ) ;
342335 expect ( result . status ) . toBe ( 400 ) ;
343336 expect ( result . body ) . toBe ( null ) ;
344337 } ) ;
345338
346339 test ( 'should ignore others' , async ( ) => {
347340 const result = await handle ( deps , env , getRequest ( { body : { action : '1234' } } ) ) ;
348341 expect ( deps . slackClient . postMessage ) . toBeCalledTimes ( 0 ) ;
349- expect ( deps . openaiClient . create ) . toBeCalledTimes ( 0 ) ;
350342 expect ( result . status ) . toBe ( 200 ) ;
351343 expect ( result . body ) . toBe ( null ) ;
352344 } ) ;
@@ -363,25 +355,10 @@ describe('github webhook endpoint', () => {
363355 repository : { name : randomUUIDv7 ( ) } ,
364356 } ;
365357 const releaseResult = await handle ( deps , env , getRequest ( { body : releaseBody } ) ) ;
366- expect ( deps . openaiClient . create ) . toBeCalledTimes ( 1 ) ;
367- expect ( deps . openaiClient . create ) . toBeCalledWith ( {
368- model : 'gpt-3.5-turbo' ,
369- messages : [
370- {
371- role : 'system' ,
372- content :
373- '์ด ๋ด์ฉ์ ๋ฐฐํฌ์ ์ฐ์ด๋ ๋ฆด๋ฆฌ์ฆ ๋
ธํธ์ผ. ๊ฐ๋ฐ์๋ค์ ์ํด 100์ ์ด๋ด์ ํ๊ธ ๋ฌธ์ฅ ํ ๊ฐ๋ก ์์ฝํด์ค.' ,
374- } ,
375- { role : 'user' , content : releaseBody . release . body } ,
376- ] ,
377- temperature : 0.7 ,
378- max_tokens : 100 ,
379- top_p : 1 ,
380- } ) ;
381358 expect ( deps . slackClient . postMessage ) . toBeCalledTimes ( 2 ) ;
382359 expect ( deps . slackClient . postMessage ) . toHaveBeenNthCalledWith ( 1 , {
383360 channel : env . deployWatcherChannelId ,
384- text : `:rocket: *${ releaseBody . repository . name } /${ releaseBody . release . tag_name } * <@QWER>\n\n ${ mockOpenaiContent } ` ,
361+ text : `:rocket: *${ releaseBody . repository . name } /${ releaseBody . release . tag_name } * <@QWER>` ,
385362 thread_ts : undefined ,
386363 } ) ;
387364 expect ( deps . slackClient . postMessage ) . toHaveBeenNthCalledWith ( 2 , {
@@ -407,7 +384,6 @@ describe('github webhook endpoint', () => {
407384 const workflowStartResult = await handle ( deps , env , getRequest ( { body : workflowStartBody } ) ) ;
408385 expect ( workflowStartResult . status ) . toBe ( 200 ) ;
409386 expect ( workflowStartResult . body ) . toBe ( null ) ;
410- expect ( deps . openaiClient . create ) . toBeCalledTimes ( 0 ) ;
411387 expect ( deps . slackClient . postMessage ) . toBeCalledTimes ( 1 ) ;
412388 expect ( deps . slackClient . postMessage ) . toBeCalledWith ( {
413389 channel : env . deployWatcherChannelId ,
@@ -421,51 +397,13 @@ describe('github webhook endpoint', () => {
421397 const workflowEndResult = await handle ( deps , env , getRequest ( { body : workflowEndBody } ) ) ;
422398 expect ( workflowEndResult . status ) . toBe ( 200 ) ;
423399 expect ( workflowEndResult . body ) . toBe ( null ) ;
424- expect ( deps . openaiClient . create ) . toBeCalledTimes ( 0 ) ;
425400 expect ( deps . slackClient . postMessage ) . toBeCalledTimes ( 1 ) ;
426401 expect ( deps . slackClient . postMessage ) . toBeCalledWith ( {
427402 channel : env . deployWatcherChannelId ,
428403 text : `:tada: deployment completed <${ workflowEndBody . workflow_run . html_url } |${ workflowEndBody . workflow_run . id } >` ,
429404 thread_ts : mockTs ,
430405 } ) ;
431406 } ) ;
432-
433- test ( 'failed to summarize' , async ( ) => {
434- const releaseBody = {
435- action : 'released' ,
436- release : {
437- author : { login : 'qwer' } ,
438- body : randomUUIDv7 ( ) ,
439- tag_name : randomUUIDv7 ( ) ,
440- html_url : randomUUIDv7 ( ) ,
441- } ,
442- repository : { name : randomUUIDv7 ( ) } ,
443- } ;
444- const releaseResult = await handle (
445- {
446- ...deps ,
447- openaiClient : {
448- create : ( ) => {
449- throw new Error ( 'quota exceeded' ) ;
450- } ,
451- } ,
452- } ,
453- env ,
454- getRequest ( { body : releaseBody } ) ,
455- ) ;
456- expect ( releaseResult . status ) . toBe ( 200 ) ;
457- expect ( deps . slackClient . postMessage ) . toBeCalledTimes ( 2 ) ;
458- expect ( deps . slackClient . postMessage ) . toHaveBeenNthCalledWith ( 1 , {
459- channel : env . deployWatcherChannelId ,
460- text : `:rocket: *${ releaseBody . repository . name } /${ releaseBody . release . tag_name } * <@QWER>\n\n์์ฝํ ์ ์์ต๋๋ค: quota exceeded` ,
461- thread_ts : undefined ,
462- } ) ;
463- expect ( deps . slackClient . postMessage ) . toHaveBeenNthCalledWith ( 2 , {
464- channel : env . deployWatcherChannelId ,
465- text : `:memo: <${ releaseBody . release . html_url } |๋ฆด๋ฆฌ์ฆ ๋
ธํธ>\n\n\`\`\`${ releaseBody . release . body } \`\`\`` ,
466- thread_ts : mockTs ,
467- } ) ;
468- } ) ;
469407} ) ;
470408
471409describe ( 'status 500 on error' , ( ) => {
0 commit comments