// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. package opencode_test import ( "context" "errors" "os" "testing" "github.com/sst/opencode-sdk-go" "github.com/sst/opencode-sdk-go/internal/testutil" "github.com/sst/opencode-sdk-go/option" ) func TestSessionNew(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.New(context.TODO()) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionList(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.List(context.TODO()) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionDelete(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Delete(context.TODO(), "id") if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionAbort(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Abort(context.TODO(), "id") if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionChatWithOptionalParams(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Chat( context.TODO(), "id", opencode.SessionChatParams{ ModelID: opencode.F("modelID"), Parts: opencode.F([]opencode.SessionChatParamsPartUnion{opencode.TextPartInputParam{ Text: opencode.F("text"), Type: opencode.F(opencode.TextPartInputTypeText), ID: opencode.F("id"), Synthetic: opencode.F(true), Time: opencode.F(opencode.TextPartInputTimeParam{ Start: opencode.F(0.000000), End: opencode.F(0.000000), }), }}), ProviderID: opencode.F("providerID"), Agent: opencode.F("agent"), MessageID: opencode.F("msg"), System: opencode.F("system"), Tools: opencode.F(map[string]bool{ "foo": true, }), }, ) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionInit(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Init( context.TODO(), "id", opencode.SessionInitParams{ MessageID: opencode.F("messageID"), ModelID: opencode.F("modelID"), ProviderID: opencode.F("providerID"), }, ) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionMessage(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Message( context.TODO(), "id", "messageID", ) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionMessages(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Messages(context.TODO(), "id") if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionRevertWithOptionalParams(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Revert( context.TODO(), "id", opencode.SessionRevertParams{ MessageID: opencode.F("msg"), PartID: opencode.F("prt"), }, ) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionShare(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Share(context.TODO(), "id") if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionSummarize(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Summarize( context.TODO(), "id", opencode.SessionSummarizeParams{ ModelID: opencode.F("modelID"), ProviderID: opencode.F("providerID"), }, ) if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionUnrevert(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Unrevert(context.TODO(), "id") if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } } func TestSessionUnshare(t *testing.T) { t.Skip("skipped: tests are disabled for the time being") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL } if !testutil.CheckTestServer(t, baseURL) { return } client := opencode.NewClient( option.WithBaseURL(baseURL), ) _, err := client.Session.Unshare(context.TODO(), "id") if err != nil { var apierr *opencode.Error if errors.As(err, &apierr) { t.Log(string(apierr.DumpRequest(true))) } t.Fatalf("err should be nil: %s", err.Error()) } }