Skip to content

Commit

Permalink
✅ [#4398] Fix VCR issue in Objects API ownership tests
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenbal committed Oct 29, 2024
1 parent b4f669b commit 52daf64
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ interactions:
User-Agent:
- python-requests/2.32.2
method: GET
uri: http://localhost:8002/api/v2/objects/5015053e-1916-42b5-9119-ede73f5c0694
uri: http://localhost:8002/api/v2/objects/d36124c0-752e-48a7-a724-bf3241a2e646
response:
body:
string: '{"url":"http://objects-web:8000/api/v2/objects/5015053e-1916-42b5-9119-ede73f5c0694","uuid":"5015053e-1916-42b5-9119-ede73f5c0694","type":"http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e","record":{"index":1,"typeVersion":1,"data":{"bsn":"111222333","foo":"bar"},"geometry":null,"startAt":"2024-10-29","endAt":null,"registrationAt":"2024-10-29","correctionFor":null,"correctedBy":null}}'
string: '{"url":"http://objects-web:8000/api/v2/objects/d36124c0-752e-48a7-a724-bf3241a2e646","uuid":"d36124c0-752e-48a7-a724-bf3241a2e646","type":"http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e","record":{"index":1,"typeVersion":1,"data":{"bsn":"111222333","foo":"bar"},"geometry":null,"startAt":"2024-10-29","endAt":null,"registrationAt":"2024-10-29","correctionFor":null,"correctedBy":null}}'
headers:
Allow:
- GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Expand All @@ -33,7 +33,7 @@ interactions:
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Tue, 29 Oct 2024 11:41:43 GMT
- Tue, 29 Oct 2024 13:38:52 GMT
Referrer-Policy:
- same-origin
Server:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ interactions:
User-Agent:
- python-requests/2.32.2
method: GET
uri: http://localhost:8002/api/v2/objects/5015053e-1916-42b5-9119-ede73f5c0694
uri: http://localhost:8002/api/v2/objects/d36124c0-752e-48a7-a724-bf3241a2e646
response:
body:
string: '{"url":"http://objects-web:8000/api/v2/objects/5015053e-1916-42b5-9119-ede73f5c0694","uuid":"5015053e-1916-42b5-9119-ede73f5c0694","type":"http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e","record":{"index":1,"typeVersion":1,"data":{"bsn":"111222333","foo":"bar"},"geometry":null,"startAt":"2024-10-29","endAt":null,"registrationAt":"2024-10-29","correctionFor":null,"correctedBy":null}}'
string: '{"url":"http://objects-web:8000/api/v2/objects/d36124c0-752e-48a7-a724-bf3241a2e646","uuid":"d36124c0-752e-48a7-a724-bf3241a2e646","type":"http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e","record":{"index":1,"typeVersion":1,"data":{"bsn":"111222333","foo":"bar"},"geometry":null,"startAt":"2024-10-29","endAt":null,"registrationAt":"2024-10-29","correctionFor":null,"correctedBy":null}}'
headers:
Allow:
- GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Expand All @@ -33,7 +33,7 @@ interactions:
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Tue, 29 Oct 2024 11:41:43 GMT
- Tue, 29 Oct 2024 13:38:52 GMT
Referrer-Policy:
- same-origin
Server:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
interactions:
- request:
body: '{"type": "http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e",
"record": {"typeVersion": 1, "data": {"bsn": "111222333", "foo": "bar"}, "startAt":
"2024-10-29"}}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate, br
Authorization:
- Token 7657474c3d75f56ae0abd0d1bf7994b09964dca9
Connection:
- keep-alive
Content-Crs:
- EPSG:4326
Content-Length:
- '194'
Content-Type:
- application/json
User-Agent:
- python-requests/2.32.2
method: POST
uri: http://localhost:8002/api/v2/objects
response:
body:
string: '{"url":"http://objects-web:8000/api/v2/objects/d36124c0-752e-48a7-a724-bf3241a2e646","uuid":"d36124c0-752e-48a7-a724-bf3241a2e646","type":"http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e","record":{"index":1,"typeVersion":1,"data":{"bsn":"111222333","foo":"bar"},"geometry":null,"startAt":"2024-10-29","endAt":null,"registrationAt":"2024-10-29","correctionFor":null,"correctedBy":null}}'
headers:
Allow:
- GET, POST, HEAD, OPTIONS
Connection:
- keep-alive
Content-Crs:
- EPSG:4326
Content-Length:
- '422'
Content-Type:
- application/json
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Tue, 29 Oct 2024 13:38:51 GMT
Location:
- http://localhost:8002/api/v2/objects/d36124c0-752e-48a7-a724-bf3241a2e646
Referrer-Policy:
- same-origin
Server:
- nginx/1.27.0
Vary:
- origin
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- DENY
status:
code: 201
message: Created
version: 1
30 changes: 20 additions & 10 deletions src/openforms/contrib/objects_api/tests/test_validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from django.test import TestCase, override_settings, tag

from requests.exceptions import RequestException
from vcr.config import VCR

from openforms.authentication.service import AuthAttribute
from openforms.contrib.objects_api.clients import get_objects_client
Expand Down Expand Up @@ -34,16 +35,25 @@ def setUpTestData(cls):
cls.objects_api_group_used = ObjectsAPIGroupConfigFactory.create(
for_test_docker_compose=True
)
# TODO fix tests failing after first run
with get_objects_client(cls.objects_api_group_used) as client:
object = client.create_object(
record_data=prepare_data_for_registration(
data={"bsn": "111222333", "foo": "bar"},
objecttype_version=1,
),
objecttype_url="http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e",
)
cls.object_ref = object["uuid"]

# Explicitly define a cassette for Object creation, because running this in
# setUpTestData doesn't record cassettes by default
cassette_path = Path(
cls.VCR_TEST_FILES
/ "vcr_cassettes"
/ cls.__qualname__
/ "setUpTestData.yaml"
)
with VCR().use_cassette(cassette_path):
with get_objects_client(cls.objects_api_group_used) as client:
object = client.create_object(
record_data=prepare_data_for_registration(
data={"bsn": "111222333", "foo": "bar"},
objecttype_version=1,
),
objecttype_url="http://objecttypes-web:8000/api/v2/objecttypes/8faed0fa-7864-4409-aa6d-533a37616a9e",
)
cls.object_ref = object["uuid"]

@tag("gh-4398")
def test_user_is_owner_of_object(self):
Expand Down

0 comments on commit 52daf64

Please sign in to comment.