Skip to content

Commit 4f87c0b

Browse files
committed
feat(inbox): Queue depth lambda fully working!
1 parent 4206c39 commit 4f87c0b

File tree

12 files changed

+241
-211
lines changed

12 files changed

+241
-211
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/deps.json

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/tasks.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projenrc.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { clickupCdk } from '@time-loop/clickup-projen';
22

3-
const name = 'cdk-lambda-eni-usage-metric-publisher';
3+
const name = 'cdk-redis-queue-depth-metric-publisher';
44
const project = new clickupCdk.ClickUpCdkConstructLibrary({
55
author: 'Andrew Hammond',
66
authorAddress: 'ahammond@clickup.com',
@@ -15,7 +15,6 @@ const project = new clickupCdk.ClickUpCdkConstructLibrary({
1515
bundledDeps: [
1616
'@aws-lambda-powertools/metrics',
1717
'@aws-lambda-powertools/parameters',
18-
'@aws-sdk/client-ssm', // Might not need this. Will we be pulling from SSM in lambda?
1918
'@aws-sdk/client-secrets-manager',
2019
'ioredis',
2120
],

package.json

Lines changed: 3 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/construct.handler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export const handler = async () => {
8888
throw new Error('Error fetching ALL queue depths');
8989
}
9090

91-
publishMetrics(results, {
91+
await publishMetrics(results, {
9292
namespace: cwNamespace,
9393
serviceName: cwService,
9494
});

src/construct.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Duration, Stack, aws_ec2 } from 'aws-cdk-lib';
2-
import { PolicyStatement } from 'aws-cdk-lib/aws-iam';
3-
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
4-
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
52
import { Rule, Schedule } from 'aws-cdk-lib/aws-events';
63
import { LambdaFunction } from 'aws-cdk-lib/aws-events-targets';
4+
import { PolicyStatement } from 'aws-cdk-lib/aws-iam';
5+
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
6+
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
77
import { RetentionDays } from 'aws-cdk-lib/aws-logs';
88
import { Construct } from 'constructs';
99
import { Namer } from 'multi-convention-namer';

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export * from './construct'
1+
export * from './construct';

src/methods.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#fetching-secrets
2+
import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';
3+
import { MetricsOptions } from '@aws-lambda-powertools/metrics/lib/types';
24
import { getSecret } from '@aws-lambda-powertools/parameters/secrets';
35

46
// https://docs.powertools.aws.dev/lambda/typescript/latest/core/metrics/#usage
5-
import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';
67

78
import { Redis, RedisOptions } from 'ioredis';
8-
import { MetricsOptions } from '@aws-lambda-powertools/metrics/lib/types';
99

1010
export interface GetSecretsProps {
1111
redisSecretArn: string;

test/construct.handler.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ interface EnvVarTestCase {
2121
const defaultEnvVars: Record<string, any> = {
2222
REDIS_ADDR: 'fakeAddr',
2323
REDIS_PORT: '12345',
24-
QUEUES: JSON.stringify(['fakeQueue']),
24+
QUEUE_NAMES: JSON.stringify(['fakeQueue']),
2525
REDIS_SECRET_ARN: 'fakeArn',
2626
REDIS_SECRET_PASSWORD_PATH: 'fakePasswordPath',
2727
REDIS_SECRET_USERNAME_PATH: 'fakeUsernamePath',
@@ -49,7 +49,7 @@ describe('environment variable testing', () => {
4949
name: 'REDIS_ADDR',
5050
expectedError: 'REDIS_ADDR environment variable not set',
5151
},
52-
])('handler errors when required environment variable', ({ name, expectedError }) => {
52+
])('handler errors when required environment variable', async ({ name, expectedError }) => {
5353
// Mock in ALL the defaultEnvVars EXCEPT the one being tested
5454
Object.keys(defaultEnvVars).forEach((key) => {
5555
if (key === name) {
@@ -58,7 +58,7 @@ describe('environment variable testing', () => {
5858
process.env[key] = defaultEnvVars[key];
5959
});
6060

61-
expect(handler()).rejects.toThrow(expectedError);
61+
await expect(handler()).rejects.toThrow(expectedError);
6262
});
6363
});
6464

0 commit comments

Comments
 (0)