diff --git a/.github/workflows/pr-review-slack.yml b/.github/workflows/pr-review-slack.yml
new file mode 100644
index 0000000..20c6516
--- /dev/null
+++ b/.github/workflows/pr-review-slack.yml
@@ -0,0 +1,37 @@
+name: PR Review Slack
+
+on:
+ pull_request:
+ types: [opened, reopened, ready_for_review]
+
+jobs:
+ notify:
+ if: github.event.pull_request.draft == false
+ runs-on: ubuntu-latest
+ steps:
+ - name: Post to Slack
+ uses: slackapi/slack-github-action@v2.0.0
+ with:
+ method: chat.postMessage
+ token: ${{ secrets.SLACK_BOT_TOKEN }}
+ payload: |
+ {
+ "channel": "C0AE0B1A874",
+ "text": "A new PR needs your review",
+ "blocks": [
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*A new PR needs your review*"
+ }
+ },
+ {
+ "type": "section",
+ "text": {
+ "type": "mrkdwn",
+ "text": "*Repo:* ${{ github.repository }}\n*Title:* ${{ github.event.pull_request.title }}\n*Author:* ${{ github.event.pull_request.user.login }}\n<${{ github.event.pull_request.html_url }}|View PR>"
+ }
+ }
+ ]
+ }
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 2aca35a..4208b5c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.5.0"
+ ".": "0.6.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index 20fc47e..825fb78 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 114
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/casemark%2Frouter-bd405528598f3651701eeddd54ea13fa8eeb40ac31f67456ef36972e6ab9ec3e.yml
-openapi_spec_hash: b3fef85dfb46022c54c97dba898121ae
-config_hash: 0b0fa7d7b7aca09da4b4f7e1d28f8c3c
+configured_endpoints: 112
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/casemark%2Frouter-b7ad2a37a671b2b258b3a303fdfa84af4b003dcb28ce579f8eb5407d7b6483ae.yml
+openapi_spec_hash: f86f6bb2c0fa3c011a2d400f26e99fa0
+config_hash: 3f4ac44914c70706a4ad30173624bd72
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ba040f2..d749a06 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
# Changelog
+## 0.6.0 (2026-02-10)
+
+Full Changelog: [v0.5.0...v0.6.0](https://github.com/CaseMark/casedev-python/compare/v0.5.0...v0.6.0)
+
+### Features
+
+* **api:** api update ([36cbc0c](https://github.com/CaseMark/casedev-python/commit/36cbc0cf466fd98fcf58b7a40a2b2080ad9b21f3))
+
+
+### Chores
+
+* update SDK settings ([4f246c4](https://github.com/CaseMark/casedev-python/commit/4f246c445acecc3553791855f9eb9b24a1423c00))
+
## 0.5.0 (2026-02-06)
Full Changelog: [v0.4.0...v0.5.0](https://github.com/CaseMark/casedev-python/compare/v0.4.0...v0.5.0)
diff --git a/api.md b/api.md
index f234575..1c40978 100644
--- a/api.md
+++ b/api.md
@@ -429,15 +429,13 @@ Methods:
Types:
```python
-from casedev.types.vault import MultipartGetPartURLsResponse, MultipartInitResponse
+from casedev.types.vault import MultipartGetPartURLsResponse
```
Methods:
- client.vault.multipart.abort(id, \*\*params) -> None
-- client.vault.multipart.complete(id, \*\*params) -> None
- client.vault.multipart.get_part_urls(id, \*\*params) -> MultipartGetPartURLsResponse
-- client.vault.multipart.init(id, \*\*params) -> MultipartInitResponse
## Objects
diff --git a/pyproject.toml b/pyproject.toml
index 78280eb..12dfbdf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "casedev"
-version = "0.5.0"
+version = "0.6.0"
description = "The official Python library for the casedev API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/casedev/_version.py b/src/casedev/_version.py
index 9496146..48ab768 100644
--- a/src/casedev/_version.py
+++ b/src/casedev/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "casedev"
-__version__ = "0.5.0" # x-release-please-version
+__version__ = "0.6.0" # x-release-please-version
diff --git a/src/casedev/resources/vault/multipart.py b/src/casedev/resources/vault/multipart.py
index ea1e157..7c57246 100644
--- a/src/casedev/resources/vault/multipart.py
+++ b/src/casedev/resources/vault/multipart.py
@@ -6,7 +6,7 @@
import httpx
-from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
+from ..._types import Body, Query, Headers, NoneType, NotGiven, not_given
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -16,14 +16,8 @@
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
-from ...types.vault import (
- multipart_init_params,
- multipart_abort_params,
- multipart_complete_params,
- multipart_get_part_urls_params,
-)
+from ...types.vault import multipart_abort_params, multipart_get_part_urls_params
from ..._base_client import make_request_options
-from ...types.vault.multipart_init_response import MultipartInitResponse
from ...types.vault.multipart_get_part_urls_response import MultipartGetPartURLsResponse
__all__ = ["MultipartResource", "AsyncMultipartResource"]
@@ -63,7 +57,7 @@ def abort(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
"""
- Abort a multipart upload and discard uploaded parts.
+ Abort a multipart upload and discard uploaded parts (live).
Args:
extra_headers: Send extra headers
@@ -92,53 +86,6 @@ def abort(
cast_to=NoneType,
)
- def complete(
- self,
- id: str,
- *,
- object_id: str,
- parts: Iterable[multipart_complete_params.Part],
- size_bytes: int,
- upload_id: str,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> None:
- """
- Complete a multipart upload by providing the list of part numbers and ETags.
-
- Args:
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
- return self._post(
- f"/vault/{id}/multipart/complete",
- body=maybe_transform(
- {
- "object_id": object_id,
- "parts": parts,
- "size_bytes": size_bytes,
- "upload_id": upload_id,
- },
- multipart_complete_params.MultipartCompleteParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=NoneType,
- )
-
def get_part_urls(
self,
id: str,
@@ -154,7 +101,7 @@ def get_part_urls(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> MultipartGetPartURLsResponse:
"""
- Generate presigned URLs for individual multipart upload parts.
+ Generate presigned URLs for individual multipart upload parts (live).
Args:
extra_headers: Send extra headers
@@ -183,75 +130,6 @@ def get_part_urls(
cast_to=MultipartGetPartURLsResponse,
)
- def init(
- self,
- id: str,
- *,
- content_type: str,
- filename: str,
- size_bytes: int,
- auto_index: bool | Omit = omit,
- metadata: object | Omit = omit,
- part_size_bytes: int | Omit = omit,
- path: str | Omit = omit,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> MultipartInitResponse:
- """Initiate a multipart upload for large files (>5GB).
-
- Returns an uploadId and
- object metadata. Use part URLs endpoint to upload parts and complete endpoint to
- finalize.
-
- Args:
- content_type: MIME type of the file
-
- filename: Name of the file to upload
-
- size_bytes: File size in bytes (required, max 8GB).
-
- auto_index: Whether to automatically process and index the file for search
-
- metadata: Additional metadata to associate with the file
-
- part_size_bytes: Multipart part size in bytes (min 5MB). Defaults to 64MB.
-
- path: Optional folder path for hierarchy preservation
-
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- return self._post(
- f"/vault/{id}/multipart/init",
- body=maybe_transform(
- {
- "content_type": content_type,
- "filename": filename,
- "size_bytes": size_bytes,
- "auto_index": auto_index,
- "metadata": metadata,
- "part_size_bytes": part_size_bytes,
- "path": path,
- },
- multipart_init_params.MultipartInitParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=MultipartInitResponse,
- )
-
class AsyncMultipartResource(AsyncAPIResource):
@cached_property
@@ -287,7 +165,7 @@ async def abort(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
"""
- Abort a multipart upload and discard uploaded parts.
+ Abort a multipart upload and discard uploaded parts (live).
Args:
extra_headers: Send extra headers
@@ -316,53 +194,6 @@ async def abort(
cast_to=NoneType,
)
- async def complete(
- self,
- id: str,
- *,
- object_id: str,
- parts: Iterable[multipart_complete_params.Part],
- size_bytes: int,
- upload_id: str,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> None:
- """
- Complete a multipart upload by providing the list of part numbers and ETags.
-
- Args:
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
- return await self._post(
- f"/vault/{id}/multipart/complete",
- body=await async_maybe_transform(
- {
- "object_id": object_id,
- "parts": parts,
- "size_bytes": size_bytes,
- "upload_id": upload_id,
- },
- multipart_complete_params.MultipartCompleteParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=NoneType,
- )
-
async def get_part_urls(
self,
id: str,
@@ -378,7 +209,7 @@ async def get_part_urls(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> MultipartGetPartURLsResponse:
"""
- Generate presigned URLs for individual multipart upload parts.
+ Generate presigned URLs for individual multipart upload parts (live).
Args:
extra_headers: Send extra headers
@@ -407,75 +238,6 @@ async def get_part_urls(
cast_to=MultipartGetPartURLsResponse,
)
- async def init(
- self,
- id: str,
- *,
- content_type: str,
- filename: str,
- size_bytes: int,
- auto_index: bool | Omit = omit,
- metadata: object | Omit = omit,
- part_size_bytes: int | Omit = omit,
- path: str | Omit = omit,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> MultipartInitResponse:
- """Initiate a multipart upload for large files (>5GB).
-
- Returns an uploadId and
- object metadata. Use part URLs endpoint to upload parts and complete endpoint to
- finalize.
-
- Args:
- content_type: MIME type of the file
-
- filename: Name of the file to upload
-
- size_bytes: File size in bytes (required, max 8GB).
-
- auto_index: Whether to automatically process and index the file for search
-
- metadata: Additional metadata to associate with the file
-
- part_size_bytes: Multipart part size in bytes (min 5MB). Defaults to 64MB.
-
- path: Optional folder path for hierarchy preservation
-
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- if not id:
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
- return await self._post(
- f"/vault/{id}/multipart/init",
- body=await async_maybe_transform(
- {
- "content_type": content_type,
- "filename": filename,
- "size_bytes": size_bytes,
- "auto_index": auto_index,
- "metadata": metadata,
- "part_size_bytes": part_size_bytes,
- "path": path,
- },
- multipart_init_params.MultipartInitParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=MultipartInitResponse,
- )
-
class MultipartResourceWithRawResponse:
def __init__(self, multipart: MultipartResource) -> None:
@@ -484,15 +246,9 @@ def __init__(self, multipart: MultipartResource) -> None:
self.abort = to_raw_response_wrapper(
multipart.abort,
)
- self.complete = to_raw_response_wrapper(
- multipart.complete,
- )
self.get_part_urls = to_raw_response_wrapper(
multipart.get_part_urls,
)
- self.init = to_raw_response_wrapper(
- multipart.init,
- )
class AsyncMultipartResourceWithRawResponse:
@@ -502,15 +258,9 @@ def __init__(self, multipart: AsyncMultipartResource) -> None:
self.abort = async_to_raw_response_wrapper(
multipart.abort,
)
- self.complete = async_to_raw_response_wrapper(
- multipart.complete,
- )
self.get_part_urls = async_to_raw_response_wrapper(
multipart.get_part_urls,
)
- self.init = async_to_raw_response_wrapper(
- multipart.init,
- )
class MultipartResourceWithStreamingResponse:
@@ -520,15 +270,9 @@ def __init__(self, multipart: MultipartResource) -> None:
self.abort = to_streamed_response_wrapper(
multipart.abort,
)
- self.complete = to_streamed_response_wrapper(
- multipart.complete,
- )
self.get_part_urls = to_streamed_response_wrapper(
multipart.get_part_urls,
)
- self.init = to_streamed_response_wrapper(
- multipart.init,
- )
class AsyncMultipartResourceWithStreamingResponse:
@@ -538,12 +282,6 @@ def __init__(self, multipart: AsyncMultipartResource) -> None:
self.abort = async_to_streamed_response_wrapper(
multipart.abort,
)
- self.complete = async_to_streamed_response_wrapper(
- multipart.complete,
- )
self.get_part_urls = async_to_streamed_response_wrapper(
multipart.get_part_urls,
)
- self.init = async_to_streamed_response_wrapper(
- multipart.init,
- )
diff --git a/src/casedev/types/vault/__init__.py b/src/casedev/types/vault/__init__.py
index 41b96cb..c0bb5a9 100644
--- a/src/casedev/types/vault/__init__.py
+++ b/src/casedev/types/vault/__init__.py
@@ -5,16 +5,13 @@
from .object_delete_params import ObjectDeleteParams as ObjectDeleteParams
from .object_list_response import ObjectListResponse as ObjectListResponse
from .object_update_params import ObjectUpdateParams as ObjectUpdateParams
-from .multipart_init_params import MultipartInitParams as MultipartInitParams
from .graphrag_init_response import GraphragInitResponse as GraphragInitResponse
from .multipart_abort_params import MultipartAbortParams as MultipartAbortParams
from .object_delete_response import ObjectDeleteResponse as ObjectDeleteResponse
from .object_update_response import ObjectUpdateResponse as ObjectUpdateResponse
-from .multipart_init_response import MultipartInitResponse as MultipartInitResponse
from .object_download_response import ObjectDownloadResponse as ObjectDownloadResponse
from .object_get_text_response import ObjectGetTextResponse as ObjectGetTextResponse
from .object_retrieve_response import ObjectRetrieveResponse as ObjectRetrieveResponse
-from .multipart_complete_params import MultipartCompleteParams as MultipartCompleteParams
from .graphrag_get_stats_response import GraphragGetStatsResponse as GraphragGetStatsResponse
from .object_get_ocr_words_params import ObjectGetOcrWordsParams as ObjectGetOcrWordsParams
from .object_get_ocr_words_response import ObjectGetOcrWordsResponse as ObjectGetOcrWordsResponse
diff --git a/src/casedev/types/vault/multipart_complete_params.py b/src/casedev/types/vault/multipart_complete_params.py
deleted file mode 100644
index 9a5ad45..0000000
--- a/src/casedev/types/vault/multipart_complete_params.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import Iterable
-from typing_extensions import Required, Annotated, TypedDict
-
-from ..._utils import PropertyInfo
-
-__all__ = ["MultipartCompleteParams", "Part"]
-
-
-class MultipartCompleteParams(TypedDict, total=False):
- object_id: Required[Annotated[str, PropertyInfo(alias="objectId")]]
-
- parts: Required[Iterable[Part]]
-
- size_bytes: Required[Annotated[int, PropertyInfo(alias="sizeBytes")]]
-
- upload_id: Required[Annotated[str, PropertyInfo(alias="uploadId")]]
-
-
-class Part(TypedDict, total=False):
- etag: Required[str]
-
- part_number: Required[Annotated[int, PropertyInfo(alias="partNumber")]]
diff --git a/src/casedev/types/vault/multipart_get_part_urls_params.py b/src/casedev/types/vault/multipart_get_part_urls_params.py
index 462a79c..32ccbd0 100644
--- a/src/casedev/types/vault/multipart_get_part_urls_params.py
+++ b/src/casedev/types/vault/multipart_get_part_urls_params.py
@@ -22,3 +22,4 @@ class Part(TypedDict, total=False):
part_number: Required[Annotated[int, PropertyInfo(alias="partNumber")]]
size_bytes: Required[Annotated[int, PropertyInfo(alias="sizeBytes")]]
+ """Part size in bytes (min 5MB except final part, max 5GB)."""
diff --git a/src/casedev/types/vault/multipart_init_params.py b/src/casedev/types/vault/multipart_init_params.py
deleted file mode 100644
index f5f3018..0000000
--- a/src/casedev/types/vault/multipart_init_params.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing_extensions import Required, Annotated, TypedDict
-
-from ..._utils import PropertyInfo
-
-__all__ = ["MultipartInitParams"]
-
-
-class MultipartInitParams(TypedDict, total=False):
- content_type: Required[Annotated[str, PropertyInfo(alias="contentType")]]
- """MIME type of the file"""
-
- filename: Required[str]
- """Name of the file to upload"""
-
- size_bytes: Required[Annotated[int, PropertyInfo(alias="sizeBytes")]]
- """File size in bytes (required, max 8GB)."""
-
- auto_index: bool
- """Whether to automatically process and index the file for search"""
-
- metadata: object
- """Additional metadata to associate with the file"""
-
- part_size_bytes: Annotated[int, PropertyInfo(alias="partSizeBytes")]
- """Multipart part size in bytes (min 5MB). Defaults to 64MB."""
-
- path: str
- """Optional folder path for hierarchy preservation"""
diff --git a/src/casedev/types/vault/multipart_init_response.py b/src/casedev/types/vault/multipart_init_response.py
deleted file mode 100644
index 2ec7c9b..0000000
--- a/src/casedev/types/vault/multipart_init_response.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import Optional
-
-from pydantic import Field as FieldInfo
-
-from ..._models import BaseModel
-
-__all__ = ["MultipartInitResponse"]
-
-
-class MultipartInitResponse(BaseModel):
- next_step: Optional[str] = None
-
- object_id: Optional[str] = FieldInfo(alias="objectId", default=None)
-
- part_count: Optional[int] = FieldInfo(alias="partCount", default=None)
-
- part_size_bytes: Optional[int] = FieldInfo(alias="partSizeBytes", default=None)
-
- s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
-
- upload_id: Optional[str] = FieldInfo(alias="uploadId", default=None)
diff --git a/tests/api_resources/vault/test_multipart.py b/tests/api_resources/vault/test_multipart.py
index 8eb4b6d..45e7d51 100644
--- a/tests/api_resources/vault/test_multipart.py
+++ b/tests/api_resources/vault/test_multipart.py
@@ -9,10 +9,7 @@
from casedev import Casedev, AsyncCasedev
from tests.utils import assert_matches_type
-from casedev.types.vault import (
- MultipartInitResponse,
- MultipartGetPartURLsResponse,
-)
+from casedev.types.vault import MultipartGetPartURLsResponse
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -70,84 +67,6 @@ def test_path_params_abort(self, client: Casedev) -> None:
upload_id="uploadId",
)
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_method_complete(self, client: Casedev) -> None:
- multipart = client.vault.multipart.complete(
- id="id",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- )
- assert multipart is None
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_raw_response_complete(self, client: Casedev) -> None:
- response = client.vault.multipart.with_raw_response.complete(
- id="id",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- multipart = response.parse()
- assert multipart is None
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_streaming_response_complete(self, client: Casedev) -> None:
- with client.vault.multipart.with_streaming_response.complete(
- id="id",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- multipart = response.parse()
- assert multipart is None
-
- assert cast(Any, response.is_closed) is True
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_path_params_complete(self, client: Casedev) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- client.vault.multipart.with_raw_response.complete(
- id="",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- )
-
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
def test_method_get_part_urls(self, client: Casedev) -> None:
@@ -222,75 +141,6 @@ def test_path_params_get_part_urls(self, client: Casedev) -> None:
upload_id="uploadId",
)
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_method_init(self, client: Casedev) -> None:
- multipart = client.vault.multipart.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- )
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_method_init_with_all_params(self, client: Casedev) -> None:
- multipart = client.vault.multipart.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- auto_index=True,
- metadata={},
- part_size_bytes=5242880,
- path="path",
- )
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_raw_response_init(self, client: Casedev) -> None:
- response = client.vault.multipart.with_raw_response.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- multipart = response.parse()
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_streaming_response_init(self, client: Casedev) -> None:
- with client.vault.multipart.with_streaming_response.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- multipart = response.parse()
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- def test_path_params_init(self, client: Casedev) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- client.vault.multipart.with_raw_response.init(
- id="",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- )
-
class TestAsyncMultipart:
parametrize = pytest.mark.parametrize(
@@ -347,84 +197,6 @@ async def test_path_params_abort(self, async_client: AsyncCasedev) -> None:
upload_id="uploadId",
)
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_method_complete(self, async_client: AsyncCasedev) -> None:
- multipart = await async_client.vault.multipart.complete(
- id="id",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- )
- assert multipart is None
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_raw_response_complete(self, async_client: AsyncCasedev) -> None:
- response = await async_client.vault.multipart.with_raw_response.complete(
- id="id",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- multipart = await response.parse()
- assert multipart is None
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_streaming_response_complete(self, async_client: AsyncCasedev) -> None:
- async with async_client.vault.multipart.with_streaming_response.complete(
- id="id",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- multipart = await response.parse()
- assert multipart is None
-
- assert cast(Any, response.is_closed) is True
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_path_params_complete(self, async_client: AsyncCasedev) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- await async_client.vault.multipart.with_raw_response.complete(
- id="",
- object_id="objectId",
- parts=[
- {
- "etag": "etag",
- "part_number": 1,
- }
- ],
- size_bytes=1,
- upload_id="uploadId",
- )
-
@pytest.mark.skip(reason="Prism tests are disabled")
@parametrize
async def test_method_get_part_urls(self, async_client: AsyncCasedev) -> None:
@@ -498,72 +270,3 @@ async def test_path_params_get_part_urls(self, async_client: AsyncCasedev) -> No
],
upload_id="uploadId",
)
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_method_init(self, async_client: AsyncCasedev) -> None:
- multipart = await async_client.vault.multipart.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- )
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_method_init_with_all_params(self, async_client: AsyncCasedev) -> None:
- multipart = await async_client.vault.multipart.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- auto_index=True,
- metadata={},
- part_size_bytes=5242880,
- path="path",
- )
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_raw_response_init(self, async_client: AsyncCasedev) -> None:
- response = await async_client.vault.multipart.with_raw_response.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- multipart = await response.parse()
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_streaming_response_init(self, async_client: AsyncCasedev) -> None:
- async with async_client.vault.multipart.with_streaming_response.init(
- id="id",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- multipart = await response.parse()
- assert_matches_type(MultipartInitResponse, multipart, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @pytest.mark.skip(reason="Prism tests are disabled")
- @parametrize
- async def test_path_params_init(self, async_client: AsyncCasedev) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
- await async_client.vault.multipart.with_raw_response.init(
- id="",
- content_type="contentType",
- filename="filename",
- size_bytes=1,
- )