當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。