@@ -16,6 +16,7 @@ import {
1616 ListObjectsCommand ,
1717 PutObjectCommand ,
1818 S3Client ,
19+ waitUntilObjectNotExists ,
1920} from "@aws-sdk/client-s3" ;
2021
2122import { dirnameFromMetaUrl } from "@aws-doc-sdk-examples/lib/utils/util-fs.js" ;
@@ -42,7 +43,7 @@ config();
4243
4344const dirname = dirnameFromMetaUrl ( import . meta. url ) ;
4445const cdkAppPath = `${ dirname } ../../../../resources/cdk/glue_role_bucket/setup.yaml` ;
45- const stackName = `glue-test-stack- ${ Date . now ( ) } ` ;
46+ const stackName = `glue-test-stack` ;
4647const fiveMinutesInMs = 5 * 60 * 1000 ; // 5 Minutes
4748const fiveMinutesInSeconds = fiveMinutesInMs / 1000 ;
4849
@@ -83,9 +84,10 @@ const emptyS3Bucket = async (bucketName) => {
8384 const { Contents } = await client . send ( listCommand ) ;
8485
8586 await Promise . all (
86- Contents . map ( ( { Key } ) =>
87- client . send ( new DeleteObjectCommand ( { Bucket : bucketName , Key } ) ) ,
88- ) ,
87+ Contents . map ( async ( { Key } ) => {
88+ await client . send ( new DeleteObjectCommand ( { Bucket : bucketName , Key } ) ) ;
89+ await waitUntilObjectNotExists ( { client } , { Bucket : bucketName , Key } ) ;
90+ } ) ,
8991 ) ;
9092} ;
9193
@@ -113,18 +115,14 @@ describe("actions", () => {
113115 } , fiveMinutesInMs ) ;
114116
115117 afterAll ( async ( ) => {
116- try {
117- await emptyS3Bucket ( bucketName ) . catch ( console . error ) ;
118- await deleteTable ( "doc-example-database" , "doc-example-csv" ) . catch (
119- console . error ,
120- ) ;
121- await deleteDatabase ( "doc-example-database" ) ;
122- await deleteCrawler ( "s3-flight-data-crawler" ) . catch ( console . error ) ;
123- await deleteJob ( "flight_etl_job" ) . catch ( console . error ) ;
124- await deleteStack ( ) . catch ( console . error ) ;
125- } catch ( err ) {
126- console . error ( err ) ;
127- }
118+ await emptyS3Bucket ( bucketName ) . catch ( console . error ) ;
119+ await deleteTable ( "doc-example-database" , "doc-example-csv" ) . catch (
120+ console . error ,
121+ ) ;
122+ await deleteDatabase ( "doc-example-database" ) . catch ( console . error ) ;
123+ await deleteCrawler ( "s3-flight-data-crawler" ) . catch ( console . error ) ;
124+ await deleteJob ( "flight_etl_job" ) . catch ( console . error ) ;
125+ await deleteStack ( ) . catch ( console . error ) ;
128126 } , fiveMinutesInMs ) ;
129127
130128 const addPythonScriptToBucket = async ( ) => {
@@ -207,20 +205,16 @@ describe("actions", () => {
207205 expect ( JobRuns [ 0 ] . JobName ) . toBe ( "flight_etl_job" ) ;
208206 } ;
209207
210- it (
211- "should run" ,
212- async ( ) => {
213- await addPythonScriptToBucket ( ) ;
214- await testCreateCrawler ( ) ;
215- await testCreateJob ( bucketName , roleName ) ;
216- await testListJobs ( ) ;
217- await testStartCrawler ( ) ;
218- await testGetDatabases ( ) ;
219- await testGetDatabase ( ) ;
220- await testGetTables ( ) ;
221- await testStartJobRun ( bucketName ) ;
222- await testGetJobRuns ( ) ;
223- } ,
224- { timeout : fiveMinutesInMs * 5 } ,
225- ) ;
208+ it ( "should run" , { timeout : fiveMinutesInMs * 5 } , async ( ) => {
209+ await addPythonScriptToBucket ( ) ;
210+ await testCreateCrawler ( ) ;
211+ await testCreateJob ( bucketName , roleName ) ;
212+ await testListJobs ( ) ;
213+ await testStartCrawler ( ) ;
214+ await testGetDatabases ( ) ;
215+ await testGetDatabase ( ) ;
216+ await testGetTables ( ) ;
217+ await testStartJobRun ( bucketName ) ;
218+ await testGetJobRuns ( ) ;
219+ } ) ;
226220} ) ;
0 commit comments