当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript instance.write.service.InstanceWriter类代码示例

本文整理汇总了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');
//.........这里部分代码省略.........
开发者ID:robfletcher,项目名称:deck,代码行数:101,代码来源:instance.write.service.spec.ts

示例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');
    });
开发者ID:emjburns,项目名称:deck,代码行数:25,代码来源:instance.write.service.spec.ts

示例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');
    });
开发者ID:mizzy,项目名称:deck,代码行数:25,代码来源:instance.write.service.spec.ts

示例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');
    });
开发者ID:jtk54,项目名称:deck,代码行数:11,代码来源:instance.write.service.spec.ts

示例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);
    });
开发者ID:robfletcher,项目名称:deck,代码行数:34,代码来源:instance.write.service.spec.ts


注:本文中的core/instance/instance.write.service.InstanceWriter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。