File tree Expand file tree Collapse file tree 3 files changed +59
-1
lines changed
packages/wrangler/e2e/helpers Expand file tree Collapse file tree 3 files changed +59
-1
lines changed Original file line number Diff line number Diff line change @@ -142,7 +142,7 @@ export class WranglerE2ETestHelper {
142142 const id = match [ 1 ] ;
143143
144144 onTestFinished ( async ( ) => {
145- await this . run ( `wrangler hyperdrive delete ${ name } ` ) ;
145+ await this . run ( `wrangler hyperdrive delete ${ id } ` ) ;
146146 } ) ;
147147
148148 return { id, name } ;
Original file line number Diff line number Diff line change @@ -30,6 +30,12 @@ export type Database = {
3030 name : string ;
3131} ;
3232
33+ export type HyperdriveConfig = {
34+ id : string ;
35+ name : string ;
36+ created_on : string ;
37+ } ;
38+
3339class ApiError extends Error {
3440 constructor (
3541 readonly url : string ,
@@ -221,3 +227,41 @@ export const deleteDatabase = async (id: string) => {
221227 true
222228 ) ;
223229} ;
230+
231+ export const listHyperdriveConfigs = async ( ) => {
232+ const pageSize = 100 ;
233+ let page = 1 ;
234+ const results : HyperdriveConfig [ ] = [ ] ;
235+ while ( results . length % pageSize === 0 ) {
236+ const res = ( await apiFetch (
237+ `/hyperdrive/configs` ,
238+ { method : "GET" } ,
239+ false ,
240+ new URLSearchParams ( {
241+ per_page : pageSize . toString ( ) ,
242+ page : page . toString ( ) ,
243+ } )
244+ ) ) as HyperdriveConfig [ ] ;
245+ page ++ ;
246+ results . push ( ...res ) ;
247+
248+ if ( res . length < pageSize || page > 5 ) {
249+ break ;
250+ }
251+ }
252+ return results . filter (
253+ ( config ) =>
254+ config . name . includes ( "tmp-e2e" ) && // Databases are more than an hour old
255+ Date . now ( ) - new Date ( config . created_on ) . valueOf ( ) > 1000 * 60 * 60
256+ ) ;
257+ } ;
258+
259+ export const deleteHyperdriveConfig = async ( id : string ) => {
260+ await apiFetch (
261+ `/hyperdrive/configs/${ id } ` ,
262+ {
263+ method : "DELETE" ,
264+ } ,
265+ true
266+ ) ;
267+ } ;
Original file line number Diff line number Diff line change 33 deleteKVNamespace ,
44 deleteProject ,
55 deleteWorker ,
6+ listHyperdriveConfigs ,
67 listTmpDatabases ,
78 listTmpE2EProjects ,
89 listTmpE2EWorkers ,
@@ -80,4 +81,17 @@ async function run() {
8081 `Successfully deleted ${ d1DatabasesToDelete . length } D1 databases`
8182 ) ;
8283 }
84+
85+ const hyperdriveConfigsToDelete = await listHyperdriveConfigs ( ) ;
86+ for ( const config of hyperdriveConfigsToDelete ) {
87+ console . log ( "Deleting Hyperdrive configs: " + config . id ) ;
88+ await deleteDatabase ( config . id ) ;
89+ }
90+ if ( hyperdriveConfigsToDelete . length === 0 ) {
91+ console . log ( `No Hyperdrive configs to delete.` ) ;
92+ } else {
93+ console . log (
94+ `Successfully deleted ${ hyperdriveConfigsToDelete . length } hyperdrive configs`
95+ ) ;
96+ }
8397}
You can’t perform that action at this time.
0 commit comments