Skip to content

Commit 8328597

Browse files
authored
Add support for deployments.delete endpoint (#71)
1 parent 8c277a5 commit 8328597

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

client_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2254,6 +2254,30 @@ func TestUpdateDeployment(t *testing.T) {
22542254
}
22552255
}
22562256

2257+
func TestDeleteDeployment(t *testing.T) {
2258+
deploymentOwner := "acme"
2259+
deploymentName := "existing-deployment"
2260+
mockServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
2261+
assert.Equal(t, http.MethodDelete, r.Method)
2262+
assert.Equal(t, fmt.Sprintf("/deployments/%s/%s", deploymentOwner, deploymentName), r.URL.Path)
2263+
w.WriteHeader(http.StatusNoContent)
2264+
}))
2265+
defer mockServer.Close()
2266+
2267+
client, err := replicate.NewClient(
2268+
replicate.WithToken("test-token"),
2269+
replicate.WithBaseURL(mockServer.URL),
2270+
)
2271+
require.NotNil(t, client)
2272+
require.NoError(t, err)
2273+
2274+
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
2275+
defer cancel()
2276+
2277+
err = client.DeleteDeployment(ctx, deploymentOwner, deploymentName)
2278+
assert.NoError(t, err)
2279+
}
2280+
22572281
func TestDeleteModel(t *testing.T) {
22582282
modelName := "replicate"
22592283
modelOwner := "hello-world"

deployment.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,13 @@ func (c *Client) UpdateDeployment(ctx context.Context, deploymentOwner string, d
133133

134134
return deployment, nil
135135
}
136+
137+
// DeleteDeployment deletes an existing deployment.
138+
func (c *Client) DeleteDeployment(ctx context.Context, deploymentOwner string, deploymentName string) error {
139+
path := fmt.Sprintf("/deployments/%s/%s", deploymentOwner, deploymentName)
140+
err := c.fetch(ctx, http.MethodDelete, path, nil, nil)
141+
if err != nil {
142+
return fmt.Errorf("failed to delete deployment: %w", err)
143+
}
144+
return nil
145+
}

0 commit comments

Comments
 (0)