本文整理汇总了TypeScript中core/instance/instance.write.service.InstanceWriter类的典型用法代码示例。如果您正苦于以下问题:TypeScript write.service.InstanceWriter类的具体用法?TypeScript write.service.InstanceWriter怎么用?TypeScript write.service.InstanceWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了write.service.InstanceWriter类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('Service: instance writer', function () {
let service: InstanceWriter,
serverGroupReader: ServerGroupReader,
taskExecutor: TaskExecutor,
$q: ng.IQService,
$scope: ng.IScope,
applicationModelBuilder: ApplicationModelBuilder,
MultiselectModel: any;
beforeEach(
mock.module(
INSTANCE_WRITE_SERVICE,
APPLICATION_MODEL_BUILDER,
require('../cluster/filter/multiselect.model').name
)
);
beforeEach(
mock.inject((instanceWriter: InstanceWriter,
_taskExecutor_: TaskExecutor,
_serverGroupReader_: ServerGroupReader,
_$q_: ng.IQService,
$rootScope: ng.IRootScopeService,
_applicationModelBuilder_: ApplicationModelBuilder,
_MultiselectModel_: any) => {
service = instanceWriter;
taskExecutor = _taskExecutor_;
serverGroupReader = _serverGroupReader_;
$q = _$q_;
$scope = $rootScope.$new();
applicationModelBuilder = _applicationModelBuilder_;
MultiselectModel = _MultiselectModel_;
})
);
describe('terminate and decrement server group', () => {
it('should set setMaxToNewDesired flag based on current server group capacity', function () {
const serverGroup = {
asg: {
minSize: 4,
maxSize: 4
}
};
const instance: IInstance = {
id: 'i-123456',
account: 'test',
region: 'us-east-1',
serverGroup: 'asg-1',
health: [],
healthState: 'Up',
zone: 'a',
launchTime: 2,
};
const application: Application = applicationModelBuilder.createApplication('app', { key: 'serverGroups', lazy: true });
let executedTask: IJob = null;
spyOn(taskExecutor, 'executeTask').and.callFake((task: ITaskCommand) => {
executedTask = task.job[0];
});
spyOn(serverGroupReader, 'getServerGroup').and.returnValue($q.when(serverGroup));
service.terminateInstanceAndShrinkServerGroup(instance, application, {});
$scope.$digest();
$scope.$digest();
expect(taskExecutor.executeTask).toHaveBeenCalled();
expect(executedTask['setMaxToNewDesired']).toBe(true);
});
});
describe('multi-instance operations', () => {
let task: ITaskCommand,
serverGroupA: IServerGroup,
serverGroupB: IServerGroup;
function getInstanceGroup(serverGroup: IServerGroup): IMultiInstanceGroup {
return MultiselectModel.getOrCreateInstanceGroup(serverGroup);
}
function addInstance(serverGroup: IServerGroup, instance: IInstance) {
const instanceGroup: IMultiInstanceGroup = getInstanceGroup(serverGroup);
instanceGroup.instanceIds.push(instance.id);
instanceGroup.instances.push(instance);
}
beforeEach(function () {
task = null;
serverGroupA = { type: 'aws', cloudProvider: 'aws', name: 'asg-v001', account: 'prod', region: 'us-east-1', cluster: 'asg', instanceCounts: null, instances: [] };
serverGroupB = { type: 'gce', cloudProvider: 'gce', name: 'asg-v002', account: 'test', region: 'us-west-1', cluster: 'asg', instanceCounts: null, instances: [] };
spyOn(taskExecutor, 'executeTask').and.callFake((command: ITaskCommand) => task = command);
});
it('only sends jobs for groups with instances', () => {
const application: Application = applicationModelBuilder.createApplication('app');
//.........这里部分代码省略.........
示例2: it
it('includes a useful descriptor on enable in discovery', function() {
const application: Application = ApplicationModelBuilder.createApplicationForTests('app');
addInstance(serverGroupA, {
name: 'i-123',
id: 'i-123',
health: [],
healthState: 'Up',
zone: 'a',
launchTime: 2,
});
service.enableInstancesInDiscovery([getInstanceGroup(serverGroupA)], application);
expect(task.description).toBe('Enable 1 instance in discovery');
addInstance(serverGroupA, {
name: 'i-1234',
id: 'i-1234',
health: [],
healthState: 'Up',
zone: 'a',
launchTime: 1,
});
service.enableInstancesInDiscovery([getInstanceGroup(serverGroupA)], application);
expect(task.description).toBe('Enable 2 instances in discovery');
});
示例3: it
it('includes a useful descriptor on terminate instances', () => {
const application: Application = applicationModelBuilder.createApplication('app');
addInstance(serverGroupA, {
name: 'i-123',
id: 'i-123',
health: [],
healthState: 'Up',
zone: 'a',
launchTime: 2,
});
service.terminateInstances([getInstanceGroup(serverGroupA)], application);
expect(task.description).toBe('Terminate 1 instance');
addInstance(serverGroupA, {
name: 'i-1234',
id: 'i-1234',
health: [],
healthState: 'Up',
zone: 'a',
launchTime: 1,
});
service.terminateInstances([getInstanceGroup(serverGroupA)], application);
expect(task.description).toBe('Terminate 2 instances');
});
示例4: it
it('includes a useful descriptor on disable in discovery', function () {
let application: Application = applicationModelBuilder.createApplication();
addInstance(serverGroupA, {id: 'i-123', health: [], healthState: 'Up', zone: 'a', launchTime: 2});
service.disableInstancesInDiscovery([getInstanceGroup(serverGroupA)], application);
expect(task.description).toBe('Disable 1 instance in discovery');
addInstance(serverGroupA, {id: 'i-1234', health: [], healthState: 'Up', zone: 'a', launchTime: 1});
service.disableInstancesInDiscovery([getInstanceGroup(serverGroupA)], application);
expect(task.description).toBe('Disable 2 instances in discovery');
});
示例5: it
it('should set setMaxToNewDesired flag based on current server group capacity', function () {
const serverGroup = {
asg: {
minSize: 4,
maxSize: 4
}
};
const instance: IInstance = {
id: 'i-123456',
account: 'test',
region: 'us-east-1',
serverGroup: 'asg-1',
health: [],
healthState: 'Up',
zone: 'a',
launchTime: 2,
};
const application: Application = applicationModelBuilder.createApplication('app', { key: 'serverGroups', lazy: true });
let executedTask: IJob = null;
spyOn(taskExecutor, 'executeTask').and.callFake((task: ITaskCommand) => {
executedTask = task.job[0];
});
spyOn(serverGroupReader, 'getServerGroup').and.returnValue($q.when(serverGroup));
service.terminateInstanceAndShrinkServerGroup(instance, application, {});
$scope.$digest();
$scope.$digest();
expect(taskExecutor.executeTask).toHaveBeenCalled();
expect(executedTask['setMaxToNewDesired']).toBe(true);
});