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  }