Skip to content

Commit 610f028

Browse files
chore: wip
1 parent b84efa5 commit 610f028

File tree

4 files changed

+43
-9
lines changed

4 files changed

+43
-9
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tests/dynamodb-local
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export * from './drivers'
2-
export * from 'dynamodb-tooling'
2+
export * as dynamoDbTool from 'dynamodb-tooling'

storage/framework/core/cache/tests/DynamoDB.test.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
1-
import { beforeEach, describe, expect, it } from 'bun:test'
1+
import { afterAll, afterEach, beforeAll, describe, expect, it } from 'bun:test'
22

3+
import { createStacksTable, deleteStacksTable, launchServer } from '@stacksjs/testing'
34
import { dynamodb } from '../src/drivers/dynamodb'
45

5-
beforeEach(async () => {
6+
beforeAll(async () => {
7+
await launchServer()
8+
})
9+
10+
afterEach(async () => {
611
await dynamodb.clear()
712
})
813

14+
afterAll(async () => {
15+
await deleteStacksTable()
16+
})
17+
918
describe('@stacksjs/cache - DynamoDB', () => {
1019
it('should set and get a dynamodb cache value', async () => {
1120
await dynamodb.set('key1', 'value1')

storage/framework/core/testing/src/dynamodb.ts

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
1-
import { dynamoDb } from '@stacksjs/cache'
1+
import { dynamoDbTool } from '@stacksjs/cache'
22

3-
import { CreateTableCommand, DynamoDBClient, KeyType, ScalarAttributeType } from '@aws-sdk/client-dynamodb'
3+
import {
4+
CreateTableCommand,
5+
DeleteTableCommand,
6+
DynamoDBClient,
7+
KeyType,
8+
ScalarAttributeType,
9+
} from '@aws-sdk/client-dynamodb'
410

511
const client = new DynamoDBClient({ endpoint: 'http://localhost:8000' })
612

7-
export async function launch(): Promise<void> {
8-
await dynamoDb.launch()
13+
export async function launchServer(): Promise<void> {
14+
await dynamoDbTool.dynamoDb.launch()
15+
await delay(5000)
16+
await createStacksTable()
17+
}
18+
19+
// Function to create a delay
20+
async function delay(ms: number): Promise<void> {
21+
return new Promise((resolve) => setTimeout(resolve, ms))
922
}
1023

1124
export async function createStacksTable(): Promise<void> {
@@ -25,8 +38,19 @@ export async function createStacksTable(): Promise<void> {
2538

2639
try {
2740
const data = await client.send(new CreateTableCommand(params))
28-
console.log('Table created successfully:', data)
2941
} catch (err) {
30-
console.error('Error creating table:', err)
42+
console.error('Error Creating Table', err)
43+
}
44+
}
45+
46+
export async function deleteStacksTable(): Promise<void> {
47+
const params = {
48+
TableName: 'stacks',
49+
}
50+
51+
try {
52+
const data = await client.send(new DeleteTableCommand(params))
53+
} catch (err) {
54+
console.error('Error deleting table:', err)
3155
}
3256
}

0 commit comments

Comments
 (0)