@microtica/mocks
Version:
Mock services for automated tests
36 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const AWS = require("aws-sdk");
const mock = require("mock-require");
const uuid = require("uuid");
const mock_service_1 = require("../mock-service");
class CodeBuild extends mock_service_1.MockService {
createProject(input) {
this.storage.insert(input.name, input);
return this.responseConstructor.returnResolve({});
}
updateProject(input) {
this.storage.insert(input.name, input);
return this.responseConstructor.returnResolve({});
}
startBuild(input) {
const id = `${uuid.v4()}:${uuid.v4()}`;
this.storage.insert(id, input);
return this.responseConstructor.returnResolve({ build: { id } });
}
batchGetBuilds(input) {
const buildsFound = input.ids.map(id => (this.storage.get(id))).filter(Boolean);
const buildsNotFound = input.ids.filter(id => !buildsFound.includes(id));
const builds = buildsFound.map(build => (Object.assign({}, build, { buildComplete: true })));
return this.responseConstructor.returnResolve({ builds, buildsNotFound });
}
batchGetProjects(input) {
const projects = input.names.map(name => this.storage.get(name)).filter(Boolean);
const projectsNotFound = input.names.filter(name => !projects.includes(name));
return this.responseConstructor.returnResolve({ projects, projectsNotFound });
}
}
exports.CodeBuild = CodeBuild;
AWS.CodeBuild = CodeBuild;
mock("aws-sdk", AWS);
//# sourceMappingURL=codebuild.js.map