github.com/anthropics/anthropic-sdk-go@v1.70.1/betaenvironment_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 "context" 7 "errors" 8 "os" 9 "testing" 10 11 "github.com/anthropics/anthropic-sdk-go" 12 "github.com/anthropics/anthropic-sdk-go/internal/testutil" 13 "github.com/anthropics/anthropic-sdk-go/option" 14 ) 15 16 func TestBetaEnvironmentNewWithOptionalParams(t *testing.T) { 17 baseURL := "http://localhost:4010" 18 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 19 baseURL = envURL 20 } 21 if !testutil.CheckTestServer(t, baseURL) { 22 return 23 } 24 client := anthropic.NewClient( 25 option.WithBaseURL(baseURL), 26 option.WithAPIKey("my-anthropic-api-key"), 27 ) 28 _, err := client.Beta.Environments.New(context.TODO(), anthropic.BetaEnvironmentNewParams{ 29 Name: "python-data-analysis", 30 Config: anthropic.BetaEnvironmentNewParamsConfigUnion{ 31 OfCloud: &anthropic.BetaCloudConfigParams{ 32 Networking: anthropic.BetaCloudConfigParamsNetworkingUnion{ 33 OfLimited: &anthropic.BetaLimitedNetworkParams{ 34 AllowMCPServers: anthropic.Bool(true), 35 AllowPackageManagers: anthropic.Bool(true), 36 AllowedHosts: []string{"api.example.com"}, 37 }, 38 }, 39 Packages: anthropic.BetaPackagesParams{ 40 Apt: []string{"string"}, 41 Cargo: []string{"string"}, 42 Gem: []string{"string"}, 43 Go: []string{"string"}, 44 Npm: []string{"string"}, 45 Pip: []string{"pandas", "numpy"}, 46 Type: anthropic.BetaPackagesParamsTypePackages, 47 }, 48 }, 49 }, 50 Description: anthropic.String("Python environment with data-analysis packages."), 51 Metadata: map[string]string{ 52 "foo": "string", 53 }, 54 Scope: anthropic.BetaEnvironmentNewParamsScopeOrganization, 55 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 56 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 57 }) 58 if err != nil { 59 var apierr *anthropic.Error 60 if errors.As(err, &apierr) { 61 t.Log(string(apierr.DumpRequest(true))) 62 } 63 t.Fatalf("err should be nil: %s", err.Error()) 64 } 65 } 66 67 func TestBetaEnvironmentGetWithOptionalParams(t *testing.T) { 68 baseURL := "http://localhost:4010" 69 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 70 baseURL = envURL 71 } 72 if !testutil.CheckTestServer(t, baseURL) { 73 return 74 } 75 client := anthropic.NewClient( 76 option.WithBaseURL(baseURL), 77 option.WithAPIKey("my-anthropic-api-key"), 78 ) 79 _, err := client.Beta.Environments.Get( 80 context.TODO(), 81 "env_011CZkZ9X2dpNyB7HsEFoRfW", 82 anthropic.BetaEnvironmentGetParams{ 83 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 84 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 85 }, 86 ) 87 if err != nil { 88 var apierr *anthropic.Error 89 if errors.As(err, &apierr) { 90 t.Log(string(apierr.DumpRequest(true))) 91 } 92 t.Fatalf("err should be nil: %s", err.Error()) 93 } 94 } 95 96 func TestBetaEnvironmentUpdateWithOptionalParams(t *testing.T) { 97 baseURL := "http://localhost:4010" 98 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 99 baseURL = envURL 100 } 101 if !testutil.CheckTestServer(t, baseURL) { 102 return 103 } 104 client := anthropic.NewClient( 105 option.WithBaseURL(baseURL), 106 option.WithAPIKey("my-anthropic-api-key"), 107 ) 108 _, err := client.Beta.Environments.Update( 109 context.TODO(), 110 "env_011CZkZ9X2dpNyB7HsEFoRfW", 111 anthropic.BetaEnvironmentUpdateParams{ 112 Config: anthropic.BetaEnvironmentUpdateParamsConfigUnion{ 113 OfCloud: &anthropic.BetaCloudConfigParams{ 114 Networking: anthropic.BetaCloudConfigParamsNetworkingUnion{ 115 OfLimited: &anthropic.BetaLimitedNetworkParams{ 116 AllowMCPServers: anthropic.Bool(true), 117 AllowPackageManagers: anthropic.Bool(true), 118 AllowedHosts: []string{"api.example.com"}, 119 }, 120 }, 121 Packages: anthropic.BetaPackagesParams{ 122 Apt: []string{"string"}, 123 Cargo: []string{"string"}, 124 Gem: []string{"string"}, 125 Go: []string{"string"}, 126 Npm: []string{"string"}, 127 Pip: []string{"pandas", "numpy"}, 128 Type: anthropic.BetaPackagesParamsTypePackages, 129 }, 130 }, 131 }, 132 Description: anthropic.String("Python environment with data-analysis packages."), 133 Metadata: map[string]string{ 134 "foo": "string", 135 }, 136 Name: anthropic.String("x"), 137 Scope: anthropic.BetaEnvironmentUpdateParamsScopeOrganization, 138 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 139 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 140 }, 141 ) 142 if err != nil { 143 var apierr *anthropic.Error 144 if errors.As(err, &apierr) { 145 t.Log(string(apierr.DumpRequest(true))) 146 } 147 t.Fatalf("err should be nil: %s", err.Error()) 148 } 149 } 150 151 func TestBetaEnvironmentListWithOptionalParams(t *testing.T) { 152 baseURL := "http://localhost:4010" 153 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 154 baseURL = envURL 155 } 156 if !testutil.CheckTestServer(t, baseURL) { 157 return 158 } 159 client := anthropic.NewClient( 160 option.WithBaseURL(baseURL), 161 option.WithAPIKey("my-anthropic-api-key"), 162 ) 163 _, err := client.Beta.Environments.List(context.TODO(), anthropic.BetaEnvironmentListParams{ 164 IncludeArchived: anthropic.Bool(true), 165 Limit: anthropic.Int(1), 166 Page: anthropic.String("page"), 167 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 168 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 169 }) 170 if err != nil { 171 var apierr *anthropic.Error 172 if errors.As(err, &apierr) { 173 t.Log(string(apierr.DumpRequest(true))) 174 } 175 t.Fatalf("err should be nil: %s", err.Error()) 176 } 177 } 178 179 func TestBetaEnvironmentDeleteWithOptionalParams(t *testing.T) { 180 baseURL := "http://localhost:4010" 181 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 182 baseURL = envURL 183 } 184 if !testutil.CheckTestServer(t, baseURL) { 185 return 186 } 187 client := anthropic.NewClient( 188 option.WithBaseURL(baseURL), 189 option.WithAPIKey("my-anthropic-api-key"), 190 ) 191 _, err := client.Beta.Environments.Delete( 192 context.TODO(), 193 "env_011CZkZ9X2dpNyB7HsEFoRfW", 194 anthropic.BetaEnvironmentDeleteParams{ 195 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 196 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 197 }, 198 ) 199 if err != nil { 200 var apierr *anthropic.Error 201 if errors.As(err, &apierr) { 202 t.Log(string(apierr.DumpRequest(true))) 203 } 204 t.Fatalf("err should be nil: %s", err.Error()) 205 } 206 } 207 208 func TestBetaEnvironmentArchiveWithOptionalParams(t *testing.T) { 209 baseURL := "http://localhost:4010" 210 if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { 211 baseURL = envURL 212 } 213 if !testutil.CheckTestServer(t, baseURL) { 214 return 215 } 216 client := anthropic.NewClient( 217 option.WithBaseURL(baseURL), 218 option.WithAPIKey("my-anthropic-api-key"), 219 ) 220 _, err := client.Beta.Environments.Archive( 221 context.TODO(), 222 "env_011CZkZ9X2dpNyB7HsEFoRfW", 223 anthropic.BetaEnvironmentArchiveParams{ 224 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMessageBatches2024_09_24}, 225 WorkspaceID: anthropic.String("wrkspc_011CZkZaBF1tNoB5wlCeusgy"), 226 }, 227 ) 228 if err != nil { 229 var apierr *anthropic.Error 230 if errors.As(err, &apierr) { 231 t.Log(string(apierr.DumpRequest(true))) 232 } 233 t.Fatalf("err should be nil: %s", err.Error()) 234 } 235 }