|
2 | 2 | * @vitest-environment node |
3 | 3 | */ |
4 | 4 |
|
| 5 | +import { db } from '@sim/db' |
5 | 6 | import { executionLargeValueDependencies, executionLargeValueReferences } from '@sim/db/schema' |
6 | 7 | import { dbChainMockFns, resetDbChainMock } from '@sim/testing' |
7 | 8 | import { eq, notInArray } from 'drizzle-orm' |
8 | 9 | import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest' |
9 | 10 | import { |
10 | 11 | addLargeValueReference, |
| 12 | + collectLargeValueReferenceKeys, |
11 | 13 | MAX_LARGE_VALUE_REFERENCES_PER_SCOPE, |
12 | 14 | pruneLargeValueMetadata, |
13 | 15 | registerLargeValueOwner, |
14 | | - replaceLargeValueReferences, |
| 16 | + replaceLargeValueReferenceKeysWithClient, |
15 | 17 | } from '@/lib/execution/payloads/large-value-metadata' |
16 | 18 |
|
17 | 19 | function largeValueKey(id: string, executionId = 'source-execution'): string { |
@@ -205,42 +207,44 @@ describe('large value metadata', () => { |
205 | 207 | const otherWorkspaceKey = |
206 | 208 | 'execution/workspace-2/workflow-1/source-execution/large-value-lv_abcdefghijkl.json' |
207 | 209 |
|
208 | | - await replaceLargeValueReferences( |
| 210 | + const value = { |
| 211 | + a: { |
| 212 | + __simLargeValueRef: true, |
| 213 | + version: 1, |
| 214 | + id: 'lv_abcdefghijkl', |
| 215 | + kind: 'json', |
| 216 | + size: 123, |
| 217 | + key: matchingKey, |
| 218 | + }, |
| 219 | + duplicate: { |
| 220 | + __simLargeValueRef: true, |
| 221 | + version: 1, |
| 222 | + id: 'lv_abcdefghijkl', |
| 223 | + kind: 'json', |
| 224 | + size: 123, |
| 225 | + key: matchingKey, |
| 226 | + }, |
| 227 | + ignored: { |
| 228 | + __simLargeValueRef: true, |
| 229 | + version: 1, |
| 230 | + id: 'lv_abcdefghijkl', |
| 231 | + kind: 'json', |
| 232 | + size: 123, |
| 233 | + key: otherWorkspaceKey, |
| 234 | + }, |
| 235 | + } |
| 236 | + |
| 237 | + await replaceLargeValueReferenceKeysWithClient( |
| 238 | + db, |
209 | 239 | { |
210 | 240 | workspaceId: 'workspace-1', |
211 | 241 | workflowId: 'workflow-1', |
212 | 242 | executionId: 'execution-2', |
213 | 243 | source: 'execution_log', |
214 | 244 | }, |
215 | | - { |
216 | | - a: { |
217 | | - __simLargeValueRef: true, |
218 | | - version: 1, |
219 | | - id: 'lv_abcdefghijkl', |
220 | | - kind: 'json', |
221 | | - size: 123, |
222 | | - key: matchingKey, |
223 | | - }, |
224 | | - duplicate: { |
225 | | - __simLargeValueRef: true, |
226 | | - version: 1, |
227 | | - id: 'lv_abcdefghijkl', |
228 | | - kind: 'json', |
229 | | - size: 123, |
230 | | - key: matchingKey, |
231 | | - }, |
232 | | - ignored: { |
233 | | - __simLargeValueRef: true, |
234 | | - version: 1, |
235 | | - id: 'lv_abcdefghijkl', |
236 | | - kind: 'json', |
237 | | - size: 123, |
238 | | - key: otherWorkspaceKey, |
239 | | - }, |
240 | | - } |
| 245 | + collectLargeValueReferenceKeys(value, 'workspace-1') |
241 | 246 | ) |
242 | 247 |
|
243 | | - expect(dbChainMockFns.transaction).toHaveBeenCalledOnce() |
244 | 248 | expect(dbChainMockFns.delete).toHaveBeenCalledOnce() |
245 | 249 | expect(eq).toHaveBeenCalledWith(executionLargeValueReferences.source, 'execution_log') |
246 | 250 | expect(dbChainMockFns.values).toHaveBeenCalledWith([ |
|
0 commit comments