MCPcopy Create free account
hub / github.com/dagger/dagger / TestCacheVolumeLockKeyUsesSourceID

Function TestCacheVolumeLockKeyUsesSourceID

core/cache_test.go:464–499  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

462}
463
464func 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
501func TestCacheVolumeInitializeSnapshotCreatesMutableSnapshot(t *testing.T) {
502 t.Parallel()

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
GetOrInitCallMethod · 0.95
NewClassFunction · 0.92
NewCacheFunction · 0.92
ContextWithCacheFunction · 0.92
NewResultCallTypeFunction · 0.92
ValueFuncFunction · 0.92
NonNullFunction · 0.92
ContextWithQueryFunction · 0.85
CleanupMethod · 0.80

Tested by

no test coverage detected