@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
34 lines • 1.79 kB
JavaScript
// SPDX-License-Identifier: Apache-2.0
import { expect } from 'chai';
import { ImageCacheHandlerBuilder } from '../../../../src/integration/cache/impl/image-cache-handler-builder.js';
import { StaticCacheTargetProvider } from '../../../../src/integration/cache/target-providers/static-cache-target-provider.js';
import { ImageCacheHandler } from '../../../../src/integration/cache/impl/image-cache-handler.js';
describe('ImageCacheHandlerBuilder', () => {
const engine = {
pullImage: async () => undefined,
saveImage: async () => undefined,
loadImage: async () => undefined,
loadImageArchiveIntoCluster: async () => undefined,
removeImage: async () => undefined,
};
it('should throw when provider is missing', () => {
expect(() => new ImageCacheHandlerBuilder().engine(engine).build()).to.throw('ImageCacheHandlerBuilder: provider must be set');
});
it('should throw when engine is missing', () => {
const provider = new StaticCacheTargetProvider([]);
expect(() => new ImageCacheHandlerBuilder().provider(provider).build()).to.throw('ImageCacheHandlerBuilder: engine must be set');
});
it('should build ImageCacheHandler when provider and engine are set', () => {
const provider = new StaticCacheTargetProvider([]);
const result = new ImageCacheHandlerBuilder()
.provider(provider)
.engine(engine)
.build();
expect(result).to.be.instanceOf(ImageCacheHandler);
});
it('fromYaml should return builder instance', () => {
const result = ImageCacheHandlerBuilder.fromYaml('/tmp/images.yaml');
expect(result).to.be.instanceOf(ImageCacheHandlerBuilder);
});
});
//# sourceMappingURL=image-cache-handler-builder.test.js.map