@@ -35,7 +35,26 @@ describe('Bigtable', () => {
3535 const APP_PROFILE = INSTANCE . appProfile ( APP_PROFILE_ID ) ;
3636 const CLUSTER_ID = generateId ( 'cluster' ) ;
3737
38+ async function reapInstances ( ) {
39+ const [ instances ] = await bigtable . getInstances ( ) ;
40+ const testInstances = instances
41+ . filter ( i => i . id . match ( PREFIX ) )
42+ . filter ( i => {
43+ const timeCreated = ( i . metadata ! . labels ! . time_created as { } ) as Date ;
44+ // Only delete stale resources.
45+ const oneHourAgo = new Date ( Date . now ( ) - 3600000 ) ;
46+ return ! timeCreated || timeCreated <= oneHourAgo ;
47+ } ) ;
48+ const q = new Q ( { concurrency : 5 } ) ;
49+ await Promise . all (
50+ testInstances . map ( instance => {
51+ q . add ( ( ) => instance . delete ( ) ) ;
52+ } )
53+ ) ;
54+ }
55+
3856 before ( async ( ) => {
57+ await reapInstances ( ) ;
3958 const [ , operation ] = await INSTANCE . create ( {
4059 clusters : [
4160 {
@@ -59,21 +78,7 @@ describe('Bigtable', () => {
5978 } ) ;
6079
6180 after ( async ( ) => {
62- const [ instances ] = await bigtable . getInstances ( ) ;
63- const testInstances = instances
64- . filter ( i => i . id . match ( PREFIX ) )
65- . filter ( i => {
66- const timeCreated = ( i . metadata ! . labels ! . time_created as { } ) as Date ;
67- // Only delete stale resources.
68- const oneHourAgo = new Date ( Date . now ( ) - 3600000 ) ;
69- return ! timeCreated || timeCreated <= oneHourAgo ;
70- } ) ;
71- const q = new Q ( { concurrency : 5 } ) ;
72- await Promise . all (
73- testInstances . map ( instance => {
74- q . add ( ( ) => instance . delete ( ) ) ;
75- } )
76- ) ;
81+ await INSTANCE . delete ( ) . catch ( console . error ) ;
7782 } ) ;
7883
7984 describe ( 'instances' , ( ) => {
0 commit comments