@@ -12,15 +12,15 @@ import (
1212
1313 "github.com/QoderAI/qoder-cloud-agents-sdk-go/convention"
1414 "github.com/QoderAI/qoder-cloud-agents-sdk-go/convention/option"
15- "github.com/QoderAI/qoder-cloud-agents-sdk-go/examples/testutil"
1615 "github.com/QoderAI/qoder-cloud-agents-sdk-go/forward"
16+ "github.com/QoderAI/qoder-cloud-agents-sdk-go/internal/testsupport"
1717)
1818
1919func (s * liveSuite ) waitTurn (t * testing.T , sessionID , after string , expected []string , tool , streaming bool ) {
2020 t .Helper ()
21- ctx , cancel := context .WithTimeout (context .Background (), testutil .ExecutionTimeout (t ))
21+ ctx , cancel := context .WithTimeout (context .Background (), testsupport .ExecutionTimeout (t ))
2222 defer cancel ()
23- result := testutil .TurnResult {LastID : after }
23+ result := testsupport .TurnResult {LastID : after }
2424 observe := func (raw string ) bool {
2525 t .Helper ()
2626 if err := result .Observe (raw ); err != nil {
@@ -29,7 +29,7 @@ func (s *liveSuite) waitTurn(t *testing.T, sessionID, after string, expected []s
2929 return result .Complete
3030 }
3131 if streaming {
32- stream := s .client .Sessions .Events .StreamEvents (ctx , sessionID , forward.SessionEventStreamParams {LastEventID : forward .String (after ), IncludeToolCalls : forward .Bool (true )}, option .WithRequestTimeout (testutil .ExecutionTimeout (t )))
32+ stream := s .client .Sessions .Events .StreamEvents (ctx , sessionID , forward.SessionEventStreamParams {LastEventID : forward .String (after ), IncludeToolCalls : forward .Bool (true )}, option .WithRequestTimeout (testsupport .ExecutionTimeout (t )))
3333 defer stream .Close ()
3434 for stream .Next () {
3535 if observe (stream .Current ().RawJSON ()) {
@@ -54,7 +54,7 @@ func (s *liveSuite) waitTurn(t *testing.T, sessionID, after string, expected []s
5454 if result .Complete {
5555 break
5656 }
57- liveCheck (t , testutil .PollPause (ctx ))
57+ liveCheck (t , testsupport .PollPause (ctx ))
5858 }
5959 }
6060 if err := result .Verify (expected , tool ); err != nil {
@@ -93,7 +93,7 @@ func (s *liveSuite) finishSession(ctx context.Context, id string) error {
9393 if session .Status == "idle" || session .Status == "terminated" {
9494 break
9595 }
96- if err = testutil .PollPause (ctx ); err != nil {
96+ if err = testsupport .PollPause (ctx ); err != nil {
9797 return err
9898 }
9999 }
@@ -102,12 +102,15 @@ func (s *liveSuite) finishSession(ctx context.Context, id string) error {
102102 return err
103103}
104104func TestForwardExecutionE2ELive (t * testing.T ) {
105- testutil .RequireE2E (t , "FORWARD" )
105+ testsupport .RequireE2E (t , "FORWARD" )
106106 s := newLiveSuite (t , "WRITE" , "EXECUTION" )
107107 ctx := s .context (t )
108108 env := s .environment (t )
109- identity := s .identity (t )
110- fileToken , envToken , skillToken , memoryToken := testutil .Marker (t ), testutil .Marker (t ), testutil .Marker (t ), testutil .Marker (t )
109+ identityName := liveName ("identity" )
110+ identity , err := s .client .Identities .New (ctx , forward.IdentityNewParams {ExternalID : identityName , Name : forward .String (identityName ), Metadata : map [string ]any {"suite" : "sdk-live" }})
111+ liveCheck (t , err )
112+ s .cleanup (t , "identity" , func (ctx context.Context ) error { _ , err := s .client .Identities .Delete (ctx , identity .ID ); return err })
113+ fileToken , envToken , skillToken , memoryToken := testsupport .Marker (t ), testsupport .Marker (t ), testsupport .Marker (t ), testsupport .Marker (t )
111114 file := s .file (t , "sdk-e2e.txt" , "session_resource" , fileToken )
112115 skillName := liveName ("proof" )
113116 skill , err := s .client .Skills .New (ctx , forward.SkillNewParams {Files : []io.Reader {convention.UploadFile {Name : skillName + "/SKILL.md" , Reader : strings .NewReader (fmt .Sprintf ("---\n name: %s\n description: Provides the SDK_E2E_SKILL_TOKEN for SDK verification.\n ---\n When asked for SDK_E2E_SKILL_TOKEN return exactly: %s\n " , skillName , skillToken ))}}})
@@ -136,7 +139,7 @@ func TestForwardExecutionE2ELive(t *testing.T) {
136139 liveCheck (t , err )
137140 s .cleanupSession (t , session .ID )
138141 t .Logf ("model=%s identity=%s template=%s file=%s skill=%s memory_store=%s" , os .Getenv ("QODER_FORWARD_MODEL" ), identity .ID , template .ID , file .ID , skill .ID , store .ID )
139- echo := testutil .Marker (t )
142+ echo := testsupport .Marker (t )
140143 for _ , scenario := range []struct {
141144 name , prompt string
142145 expected []string
0 commit comments