(t *testing.T)
| 444 | } |
| 445 | |
| 446 | func 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) |
nothing calls this directly
no test coverage detected