UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

36 lines 1.96 kB
// SPDX-License-Identifier: Apache-2.0 import { expect } from 'chai'; import { DefaultCacheHandlerRegistry } from '../../../../src/integration/cache/impl/default-cache-handler-registry.js'; import { CacheArtifactEnum } from '../../../../src/integration/cache/enums/cache-artifact-enum.js'; describe('DefaultCacheHandlerRegistry', () => { it('should register and retrieve a handler by type', () => { const registry = new DefaultCacheHandlerRegistry(); const handler = { getType: () => CacheArtifactEnum.IMAGE, }; registry.registerHandler(handler); expect(registry.getHandler(CacheArtifactEnum.IMAGE)).to.equal(handler); }); it('should throw when handler is not registered', () => { const registry = new DefaultCacheHandlerRegistry(); expect(() => registry.getHandler(CacheArtifactEnum.IMAGE)).to.throw('No handler registered for type: images'); }); it('should return all registered handlers', () => { const registry = new DefaultCacheHandlerRegistry(); const imageHandler = { getType: () => CacheArtifactEnum.IMAGE }; const chartHandler = { getType: () => CacheArtifactEnum.HELM_CHART }; registry.registerHandler(imageHandler); registry.registerHandler(chartHandler); expect(registry.getAllHandlers()).to.deep.equal([imageHandler, chartHandler]); }); it('should replace handler for same type', () => { const registry = new DefaultCacheHandlerRegistry(); const handler1 = { getType: () => CacheArtifactEnum.IMAGE }; const handler2 = { getType: () => CacheArtifactEnum.IMAGE }; registry.registerHandler(handler1); registry.registerHandler(handler2); expect(registry.getHandler(CacheArtifactEnum.IMAGE)).to.equal(handler2); expect(registry.getAllHandlers()).to.deep.equal([handler2]); }); }); //# sourceMappingURL=default-cache-handler-registry.test.js.map