@@ -32,31 +32,34 @@ nock(HOST_ADDRESS)
3232 . replyWithError ( { code : 'ENOTFOUND' } )
3333 . persist ( ) ;
3434
35- describe ( 'Logging' , ( ) => {
36- let PROJECT_ID : string ;
37- const TESTS_PREFIX = 'nodejs-logging-system-test' ;
38- const WRITE_CONSISTENCY_DELAY_MS = 5000 ;
39-
35+ describe ( 'Logging' , async ( ) => {
4036 const bigQuery = new BigQuery ( ) ;
4137 const pubsub = new PubSub ( ) ;
4238 const storage = new Storage ( ) ;
4339 const logging = new Logging ( ) ;
4440
41+ const PROJECT_ID = await logging . auth . getProjectId ( ) ;
42+ const TESTS_PREFIX = 'nodejs-logging-system-test' ;
43+ const WRITE_CONSISTENCY_DELAY_MS = 5000 ;
44+
4545 // Create the possible destinations for sinks that we will create.
4646 const bucket = storage . bucket ( generateName ( ) ) ;
4747 const dataset = bigQuery . dataset ( generateName ( ) . replace ( / - / g, '_' ) ) ;
4848 const topic = pubsub . topic ( generateName ( ) ) ;
4949
50- before ( async ( ) => {
51- await Promise . all ( [
52- bucket . create ( ) ,
53- dataset . create ( ) ,
54- topic . create ( ) ,
55- logging . auth . getProjectId ( ) . then ( projectId => {
56- PROJECT_ID = projectId ;
57- } ) ,
58- ] ) ;
50+ const serviceAccount = ( await logging . auth . getCredentials ( ) ) . client_email ;
51+
52+ await bucket . create ( ) ;
53+ await bucket . iam . setPolicy ( {
54+ bindings : [
55+ {
56+ role : 'roles/storage.admin' ,
57+ members : [ `serviceAccount:${ serviceAccount } ` ] ,
58+ } ,
59+ ] ,
5960 } ) ;
61+ await dataset . create ( ) ;
62+ await topic . create ( ) ;
6063
6164 after ( async ( ) => {
6265 const oneHourAgo = new Date ( ) ;
@@ -71,19 +74,15 @@ describe('Logging', () => {
7174 ] ) ;
7275
7376 async function deleteBuckets ( ) {
74- const [ buckets ] = await storage . getBuckets ( {
75- prefix : TESTS_PREFIX ,
77+ const [ buckets ] = await storage . getBuckets ( { prefix : TESTS_PREFIX } ) ;
78+ const bucketsToDelete = buckets . filter ( bucket => {
79+ return new Date ( bucket . metadata . timeCreated ) < oneHourAgo ;
7680 } ) ;
77- return Promise . all (
78- buckets
79- . filter ( bucket => {
80- return new Date ( bucket . metadata . timeCreated ) < oneHourAgo ;
81- } )
82- . map ( async bucket => {
83- await bucket . deleteFiles ( ) ;
84- await bucket . delete ( ) ;
85- } )
86- ) ;
81+
82+ for ( const bucket of bucketsToDelete ) {
83+ await bucket . deleteFiles ( ) ;
84+ await bucket . delete ( ) ;
85+ }
8786 }
8887
8988 async function deleteDatasets ( ) {
0 commit comments