test('initWatcher should create a configured DockerApi instance', () => { docker.configuration = docker.validateConfiguration(configurationValid); docker.initWatcher(); expect(docker.dockerApi.modem.socketPath).toBe(configurationValid.socket); });
/** * Get all images to watch. * @returns {Promise<unknown[]>} */ async getImages() { const containers = await this.dockerApi.container.list(); const filteredContainers = containers // Filter containers on labels .filter((container) => { if (this.configuration.watchbydefault) { return true; } const labels = container.data.Labels; return Object.keys(labels).find((labelName) => labelName.toLowerCase() === 'wud.watch') !== undefined; }); const imagesPromises = filteredContainers .map((container) => { const labels = container.data.Labels; const includeTags = Object.keys(labels).find((labelName) => labelName.toLowerCase() === 'wud.tag.include') ? labels['wud.tag.include'] : undefined; const excludeTags = Object.keys(labels).find((labelName) => labelName.toLowerCase() === 'wud.tag.exclude') ? labels['wud.tag.exclude'] : undefined; return this.mapContainerToImage(container, includeTags, excludeTags); }); return Promise.all(imagesPromises); }