本文整理汇总了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');
});
});
});
示例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');
});