Skip to content
Snippets Groups Projects
Commit 56972148 authored by Victor Dosda's avatar Victor Dosda
Browse files

updated test delete purge with debug

updated test delete purge with debug

updated test delete purge with data and refactoring (debug mode)

updated test delete purge with data and refactoring (debug mode)
parent 82b456a6
No related branches found
No related tags found
1 merge request!240Deletion of bulk data
......@@ -75,7 +75,12 @@ def build_request_get_versions_of_osdu_wellboremarkerset() -> RequestRunner:
return RequestRunner(rq_proto)
def build_request_create_osdu_wellboremarkerset() -> RequestRunner:
def build_request_create_osdu_wellboremarkerset(b_use_fixed_id=True) -> RequestRunner:
if b_use_fixed_id:
id_field = '"id": "{{data_partition}}:work-product-component--WellboreMarkerSet:c7c421a7-f496-5aef-8093-298c32bfdea9",'
else:
id_field = ''
rq_proto = Request(
name="Create OSDU wellboremarkerset",
method="POST",
......@@ -87,9 +92,8 @@ def build_request_create_osdu_wellboremarkerset() -> RequestRunner:
"Connection": "{{header_connection}}",
"Authorization": "Bearer {{token}}",
},
payload=r"""[{
payload='[{' + id_field + r"""
"acl": {{record_acl}}, "legal": {{record_legal}},
"id": "{{data_partition}}:work-product-component--WellboreMarkerSet:c7c421a7-f496-5aef-8093-298c32bfdea9",
"kind": "{{osduWellboreMarkerSetKind}}",
"tags": {
"NameOfKey": "String value"
......
......@@ -14,56 +14,60 @@
import pytest
from .fixtures import with_wdms_env
from ..request_builders import build_request
from .test_chunking import ParquetSerializer, JsonSerializer, generate_df, build_request
from ..request_builders.wdms.crud.osdu_wellboremarkerset import build_request_create_osdu_wellboremarkerset
from ..request_builders.wdms.crud.osdu_wellboretrajectory import build_request_create_osdu_wellboretrajectory
from ..request_builders.wdms.crud.osdu_welllog import build_request_create_osdu_welllog
from ..request_builders.wdms.delete import build_request_delete_purge_record
from ..request_runner import RequestRunner
kind_list = ['osdu_welllog', 'osdu_wellboretrajectory', 'osdu_wellboremarkerset']
kind_list = ['osdu_wellbore', 'osdu_well', 'osdu_welllog', 'osdu_wellboretrajectory', 'osdu_wellboremarkerset']
entity_type_dict = {
"well_log": {"entity": "welllogs", "version": "v3"},
"wellbore_trajectory": {"entity": "wellboretrajectories", "version": "v3"},
#"wellbore_markerset": {"entity": "wellboremarkersets", "version": "v3"},
}
# parametrize of kind + dependency on the create_record
param_kind_depend_on_create = [
pytest.param(k, marks=pytest.mark.dependency(depends=[f'test_create_record_{k}'])) for k in kind_list
]
def build_base_url(entity_type: str) -> str:
return '{{base_url}}/ddms/' + entity_type_dict[entity_type]["version"] + '/' + entity_type_dict[entity_type]["entity"]
def build_request_post_data(entity_type: str, record_id: str, payload) -> RequestRunner:
url = build_base_url(entity_type) + f'/{record_id}/data'
return build_request(f'{entity_type} post data', 'POST', url, payload=payload)
@pytest.mark.tag('basic', 'crud', 'smoke')
@pytest.mark.parametrize(
'kind', [pytest.param(k, marks=pytest.mark.dependency(name=f'test_create_record_{k}')) for k in kind_list])
def test_crud_create_record(with_wdms_env, kind):
result = build_request(f'crud.{kind}.create_{kind}').call(with_wdms_env)
@pytest.mark.parametrize('serializer', [ParquetSerializer(), JsonSerializer()])
@pytest.mark.parametrize('entity_type', [entity_type for entity_type in entity_type_dict.keys()])
def test_crud_create_record_with_data(with_wdms_env, entity_type, serializer):
data = generate_df(['MD', 'X'], range(8))
data_to_send = serializer.dump(data)
headers = {'Content-Type': serializer.mime_type, 'Accept': serializer.mime_type}
if entity_type == 'well_log':
result = build_request_create_osdu_welllog(False).call(with_wdms_env)
elif entity_type == 'wellbore_trajectory':
result = build_request_create_osdu_wellboretrajectory(False).call(with_wdms_env)
elif entity_type == 'wellbore_markerset':
result = build_request_create_osdu_wellboremarkerset(False).call(with_wdms_env)
result.assert_ok()
resobj = result.get_response_obj()
#DATA
build_request_post_data(entity_type, resobj.recordIds[0], data_to_send).call(with_wdms_env,
headers=headers).assert_ok()
assert resobj.recordCount == 1
assert len(resobj.recordIds) == 1
assert len(resobj.recordIdVersions) == 1
with_wdms_env.set(f'{kind}_record_id', resobj.recordIds[0]) # stored the record id for the following tests
with_wdms_env.set(f'{entity_type}_record_id', resobj.recordIds[0]) # stored the record id for the following tests
@pytest.mark.tag('basic', 'crud', 'smoke')
@pytest.mark.parametrize('kind', param_kind_depend_on_create)
def test_crud_record_versions(with_wdms_env, kind):
# get all version of the record
result = build_request(f'crud.{kind}.get_versions_of_{kind}').call(with_wdms_env)
result.assert_ok()
resobj = result.get_response_obj()
record_id = with_wdms_env.get(f'{kind}_record_id')
assert resobj.recordId == record_id
assert len(resobj.versions) >= 1
# get specific version of the record
result = build_request(f'crud.{kind}.get_{kind}_specific_version').call(
with_wdms_env,
**{f'{kind}_record_version': resobj.versions[len(resobj.versions)-1]} # set/pass version to fetch
)
result.assert_ok()
@pytest.mark.tag('basic', 'crud', 'smoke')
@pytest.mark.parametrize('kind', param_kind_depend_on_create)
def test_delete_purge_record(with_wdms_env, kind):
with_wdms_env.set(f'record_id', with_wdms_env.get(f'{kind}_record_id'))
@pytest.mark.parametrize('entity_type', [entity_type for entity_type in entity_type_dict.keys()])
def test_delete_purge_record(with_wdms_env, entity_type):
with_wdms_env.set(f'record_id', with_wdms_env.get(f'{entity_type}_record_id'))
with_wdms_env.set(f'purge', "true")
result = build_request_delete_purge_record().call(with_wdms_env)
result.assert_status_code(204)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment