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


TypeScript reservationReport.read.service.ReservationReportReader类代码示例

本文整理汇总了TypeScript中netflix/report/reservationReport.read.service.ReservationReportReader的典型用法代码示例。如果您正苦于以下问题:TypeScript read.service.ReservationReportReader类的具体用法?TypeScript read.service.ReservationReportReader怎么用?TypeScript read.service.ReservationReportReader使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了read.service.ReservationReportReader类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: describe

describe('ReservationReport: ', () => {

  let $http: IHttpBackendService;
  let reader: ReservationReportReader;

  beforeEach(mock.module(RESERVATION_REPORT_READER));
  beforeEach(mock.inject(($httpBackend: IHttpBackendService,
                          reservationReportReader: ReservationReportReader) => {
    $http = $httpBackend;
    reader = reservationReportReader;
  }));

  describe('test reservation retrieval', () => {

    beforeEach(() => {
      $http.whenGET(`${SETTINGS.gateUrl}/reports/reservation/v2`).respond(200, []);
    });

    it('should return a promise', () => {
      const result: IPromise<IReservationReport> = reader.getReservations();
      $http.flush();
      expect(result.then).toBeDefined();
      expect(result.catch).toBeDefined();
    });
  });

  describe('test reservation extraction', () => {

    function getReservation(account: string, region: string, instanceType: string, id: string): IReservation {

      const reservation: IReservation = {
        accounts: {},
        availabilityZoneId: `azId_${id}`,
        instanceType,
        os: `os_${id}`,
        region,
        totalReserved: 1,
        totalSurplus: 2,
        totalUsed: 3
      };
      reservation.accounts[account] = {
        reserved: 1,
        surplus: 2,
        used: 3
      };

      return reservation;
    }

    it('should return an empty array if passed an empty array', () => {
      expect(reader.extractReservations([], 'account', 'region', 'instanceType').length).toBe(0);
    });

    it('should only extract the reservations whose regions, instanceTypes, and account match', () => {
      const accounts: string[] = ['test', 'prod'];
      const regions: string[] = ['us-west-1', 'us-west-2', 'us-east-1', 'eu-west-1'];
      const instanceTypes: string[] = ['small', 'medium', 'large'];

      const reservations: IReservation[] = [];
      accounts.forEach((account: string, i: number) => {
        regions.forEach((region: string, j: number) => {
          instanceTypes.forEach((instanceType: string, k: number) => {
            reservations.push(getReservation(account, region, instanceType, `${i}${j}${k}`));
          });
        });
      });

      const account = 'test';
      const region = 'us-west-2';
      const instanceType = 'small';
      const extracted: IExtractedReservation[] = reader.extractReservations(reservations, account, region, instanceType);
      expect(extracted.length).toBe(1);
      expect(extracted[0].os).toBe('os_010');
    });
  });
});
开发者ID:brujoand,项目名称:deck,代码行数:76,代码来源:reservationReport.read.service.spec.ts

示例2: it

    it('should only extract the reservations whose regions, instanceTypes, and account match', () => {
      const accounts: string[] = ['test', 'prod'];
      const regions: string[] = ['us-west-1', 'us-west-2', 'us-east-1', 'eu-west-1'];
      const instanceTypes: string[] = ['small', 'medium', 'large'];

      const reservations: IReservation[] = [];
      accounts.forEach((account: string, i: number) => {
        regions.forEach((region: string, j: number) => {
          instanceTypes.forEach((instanceType: string, k: number) => {
            reservations.push(getReservation(account, region, instanceType, `${i}${j}${k}`));
          });
        });
      });

      const account = 'test';
      const region = 'us-west-2';
      const instanceType = 'small';
      const extracted: IExtractedReservation[] = reader.extractReservations(reservations, account, region, instanceType);
      expect(extracted.length).toBe(1);
      expect(extracted[0].os).toBe('os_010');
    });
开发者ID:brujoand,项目名称:deck,代码行数:21,代码来源:reservationReport.read.service.spec.ts


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