diff --git a/src/finch/resources/hris/benefits/benefits.py b/src/finch/resources/hris/benefits/benefits.py index 9177f389..d13caaa4 100644 --- a/src/finch/resources/hris/benefits/benefits.py +++ b/src/finch/resources/hris/benefits/benefits.py @@ -123,6 +123,8 @@ def retrieve( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get( f"/employer/benefits/{benefit_id}", options=make_request_options( @@ -159,6 +161,8 @@ def update( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._post( f"/employer/benefits/{benefit_id}", body=maybe_transform({"description": description}, benefit_update_params.BenefitUpdateParams), @@ -302,6 +306,8 @@ async def retrieve( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return await self._get( f"/employer/benefits/{benefit_id}", options=make_request_options( @@ -338,6 +344,8 @@ async def update( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return await self._post( f"/employer/benefits/{benefit_id}", body=maybe_transform({"description": description}, benefit_update_params.BenefitUpdateParams), diff --git a/src/finch/resources/hris/benefits/individuals.py b/src/finch/resources/hris/benefits/individuals.py index fe020367..9c866ad7 100644 --- a/src/finch/resources/hris/benefits/individuals.py +++ b/src/finch/resources/hris/benefits/individuals.py @@ -74,6 +74,8 @@ def enroll_many( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", page=SyncSinglePage[EnrolledIndividual], @@ -110,6 +112,8 @@ def enrolled_ids( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get( f"/employer/benefits/{benefit_id}/enrolled", options=make_request_options( @@ -147,6 +151,8 @@ def retrieve_many_benefits( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", page=SyncSinglePage[IndividualBenefit], @@ -191,6 +197,8 @@ def unenroll_many( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", page=SyncSinglePage[UnenrolledIndividual], @@ -249,6 +257,8 @@ def enroll_many( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", page=AsyncSinglePage[EnrolledIndividual], @@ -285,6 +295,8 @@ async def enrolled_ids( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return await self._get( f"/employer/benefits/{benefit_id}/enrolled", options=make_request_options( @@ -322,6 +334,8 @@ def retrieve_many_benefits( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", page=AsyncSinglePage[IndividualBenefit], @@ -366,6 +380,8 @@ def unenroll_many( timeout: Override the client-level default timeout for this request, in seconds """ + if not benefit_id: + raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", page=AsyncSinglePage[UnenrolledIndividual], diff --git a/src/finch/resources/jobs/automated.py b/src/finch/resources/jobs/automated.py index 3d6718ad..3789d903 100644 --- a/src/finch/resources/jobs/automated.py +++ b/src/finch/resources/jobs/automated.py @@ -98,6 +98,8 @@ def retrieve( timeout: Override the client-level default timeout for this request, in seconds """ + if not job_id: + raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}") return self._get( f"/jobs/automated/{job_id}", options=make_request_options( @@ -233,6 +235,8 @@ async def retrieve( timeout: Override the client-level default timeout for this request, in seconds """ + if not job_id: + raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}") return await self._get( f"/jobs/automated/{job_id}", options=make_request_options( diff --git a/src/finch/resources/jobs/manual.py b/src/finch/resources/jobs/manual.py index 85b919a6..ad92165b 100644 --- a/src/finch/resources/jobs/manual.py +++ b/src/finch/resources/jobs/manual.py @@ -51,6 +51,8 @@ def retrieve( timeout: Override the client-level default timeout for this request, in seconds """ + if not job_id: + raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}") return self._get( f"/jobs/manual/{job_id}", options=make_request_options( @@ -94,6 +96,8 @@ async def retrieve( timeout: Override the client-level default timeout for this request, in seconds """ + if not job_id: + raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}") return await self._get( f"/jobs/manual/{job_id}", options=make_request_options( diff --git a/src/finch/resources/sandbox/employment.py b/src/finch/resources/sandbox/employment.py index ba4c243e..2c3f20cd 100644 --- a/src/finch/resources/sandbox/employment.py +++ b/src/finch/resources/sandbox/employment.py @@ -101,6 +101,8 @@ def update( timeout: Override the client-level default timeout for this request, in seconds """ + if not individual_id: + raise ValueError(f"Expected a non-empty value for `individual_id` but received {individual_id!r}") return self._put( f"/sandbox/employment/{individual_id}", body=maybe_transform( @@ -211,6 +213,8 @@ async def update( timeout: Override the client-level default timeout for this request, in seconds """ + if not individual_id: + raise ValueError(f"Expected a non-empty value for `individual_id` but received {individual_id!r}") return await self._put( f"/sandbox/employment/{individual_id}", body=maybe_transform( diff --git a/src/finch/resources/sandbox/individual.py b/src/finch/resources/sandbox/individual.py index dd1a5a2a..7094fe7b 100644 --- a/src/finch/resources/sandbox/individual.py +++ b/src/finch/resources/sandbox/individual.py @@ -100,6 +100,8 @@ def update( timeout: Override the client-level default timeout for this request, in seconds """ + if not individual_id: + raise ValueError(f"Expected a non-empty value for `individual_id` but received {individual_id!r}") return self._put( f"/sandbox/individual/{individual_id}", body=maybe_transform( @@ -204,6 +206,8 @@ async def update( timeout: Override the client-level default timeout for this request, in seconds """ + if not individual_id: + raise ValueError(f"Expected a non-empty value for `individual_id` but received {individual_id!r}") return await self._put( f"/sandbox/individual/{individual_id}", body=maybe_transform( diff --git a/tests/api_resources/hris/benefits/test_individuals.py b/tests/api_resources/hris/benefits/test_individuals.py index d30345fe..9d4a741e 100644 --- a/tests/api_resources/hris/benefits/test_individuals.py +++ b/tests/api_resources/hris/benefits/test_individuals.py @@ -61,6 +61,14 @@ def test_streaming_response_enroll_many(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_enroll_many(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + client.hris.benefits.individuals.with_raw_response.enroll_many( + "", + individuals=[{}], + ) + @parametrize def test_method_enrolled_ids(self, client: Finch) -> None: individual = client.hris.benefits.individuals.enrolled_ids( @@ -92,6 +100,13 @@ def test_streaming_response_enrolled_ids(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_enrolled_ids(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + client.hris.benefits.individuals.with_raw_response.enrolled_ids( + "", + ) + @parametrize def test_method_retrieve_many_benefits(self, client: Finch) -> None: individual = client.hris.benefits.individuals.retrieve_many_benefits( @@ -131,6 +146,13 @@ def test_streaming_response_retrieve_many_benefits(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_retrieve_many_benefits(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + client.hris.benefits.individuals.with_raw_response.retrieve_many_benefits( + "", + ) + @parametrize def test_method_unenroll_many(self, client: Finch) -> None: individual = client.hris.benefits.individuals.unenroll_many( @@ -170,6 +192,13 @@ def test_streaming_response_unenroll_many(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_unenroll_many(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + client.hris.benefits.individuals.with_raw_response.unenroll_many( + "", + ) + class TestAsyncIndividuals: strict_client = AsyncFinch(base_url=base_url, access_token=access_token, _strict_response_validation=True) @@ -210,6 +239,14 @@ async def test_streaming_response_enroll_many(self, client: AsyncFinch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + async def test_path_params_enroll_many(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + await client.hris.benefits.individuals.with_raw_response.enroll_many( + "", + individuals=[{}], + ) + @parametrize async def test_method_enrolled_ids(self, client: AsyncFinch) -> None: individual = await client.hris.benefits.individuals.enrolled_ids( @@ -241,6 +278,13 @@ async def test_streaming_response_enrolled_ids(self, client: AsyncFinch) -> None assert cast(Any, response.is_closed) is True + @parametrize + async def test_path_params_enrolled_ids(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + await client.hris.benefits.individuals.with_raw_response.enrolled_ids( + "", + ) + @parametrize async def test_method_retrieve_many_benefits(self, client: AsyncFinch) -> None: individual = await client.hris.benefits.individuals.retrieve_many_benefits( @@ -280,6 +324,13 @@ async def test_streaming_response_retrieve_many_benefits(self, client: AsyncFinc assert cast(Any, response.is_closed) is True + @parametrize + async def test_path_params_retrieve_many_benefits(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + await client.hris.benefits.individuals.with_raw_response.retrieve_many_benefits( + "", + ) + @parametrize async def test_method_unenroll_many(self, client: AsyncFinch) -> None: individual = await client.hris.benefits.individuals.unenroll_many( @@ -318,3 +369,10 @@ async def test_streaming_response_unenroll_many(self, client: AsyncFinch) -> Non assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"]) assert cast(Any, response.is_closed) is True + + @parametrize + async def test_path_params_unenroll_many(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + await client.hris.benefits.individuals.with_raw_response.unenroll_many( + "", + ) diff --git a/tests/api_resources/hris/test_benefits.py b/tests/api_resources/hris/test_benefits.py index 0bf4b035..025e7a61 100644 --- a/tests/api_resources/hris/test_benefits.py +++ b/tests/api_resources/hris/test_benefits.py @@ -92,6 +92,13 @@ def test_streaming_response_retrieve(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_retrieve(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + client.hris.benefits.with_raw_response.retrieve( + "", + ) + @parametrize def test_method_update(self, client: Finch) -> None: benefit = client.hris.benefits.update( @@ -131,6 +138,13 @@ def test_streaming_response_update(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_update(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + client.hris.benefits.with_raw_response.update( + "", + ) + @parametrize def test_method_list(self, client: Finch) -> None: benefit = client.hris.benefits.list() @@ -252,6 +266,13 @@ async def test_streaming_response_retrieve(self, client: AsyncFinch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + async def test_path_params_retrieve(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + await client.hris.benefits.with_raw_response.retrieve( + "", + ) + @parametrize async def test_method_update(self, client: AsyncFinch) -> None: benefit = await client.hris.benefits.update( @@ -291,6 +312,13 @@ async def test_streaming_response_update(self, client: AsyncFinch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + async def test_path_params_update(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `benefit_id` but received ''"): + await client.hris.benefits.with_raw_response.update( + "", + ) + @parametrize async def test_method_list(self, client: AsyncFinch) -> None: benefit = await client.hris.benefits.list() diff --git a/tests/api_resources/jobs/test_automated.py b/tests/api_resources/jobs/test_automated.py index b4261dde..13e7e221 100644 --- a/tests/api_resources/jobs/test_automated.py +++ b/tests/api_resources/jobs/test_automated.py @@ -84,6 +84,13 @@ def test_streaming_response_retrieve(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_retrieve(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `job_id` but received ''"): + client.jobs.automated.with_raw_response.retrieve( + "", + ) + @parametrize def test_method_list(self, client: Finch) -> None: automated = client.jobs.automated.list() @@ -185,6 +192,13 @@ async def test_streaming_response_retrieve(self, client: AsyncFinch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + async def test_path_params_retrieve(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `job_id` but received ''"): + await client.jobs.automated.with_raw_response.retrieve( + "", + ) + @parametrize async def test_method_list(self, client: AsyncFinch) -> None: automated = await client.jobs.automated.list() diff --git a/tests/api_resources/jobs/test_manual.py b/tests/api_resources/jobs/test_manual.py index 5efb033e..5e65b907 100644 --- a/tests/api_resources/jobs/test_manual.py +++ b/tests/api_resources/jobs/test_manual.py @@ -52,6 +52,13 @@ def test_streaming_response_retrieve(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_retrieve(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `job_id` but received ''"): + client.jobs.manual.with_raw_response.retrieve( + "", + ) + class TestAsyncManual: strict_client = AsyncFinch(base_url=base_url, access_token=access_token, _strict_response_validation=True) @@ -88,3 +95,10 @@ async def test_streaming_response_retrieve(self, client: AsyncFinch) -> None: assert_matches_type(ManualAsyncJob, manual, path=["response"]) assert cast(Any, response.is_closed) is True + + @parametrize + async def test_path_params_retrieve(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `job_id` but received ''"): + await client.jobs.manual.with_raw_response.retrieve( + "", + ) diff --git a/tests/api_resources/sandbox/test_employment.py b/tests/api_resources/sandbox/test_employment.py index 89d421bd..13e1930e 100644 --- a/tests/api_resources/sandbox/test_employment.py +++ b/tests/api_resources/sandbox/test_employment.py @@ -124,6 +124,13 @@ def test_streaming_response_update(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_update(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `individual_id` but received ''"): + client.sandbox.employment.with_raw_response.update( + "", + ) + class TestAsyncEmployment: strict_client = AsyncFinch(base_url=base_url, access_token=access_token, _strict_response_validation=True) @@ -232,3 +239,10 @@ async def test_streaming_response_update(self, client: AsyncFinch) -> None: assert_matches_type(EmploymentUpdateResponse, employment, path=["response"]) assert cast(Any, response.is_closed) is True + + @parametrize + async def test_path_params_update(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `individual_id` but received ''"): + await client.sandbox.employment.with_raw_response.update( + "", + ) diff --git a/tests/api_resources/sandbox/test_individual.py b/tests/api_resources/sandbox/test_individual.py index 356f5269..e4ca9751 100644 --- a/tests/api_resources/sandbox/test_individual.py +++ b/tests/api_resources/sandbox/test_individual.py @@ -106,6 +106,13 @@ def test_streaming_response_update(self, client: Finch) -> None: assert cast(Any, response.is_closed) is True + @parametrize + def test_path_params_update(self, client: Finch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `individual_id` but received ''"): + client.sandbox.individual.with_raw_response.update( + "", + ) + class TestAsyncIndividual: strict_client = AsyncFinch(base_url=base_url, access_token=access_token, _strict_response_validation=True) @@ -196,3 +203,10 @@ async def test_streaming_response_update(self, client: AsyncFinch) -> None: assert_matches_type(IndividualUpdateResponse, individual, path=["response"]) assert cast(Any, response.is_closed) is True + + @parametrize + async def test_path_params_update(self, client: AsyncFinch) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `individual_id` but received ''"): + await client.sandbox.individual.with_raw_response.update( + "", + )