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

Function TestModuleObjectPersistedResultRefsRoundTrip

core/object_test.go:446–535  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

444}
445
446func TestModuleObjectPersistedResultRefsRoundTrip(t *testing.T) {
447 t.Parallel()
448
449 ctx := t.Context()
450 cacheIface, err := dagql.NewCache(ctx, "", nil, nil)
451 assert.NilError(t, err)
452 sc := cacheIface
453
454 root := &Query{}
455 testSrv := &moduleObjectTestServer{
456 mockServer: &mockServer{},
457 cache: sc,
458 root: root,
459 }
460 root.Server = testSrv
461 dag := newCoreDagqlServerForTest(t, root)
462 testSrv.dag = dag
463 ctx = dagql.ContextWithCache(ctx, sc)
464 ctx = ContextWithQuery(ctx, root)
465 ctx = engine.ContextWithClientMetadata(ctx, &engine.ClientMetadata{
466 ClientID: "module-object-persisted-client",
467 SessionID: "module-object-persisted-session",
468 })
469 installModuleObjectTestModuleClass(dag)
470 installTypeDefTestClasses(dag)
471
472 childObjDef := NewObjectTypeDef("Child", "", nil)
473 childObjDefRes := newTypeDefDetachedResult(t, dag, "moduleObjectPersistedChildObj", childObjDef)
474 parentObjDef := NewObjectTypeDef("Parent", "", nil)
475 childTypeDef := newTypeDefDetachedResult(t, dag, "moduleObjectPersistedChildTypeDef", (&TypeDef{}).WithObjectTypeDef(childObjDefRes))
476 parentObjDef.Fields = append(parentObjDef.Fields, newTypeDefDetachedResult(t, dag, "moduleObjectPersistedChildField", NewFieldTypeDef("child", childTypeDef, "", nil)))
477 parentObjDefRes := newTypeDefDetachedResult(t, dag, "moduleObjectPersistedParentObj", parentObjDef)
478 mod := &Module{
479 NameField: "test",
480 Deps: NewSchemaBuilder(nil, nil),
481 ObjectDefs: dagql.ObjectResultArray[*TypeDef]{
482 newTypeDefDetachedResult(t, dag, "moduleObjectPersistedChildTopTypeDef", (&TypeDef{}).WithObjectTypeDef(childObjDefRes)),
483 newTypeDefDetachedResult(t, dag, "moduleObjectPersistedParentTopTypeDef", (&TypeDef{}).WithObjectTypeDef(parentObjDefRes)),
484 },
485 }
486 modRes, err := dagql.NewObjectResultForCall(mod, dag, moduleObjectTestSyntheticCall("moduleObjectPersistedRefsModule", mod))
487 assert.NilError(t, err)
488 parentType := &ModuleObjectType{
489 typeDef: parentObjDef,
490 mod: modRes,
491 }
492 parentCall := moduleObjectTestSyntheticCall("moduleObjectPersistedParent", &ModuleObject{TypeDef: parentObjDef})
493 ctx = dagql.ContextWithCall(ctx, parentCall)
494
495 childCall := moduleObjectTestSyntheticCall("moduleObjectPersistedChild", &ModuleObject{TypeDef: childObjDef})
496 childInitial, err := dagql.NewResultForCall(&ModuleObject{
497 Module: modRes,
498 TypeDef: childObjDef,
499 Fields: map[string]any{
500 "name": "child",
501 },
502 }, childCall)
503 assert.NilError(t, err)

Callers

nothing calls this directly

Calls 15

EncodePersistedObjectMethod · 0.95
DecodePersistedObjectMethod · 0.95
ConvertToSDKInputMethod · 0.95
NewCacheFunction · 0.92
ContextWithCacheFunction · 0.92
NewObjectResultForCallFunction · 0.92
ContextWithCallFunction · 0.92
NewResultForCallFunction · 0.92
ValueFuncFunction · 0.92
ContextWithQueryFunction · 0.85

Tested by

no test coverage detected