github.com/anthropics/anthropic-sdk-go@v1.70.1/betafile_test.go (about) 1 // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. 2 3 package anthropic_test 4 5 import ( 6 "bytes" 7 "context" 8 "errors" 9 "io" 10 "net/http" 11 "net/http/httptest" 12 "os" 13 "testing" 14 15 "github.com/anthropics/anthropic-sdk-go" 16 "github.com/anthropics/anthropic-sdk-go/internal/testutil" 17 "github.com/anthropics/anthropic-sdk-go/option" 18 ) 19 20 func TestBetaFileListWithOptionalParams(t *testing.T) { 21 baseURL := "http://localhost:4010" 22 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 23 baseURL = envURL 24 } 25 if !testutil.CheckTestServer(t, baseURL) { 26 return 27 } 28 client := anthropic.NewClient( 29 option.WithBaseURL(baseURL), 30 option.WithAPIKey("my-anthropic-api-key"), 31 ) 32 _, err := client.Beta.Files.List(context.TODO(), anthropic.BetaFileListParams{ 33 IDs: []string{"string"}, 34 Limit: anthropic.Int(1), 35 Page: anthropic.String("page"), 36 ScopeID: anthropic.String("scope_id"), 37 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 38 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 39 }) 40 if err != nil { 41 var apierr *anthropic.Error 42 if errors.As(err, &apierr) { 43 t.Log(string(apierr.DumpRequest(true))) 44 } 45 t.Fatalf("err should be nil: %s", err.Error()) 46 } 47 } 48 49 func TestBetaFileDeleteWithOptionalParams(t *testing.T) { 50 baseURL := "http://localhost:4010" 51 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 52 baseURL = envURL 53 } 54 if !testutil.CheckTestServer(t, baseURL) { 55 return 56 } 57 client := anthropic.NewClient( 58 option.WithBaseURL(baseURL), 59 option.WithAPIKey("my-anthropic-api-key"), 60 ) 61 _, err := client.Beta.Files.Delete( 62 context.TODO(), 63 "file_id", 64 anthropic.BetaFileDeleteParams{ 65 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 66 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 67 }, 68 ) 69 if err != nil { 70 var apierr *anthropic.Error 71 if errors.As(err, &apierr) { 72 t.Log(string(apierr.DumpRequest(true))) 73 } 74 t.Fatalf("err should be nil: %s", err.Error()) 75 } 76 } 77 78 func TestBetaFileDownloadWithOptionalParams(t *testing.T) { 79 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 80 w.WriteHeader(200) 81 w.Write([]byte("abc")) 82 })) 83 defer server.Close() 84 baseURL := server.URL 85 client := anthropic.NewClient( 86 option.WithBaseURL(baseURL), 87 option.WithAPIKey("my-anthropic-api-key"), 88 ) 89 resp, err := client.Beta.Files.Download( 90 context.TODO(), 91 "file_id", 92 anthropic.BetaFileDownloadParams{ 93 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 94 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 95 }, 96 ) 97 if err != nil { 98 var apierr *anthropic.Error 99 if errors.As(err, &apierr) { 100 t.Log(string(apierr.DumpRequest(true))) 101 } 102 t.Fatalf("err should be nil: %s", err.Error()) 103 } 104 defer resp.Body.Close() 105 106 b, err := io.ReadAll(resp.Body) 107 if err != nil { 108 var apierr *anthropic.Error 109 if errors.As(err, &apierr) { 110 t.Log(string(apierr.DumpRequest(true))) 111 } 112 t.Fatalf("err should be nil: %s", err.Error()) 113 } 114 if !bytes.Equal(b, []byte("abc")) { 115 t.Fatalf("return value not %s: %s", "abc", b) 116 } 117 } 118 119 func TestBetaFileGetMetadataWithOptionalParams(t *testing.T) { 120 baseURL := "http://localhost:4010" 121 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 122 baseURL = envURL 123 } 124 if !testutil.CheckTestServer(t, baseURL) { 125 return 126 } 127 client := anthropic.NewClient( 128 option.WithBaseURL(baseURL), 129 option.WithAPIKey("my-anthropic-api-key"), 130 ) 131 _, err := client.Beta.Files.GetMetadata( 132 context.TODO(), 133 "file_id", 134 anthropic.BetaFileGetMetadataParams{ 135 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 136 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 137 }, 138 ) 139 if err != nil { 140 var apierr *anthropic.Error 141 if errors.As(err, &apierr) { 142 t.Log(string(apierr.DumpRequest(true))) 143 } 144 t.Fatalf("err should be nil: %s", err.Error()) 145 } 146 } 147 148 func TestBetaFileUploadWithOptionalParams(t *testing.T) { 149 baseURL := "http://localhost:4010" 150 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 151 baseURL = envURL 152 } 153 if !testutil.CheckTestServer(t, baseURL) { 154 return 155 } 156 client := anthropic.NewClient( 157 option.WithBaseURL(baseURL), 158 option.WithAPIKey("my-anthropic-api-key"), 159 ) 160 _, err := client.Beta.Files.Upload(context.TODO(), anthropic.BetaFileUploadParams{ 161 File: io.Reader(bytes.NewBuffer([]byte("Example data"))), 162 ExpiresInSeconds: anthropic.Int(3600), 163 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 164 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 165 }) 166 if err != nil { 167 var apierr *anthropic.Error 168 if errors.As(err, &apierr) { 169 t.Log(string(apierr.DumpRequest(true))) 170 } 171 t.Fatalf("err should be nil: %s", err.Error()) 172 } 173 }