@amplience/dc-cli
Version:
Dynamic Content CLI Tool
76 lines (75 loc) • 2.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockContentHub = void 0;
const ApiClient_1 = require("../ch-api/api/services/ApiClient");
const Asset_1 = require("../ch-api/model/Asset");
class MockContentHub {
constructor() {
this.settings = {
get: () => {
if (MockContentHub.throwOnGetSettings) {
throw new Error('Simulated settings error.');
}
if (MockContentHub.returnNullEndpoint) {
return Promise.resolve({
di: {
endpoints: [],
defaultEndpoint: null
}
});
}
else {
return Promise.resolve({
di: {
endpoints: [
{
id: 'test-endpoint',
path: 'test-endpoint-path',
dynamicHost: 'test-endpoint-dynamicHost'
}
],
defaultEndpoint: 'test-endpoint'
}
});
}
}
};
this.assets = {
list: (query) => {
MockContentHub.requests.push(query);
if (MockContentHub.throwOnAssetList) {
throw new Error('Simulated asset list error.');
}
let list;
if (MockContentHub.missingAssetList) {
list = new Asset_1.AssetsList({
data: [],
count: 0
});
}
else {
const nameStart = query.q.indexOf('/');
const nameEnd = query.q.lastIndexOf('/');
const name = query.q.substring(nameStart + 1, nameEnd);
const names = name.split('|');
list = new Asset_1.AssetsList({
data: names.map(name => ({
id: name,
name
})),
count: names.length
});
}
list.setClient(this.client);
return Promise.resolve(list);
}
};
this.client = new ApiClient_1.DefaultApiClient('', null, null);
}
}
exports.MockContentHub = MockContentHub;
MockContentHub.throwOnGetSettings = false;
MockContentHub.returnNullEndpoint = false;
MockContentHub.throwOnAssetList = false;
MockContentHub.missingAssetList = false;
MockContentHub.requests = [];