@@ -8,9 +8,10 @@ import { delay } from '@httptoolkit/util';
88import Docker from 'dockerode' ;
99import fetch from 'node-fetch' ;
1010
11- import { FIXTURES_DIR } from '../../test-util' ;
11+ import { FIXTURES_DIR , TEST_CONTAINER_LABEL , removeTestContainers } from '../../test-util' ;
1212import { setupInterceptor , itIsAvailable } from './interceptor-test-utils' ;
1313import { waitForDockerStream } from '../../../src/interceptors/docker/docker-utils' ;
14+ import { DOCKER_CONTAINER_LABEL } from '../../../src/interceptors/docker/docker-commands' ;
1415
1516const docker = new Docker ( ) ;
1617const DOCKER_FIXTURES = path . join ( FIXTURES_DIR , 'docker' ) ;
@@ -49,6 +50,7 @@ async function buildAndRun(dockerFolder: string, options: {
4950 // Run the container, using its default entrypoint
5051 const container = await docker . createContainer ( {
5152 Image : imageName ,
53+ Labels : { [ TEST_CONTAINER_LABEL ] : '' } ,
5254 HostConfig : {
5355 AutoRemove : true ,
5456 PortBindings : portBindings
@@ -86,10 +88,15 @@ async function buildAndRun(dockerFolder: string, options: {
8688}
8789
8890async function killAllContainers ( ) {
89- const containers = await docker . listContainers ( )
91+ const containers = await docker . listContainers ( {
92+ filters : JSON . stringify ( { label : [ TEST_CONTAINER_LABEL ] } )
93+ } ) ;
9094 await Promise . all ( containers . map ( c =>
91- docker . getContainer ( c . Id ) . stop ( { t : 0 } )
95+ docker . getContainer ( c . Id ) . stop ( { t : 0 } ) . catch ( ( ) => { } )
9296 ) ) ;
97+
98+ // Wait until containers are fully gone (AutoRemove may be async):
99+ await removeTestContainers ( docker , TEST_CONTAINER_LABEL ) ;
93100}
94101
95102const interceptorSetup = setupInterceptor ( 'docker-attach' ) ;
@@ -105,6 +112,7 @@ describe('Docker single-container interceptor', function () {
105112 const { server, interceptor } = await interceptorSetup ;
106113 await killAllContainers ( ) ;
107114 await interceptor . deactivate ( server . port ) ;
115+ await removeTestContainers ( docker , DOCKER_CONTAINER_LABEL ) ;
108116 await server . stop ( ) ;
109117 } ) ;
110118
0 commit comments