Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions packages/metrics/tests/unit/dimensions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -349,14 +349,12 @@
singleMetric: true,
});

// Act
// We start with 1 dimension because service name is already added
for (let i = 1; i < MAX_DIMENSION_COUNT; i++) {
metrics.setDefaultDimensions({ [`dimension-${i}`]: 'test' });
for (let i = 2; i < MAX_DIMENSION_COUNT - 1; i++) {
metrics.addDimension(`dimension-${i}`, 'test');
}

// Assess
expect(() => metrics.setDefaultDimensions({ extra: 'test' })).toThrow(

Check failure on line 357 in packages/metrics/tests/unit/dimensions.test.ts

View workflow job for this annotation

GitHub Actions / run-unit-tests / code-quality (24, packages/metrics)

tests/unit/dimensions.test.ts > Working with dimensions > throws when the number of dimensions exceeds the limit after adding default dimensions

AssertionError: expected [Function] to throw an error - Expected: null + Received: undefined ❯ tests/unit/dimensions.test.ts:357:67

Check failure on line 357 in packages/metrics/tests/unit/dimensions.test.ts

View workflow job for this annotation

GitHub Actions / run-unit-tests / code-quality (22, packages/metrics)

tests/unit/dimensions.test.ts > Working with dimensions > throws when the number of dimensions exceeds the limit after adding default dimensions

AssertionError: expected [Function] to throw an error - Expected: null + Received: undefined ❯ tests/unit/dimensions.test.ts:357:67
'The number of metric dimensions must be lower than 29'
);
});
Expand Down Expand Up @@ -386,10 +384,9 @@
singleMetric: true,
});

// Act
const newDimensionSet: Record<string, string> = {};
for (let i = 0; i < 28; i++) {
newDimensionSet[`dimension-extra-${i}`] = 'test';
for (let i = 2; i < MAX_DIMENSION_COUNT - 1; i++) {
metricsA.addDimension(`dimension-${i}`, 'test');

Check failure on line 388 in packages/metrics/tests/unit/dimensions.test.ts

View workflow job for this annotation

GitHub Actions / run-unit-tests / code-quality (24, packages/metrics)

tests/unit/dimensions.test.ts > Working with dimensions > throws when setDefaultDimensions would exceed the limit with existing dimension sets

ReferenceError: metricsA is not defined ❯ tests/unit/dimensions.test.ts:388:7

Check failure on line 388 in packages/metrics/tests/unit/dimensions.test.ts

View workflow job for this annotation

GitHub Actions / run-unit-tests / code-quality (22, packages/metrics)

tests/unit/dimensions.test.ts > Working with dimensions > throws when setDefaultDimensions would exceed the limit with existing dimension sets

ReferenceError: metricsA is not defined ❯ tests/unit/dimensions.test.ts:388:7
metricsB.addDimension(`dimension-${i}`, 'test');
}
metrics.addDimensions(newDimensionSet);

Expand All @@ -412,10 +409,9 @@
metrics.setDefaultDimensions({ [`dimension-${i}`]: 'test' });
}

// Assess
expect(() =>
metrics.setDefaultDimensions({ 'dimension-1': 'updated' })
).not.toThrow();
expect(() => metrics.setDefaultDimensions({ extra: 'test' })).toThrowError(
'The number of metric dimensions must be lower than 29'
);
});

it('allows overriding existing regular dimensions via addDimension without triggering the limit', () => {
Expand All @@ -429,8 +425,11 @@
metrics.addDimension(`dimension-${i}`, 'test');
}

// Assess
expect(() => metrics.addDimension('dimension-1', 'updated')).not.toThrow();
expect(() =>
metrics.setDefaultDimensions({ 'new-default': 'test' })
).toThrow(
`The number of metric dimensions must be lower than ${MAX_DIMENSION_COUNT}`
);
});

it('allows addDimensions to override existing default dimension keys without triggering the limit', () => {
Expand Down
Loading