Skip to content

Commit 670d565

Browse files
Copilothotlong
andcommitted
refactor: improve naming clarity (interpolateTenant, buildTenantUrlTemplate)
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> Agent-Logs-Url: https://github.com/objectstack-ai/spec/sessions/e1258eb3-0b40-4278-af78-15e3ede22d41
1 parent e954fa4 commit 670d565

2 files changed

Lines changed: 17 additions & 17 deletions

File tree

packages/plugins/driver-turso/src/multi-tenant.test.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { tmpdir } from 'node:os';
88
import { join } from 'node:path';
99

1010
/** Build a unique temp path template for test isolation. */
11-
function tmpTemplate(label: string): string {
11+
function buildTenantUrlTemplate(label: string): string {
1212
const rand = Math.random().toString(36).slice(2, 8);
1313
return `file:${join(tmpdir(), `test-turso-${label}-${rand}-{tenant}.db`)}`;
1414
}
@@ -37,7 +37,7 @@ describe('Multi-Tenant Router', () => {
3737

3838
it('should create a TursoDriver for a tenant', async () => {
3939
router = createMultiTenantRouter({
40-
urlTemplate: tmpTemplate('mt'),
40+
urlTemplate: buildTenantUrlTemplate('mt'),
4141
});
4242

4343
const driver = await router.getDriverForTenant('acme');
@@ -48,7 +48,7 @@ describe('Multi-Tenant Router', () => {
4848

4949
it('should cache drivers and return same instance', async () => {
5050
router = createMultiTenantRouter({
51-
urlTemplate: tmpTemplate('cache'),
51+
urlTemplate: buildTenantUrlTemplate('cache'),
5252
});
5353

5454
const driver1 = await router.getDriverForTenant('acme');
@@ -58,7 +58,7 @@ describe('Multi-Tenant Router', () => {
5858

5959
it('should create separate drivers per tenant', async () => {
6060
router = createMultiTenantRouter({
61-
urlTemplate: tmpTemplate('sep'),
61+
urlTemplate: buildTenantUrlTemplate('sep'),
6262
});
6363

6464
const driver1 = await router.getDriverForTenant('tenant-a');
@@ -71,15 +71,15 @@ describe('Multi-Tenant Router', () => {
7171

7272
it('should reject empty tenantId', async () => {
7373
router = createMultiTenantRouter({
74-
urlTemplate: tmpTemplate('val'),
74+
urlTemplate: buildTenantUrlTemplate('val'),
7575
});
7676

7777
await expect(router.getDriverForTenant('')).rejects.toThrow();
7878
});
7979

8080
it('should reject invalid tenantId with special characters', async () => {
8181
router = createMultiTenantRouter({
82-
urlTemplate: tmpTemplate('val2'),
82+
urlTemplate: buildTenantUrlTemplate('val2'),
8383
});
8484

8585
await expect(router.getDriverForTenant('a')).rejects.toThrow();
@@ -88,7 +88,7 @@ describe('Multi-Tenant Router', () => {
8888

8989
it('should accept valid tenantId', async () => {
9090
router = createMultiTenantRouter({
91-
urlTemplate: tmpTemplate('accept'),
91+
urlTemplate: buildTenantUrlTemplate('accept'),
9292
});
9393

9494
const driver = await router.getDriverForTenant('valid-tenant');
@@ -99,7 +99,7 @@ describe('Multi-Tenant Router', () => {
9999

100100
it('should report cache size', async () => {
101101
router = createMultiTenantRouter({
102-
urlTemplate: tmpTemplate('size'),
102+
urlTemplate: buildTenantUrlTemplate('size'),
103103
});
104104

105105
expect(router.getCacheSize()).toBe(0);
@@ -111,7 +111,7 @@ describe('Multi-Tenant Router', () => {
111111

112112
it('should invalidate cache for a tenant', async () => {
113113
router = createMultiTenantRouter({
114-
urlTemplate: tmpTemplate('inv'),
114+
urlTemplate: buildTenantUrlTemplate('inv'),
115115
});
116116

117117
await router.getDriverForTenant('to-invalidate');
@@ -123,7 +123,7 @@ describe('Multi-Tenant Router', () => {
123123

124124
it('should destroy all cached drivers', async () => {
125125
router = createMultiTenantRouter({
126-
urlTemplate: tmpTemplate('destroy'),
126+
urlTemplate: buildTenantUrlTemplate('destroy'),
127127
});
128128

129129
await router.getDriverForTenant('destroy-a');
@@ -140,7 +140,7 @@ describe('Multi-Tenant Router', () => {
140140
const created: string[] = [];
141141

142142
router = createMultiTenantRouter({
143-
urlTemplate: tmpTemplate('cb'),
143+
urlTemplate: buildTenantUrlTemplate('cb'),
144144
onTenantCreate: async (tenantId) => {
145145
created.push(tenantId);
146146
},
@@ -158,7 +158,7 @@ describe('Multi-Tenant Router', () => {
158158
const evicted: string[] = [];
159159

160160
router = createMultiTenantRouter({
161-
urlTemplate: tmpTemplate('evict'),
161+
urlTemplate: buildTenantUrlTemplate('evict'),
162162
onTenantEvict: async (tenantId) => {
163163
evicted.push(tenantId);
164164
},
@@ -177,7 +177,7 @@ describe('Multi-Tenant Router', () => {
177177
let createCount = 0;
178178

179179
router = createMultiTenantRouter({
180-
urlTemplate: tmpTemplate('conc'),
180+
urlTemplate: buildTenantUrlTemplate('conc'),
181181
onTenantCreate: async () => {
182182
createCount++;
183183
},
@@ -203,7 +203,7 @@ describe('Multi-Tenant Router', () => {
203203

204204
it('should perform CRUD operations through a tenant driver', async () => {
205205
router = createMultiTenantRouter({
206-
urlTemplate: tmpTemplate('crud'),
206+
urlTemplate: buildTenantUrlTemplate('crud'),
207207
});
208208

209209
const driver = await router.getDriverForTenant('crud-test');

packages/plugins/driver-turso/src/multi-tenant.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export function createMultiTenantRouter(config: MultiTenantConfig): MultiTenantR
144144
/**
145145
* Replace `{tenant}` placeholders in a string value.
146146
*/
147-
function interpolate(template: string, tenantId: string): string {
147+
function interpolateTenant(template: string, tenantId: string): string {
148148
return template.replace(/\{tenant\}/g, tenantId);
149149
}
150150

@@ -175,14 +175,14 @@ export function createMultiTenantRouter(config: MultiTenantConfig): MultiTenantR
175175
}
176176

177177
// Build config with {tenant} interpolated in all string fields
178-
const url = interpolate(config.urlTemplate, tenantId);
178+
const url = interpolateTenant(config.urlTemplate, tenantId);
179179
const overrides = config.driverConfigOverrides ?? {};
180180
const driverConfig: TursoDriverConfig = {
181181
...overrides,
182182
url,
183183
authToken: config.groupAuthToken ?? overrides.authToken,
184184
// Interpolate {tenant} in syncUrl if present
185-
syncUrl: overrides.syncUrl ? interpolate(overrides.syncUrl, tenantId) : undefined,
185+
syncUrl: overrides.syncUrl ? interpolateTenant(overrides.syncUrl, tenantId) : undefined,
186186
};
187187

188188
const driver = new TursoDriver(driverConfig);

0 commit comments

Comments
 (0)