本文整理汇总了TypeScript中@spinnaker/core.IServerGroup类的典型用法代码示例。如果您正苦于以下问题:TypeScript IServerGroup类的具体用法?TypeScript IServerGroup怎么用?TypeScript IServerGroup使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IServerGroup类的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: it
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);
});
示例3: 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();
});