(t *testing.T)
| 462 | } |
| 463 | |
| 464 | func TestCacheVolumeLockKeyUsesSourceID(t *testing.T) { |
| 465 | t.Parallel() |
| 466 | |
| 467 | ctx := context.Background() |
| 468 | query := &Query{Server: &cacheVolumeTestQueryServer{mockServer: &mockServer{}}} |
| 469 | srv := newCoreDagqlServerForTest(t, query) |
| 470 | srv.InstallObject(dagql.NewClass(srv, dagql.ClassOpts[*Directory]{})) |
| 471 | dagCache, err := dagql.NewCache(ctx, "", nil, nil) |
| 472 | require.NoError(t, err) |
| 473 | t.Cleanup(func() { |
| 474 | require.NoError(t, dagCache.Close(context.Background())) |
| 475 | }) |
| 476 | ctx = ContextWithQuery(dagql.ContextWithCache(ctx, dagCache), query) |
| 477 | |
| 478 | sourceCall := &dagql.ResultCall{ |
| 479 | Kind: dagql.ResultCallKindSynthetic, |
| 480 | SyntheticOp: "cache-volume-source", |
| 481 | Type: dagql.NewResultCallType((&Directory{}).Type()), |
| 482 | } |
| 483 | initialSource := cacheVolumeTestDirectoryResult(t, srv, "cache-volume-source") |
| 484 | sourceAny, err := dagCache.GetOrInitCall(ctx, "session", srv, &dagql.CallRequest{ |
| 485 | ResultCall: sourceCall, |
| 486 | }, dagql.ValueFunc(initialSource)) |
| 487 | require.NoError(t, err) |
| 488 | source, ok := sourceAny.(dagql.ObjectResult[*Directory]) |
| 489 | require.True(t, ok) |
| 490 | sourceID, err := source.ID() |
| 491 | require.NoError(t, err) |
| 492 | encodedSourceID, err := sourceID.Encode() |
| 493 | require.NoError(t, err) |
| 494 | |
| 495 | cache := NewCache("cache-key", "ns", dagql.NonNull(source), CacheSharingModeLocked, "") |
| 496 | lockKey, err := cache.lockKey() |
| 497 | require.NoError(t, err) |
| 498 | require.Contains(t, lockKey, encodedSourceID) |
| 499 | } |
| 500 | |
| 501 | func TestCacheVolumeInitializeSnapshotCreatesMutableSnapshot(t *testing.T) { |
| 502 | t.Parallel() |
nothing calls this directly
no test coverage detected