mirror of
https://github.com/langchain-ai/langsmith-go.git
synced 2026-08-24 12:13:40 -04:00
4f754903a9
* codegen metadata * feat(api): api update * codegen metadata * codegen metadata * codegen metadata * feat(go): add default http client with timeout * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * feat(api): api update * codegen metadata * codegen metadata * feat: support setting headers via env * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * chore: sync next with main for release (#64) * feat: load LangSmith profile auth in client (#53) * feat: add profile config loading from ~/.langsmith/config.toml Load named profiles from ~/.langsmith/config.toml as a fallback in DefaultClientOptions(). Profile values are overridden by environment variables and explicit option calls. Profile selection: LANGSMITH_PROFILE env var → current_profile in config → "default" profile. * test: add integration tests for profile-based client creation * test: add integration test verifying env vars override profile values * feat: add bearer_token support in profile config Profiles can now use bearer_token (Authorization: Bearer header) in addition to api_key (X-API-Key header). Both are additive — if both are set, both headers are sent, matching the env var behavior. * feat: load LangSmith profile auth in client * Use OAuth profile tokens for SDK auth * Isolate profile refresh tests from endpoint env * Read LangSmith profiles from JSON config * test: remove stale organization option * codegen metadata * release: 0.6.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Mukil Loganathan <mukil@langchain.dev>
118 lines
2.9 KiB
Go
118 lines
2.9 KiB
Go
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
|
|
package langsmith_test
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/langchain-ai/langsmith-go"
|
|
"github.com/langchain-ai/langsmith-go/internal/testutil"
|
|
"github.com/langchain-ai/langsmith-go/option"
|
|
)
|
|
|
|
func TestCommitNewWithOptionalParams(t *testing.T) {
|
|
t.Skip("Mock server tests are disabled")
|
|
baseURL := "http://localhost:4010"
|
|
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
|
|
baseURL = envURL
|
|
}
|
|
if !testutil.CheckTestServer(t, baseURL) {
|
|
return
|
|
}
|
|
client := langsmith.NewClient(
|
|
option.WithBaseURL(baseURL),
|
|
option.WithAPIKey("My API Key"),
|
|
option.WithTenantID("My Tenant ID"),
|
|
)
|
|
_, err := client.Commits.New(
|
|
context.TODO(),
|
|
"owner",
|
|
"repo",
|
|
langsmith.CommitNewParams{
|
|
Description: langsmith.F("description"),
|
|
Manifest: langsmith.F[any](map[string]interface{}{}),
|
|
ParentCommit: langsmith.F("parent_commit"),
|
|
SkipWebhooks: langsmith.F[any](map[string]interface{}{}),
|
|
},
|
|
)
|
|
if err != nil {
|
|
var apierr *langsmith.Error
|
|
if errors.As(err, &apierr) {
|
|
t.Log(string(apierr.DumpRequest(true)))
|
|
}
|
|
t.Fatalf("err should be nil: %s", err.Error())
|
|
}
|
|
}
|
|
|
|
func TestCommitGetWithOptionalParams(t *testing.T) {
|
|
t.Skip("Mock server tests are disabled")
|
|
baseURL := "http://localhost:4010"
|
|
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
|
|
baseURL = envURL
|
|
}
|
|
if !testutil.CheckTestServer(t, baseURL) {
|
|
return
|
|
}
|
|
client := langsmith.NewClient(
|
|
option.WithBaseURL(baseURL),
|
|
option.WithAPIKey("My API Key"),
|
|
option.WithTenantID("My Tenant ID"),
|
|
)
|
|
_, err := client.Commits.Get(
|
|
context.TODO(),
|
|
"owner",
|
|
"repo",
|
|
"commit",
|
|
langsmith.CommitGetParams{
|
|
GetExamples: langsmith.F(true),
|
|
Include: langsmith.F("include"),
|
|
IncludeModel: langsmith.F(true),
|
|
IsView: langsmith.F(true),
|
|
},
|
|
)
|
|
if err != nil {
|
|
var apierr *langsmith.Error
|
|
if errors.As(err, &apierr) {
|
|
t.Log(string(apierr.DumpRequest(true)))
|
|
}
|
|
t.Fatalf("err should be nil: %s", err.Error())
|
|
}
|
|
}
|
|
|
|
func TestCommitListWithOptionalParams(t *testing.T) {
|
|
t.Skip("Mock server tests are disabled")
|
|
baseURL := "http://localhost:4010"
|
|
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
|
|
baseURL = envURL
|
|
}
|
|
if !testutil.CheckTestServer(t, baseURL) {
|
|
return
|
|
}
|
|
client := langsmith.NewClient(
|
|
option.WithBaseURL(baseURL),
|
|
option.WithAPIKey("My API Key"),
|
|
option.WithTenantID("My Tenant ID"),
|
|
)
|
|
_, err := client.Commits.List(
|
|
context.TODO(),
|
|
"owner",
|
|
"repo",
|
|
langsmith.CommitListParams{
|
|
IncludeStats: langsmith.F(true),
|
|
Limit: langsmith.F(int64(1)),
|
|
Offset: langsmith.F(int64(0)),
|
|
Tag: langsmith.F("tag"),
|
|
},
|
|
)
|
|
if err != nil {
|
|
var apierr *langsmith.Error
|
|
if errors.As(err, &apierr) {
|
|
t.Log(string(apierr.DumpRequest(true)))
|
|
}
|
|
t.Fatalf("err should be nil: %s", err.Error())
|
|
}
|
|
}
|