本文整理匯總了TypeScript中amazon/serverGroup.IUpsertAlarmDescription類的典型用法代碼示例。如果您正苦於以下問題:TypeScript IUpsertAlarmDescription類的具體用法?TypeScript IUpsertAlarmDescription怎麽用?TypeScript IUpsertAlarmDescription使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了IUpsertAlarmDescription類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: describe
describe('Component: metric selector', () => {
let $ctrl: MetricSelectorController;
let $componentController: IComponentControllerService;
let $q: IQService;
let $scope: IScope;
const alarmUpdated = new Subject<void>();
let alarm: IUpsertAlarmDescription;
let serverGroup: IServerGroup;
beforeEach(mock.module(METRIC_SELECTOR_COMPONENT));
beforeEach(
mock.inject(
(_$componentController_: IComponentControllerService, _$q_: IQService, $rootScope: IRootScopeService) => {
$componentController = _$componentController_;
$q = _$q_;
$scope = $rootScope.$new();
},
),
);
const initialize = () => {
$ctrl = $componentController(
'awsMetricSelector',
{ $scope },
{ alarm, serverGroup, alarmUpdated },
) as MetricSelectorController;
$ctrl.$onInit();
};
const makeServerGroup = (name: string): IServerGroup => {
return {
name,
account: 'test',
cloudProvider: 'aws',
cluster: undefined,
region: 'us-east-1',
type: undefined,
instanceCounts: undefined,
instances: undefined,
};
};
const makeAlarm = (
namespace: string,
metricName: string,
comparisonOperator: AlarmComparisonOperator,
dimensions: IMetricAlarmDimension[],
): IUpsertAlarmDescription => {
return {
asgName: undefined,
name: undefined,
region: undefined,
alarmDescription: undefined,
evaluationPeriods: undefined,
period: undefined,
threshold: undefined,
statistic: undefined,
unit: undefined,
alarmActionArns: undefined,
insufficientDataActionArns: undefined,
okActionArns: undefined,
comparisonOperator,
dimensions,
metricName,
namespace,
};
};
describe('initialization', () => {
beforeEach(() => {
alarm = makeAlarm('AWS/EC2', 'CPUUtilization', 'GreaterThanThreshold', [
{
name: 'AutoScalingGroupName',
value: 'asg-v000',
},
]);
});
it('sets advanced mode when dimensions are non-standard', () => {
serverGroup = makeServerGroup('asg-v000');
initialize();
expect($ctrl.state.advancedMode).toBe(false);
serverGroup = makeServerGroup('other-v001');
initialize();
$ctrl.$onInit();
expect($ctrl.state.advancedMode).toBe(true);
});
it('updates available metrics on initialization, triggers alarmUpdated once', () => {
spyOn(CloudMetricsReader, 'listMetrics').and.returnValue(
$q.when([
{
namespace: 'AWS/EC2',
name: 'CPUUtilization',
dimensions: [{ name: 'AutoScalingGroupName', value: 'asg-v000' }],
},
{
//.........這裏部分代碼省略.........
示例2: beforeEach
beforeEach(() => {
alarm = makeAlarm('AWS/EC2', 'CPUUtilization', 'GreaterThanThreshold', [
{ name: 'AutoScalingGroupName', value: 'asg-v000' },
]);
serverGroup = makeServerGroup('asg-v000');
spyOn(CloudMetricsReader, 'listMetrics').and.returnValue(
$q.when([
{
namespace: 'AWS/EC2',
name: 'CPUUtilization',
dimensions: [{ name: 'AutoScalingGroupName', value: 'asg-v000' }],
},
{
namespace: 'AWS/EC2',
name: 'NetworkIn',
dimensions: [{ name: 'AutoScalingGroupName', value: 'asg-v000' }, { name: 'sr', value: '71' }],
},
{
namespace: 'AWS/EBS',
name: 'somethingElse',
dimensions: [],
},
]),
);
initialize();
$scope.$digest();
});
示例3: it
it('sets advanced mode when metrics fail to load', () => {
alarm = makeAlarm('AWS/EC2', 'CPUUtilization', 'GreaterThanThreshold', [
{
name: 'AutoScalingGroupName',
value: 'asg-v000',
},
]);
serverGroup = makeServerGroup('asg-v000');
initialize();
spyOn(CloudMetricsReader, 'listMetrics').and.returnValue($q.reject(null));
$ctrl.$onInit();
$scope.$digest();
expect($ctrl.state.metricsLoaded).toBe(true);
expect($ctrl.state.advancedMode).toBe(true);
});