From b9b4bfe02369f59b76199109d99d5461c376be3d Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Sun, 15 Dec 2019 17:13:18 +0000 Subject: [PATCH 1/2] Test that metadata is updated with update function --- dev-requirements.txt | 4 ++-- tests/test_vws.py | 49 ++++++++++++++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index c59e959cd..73dd20720 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -3,9 +3,9 @@ PyYAML==5.2 Pygments==2.5.2 Sphinx-Substitution-Extensions==2019.6.15.0 -Sphinx==2.2.2 +Sphinx==2.3.0 VWS-Python-Mock==2019.12.7.1 -VWS-Test-Fixtures==2019.12.13.0 +VWS-Test-Fixtures==2019.12.13.1 autoflake==1.3.1 check-manifest==0.40 codecov==2.0.15 # Upload coverage data diff --git a/tests/test_vws.py b/tests/test_vws.py index c96f2c612..f70b1dcdf 100644 --- a/tests/test_vws.py +++ b/tests/test_vws.py @@ -4,6 +4,8 @@ import base64 import io +import random +import uuid from typing import Optional import pytest @@ -472,37 +474,58 @@ def test_update_target( self, vws_client: VWS, high_quality_image: io.BytesIO, - image_file_failed_state: io.BytesIO, + different_high_quality_image: io.BytesIO, + cloud_reco_client: CloudRecoService, ) -> None: """ It is possible to update a target. """ + old_name = uuid.uuid4().hex + old_width = random.uniform(a=0.01, b=50) target_id = vws_client.add_target( - name='x', - width=1, + name=old_name, + width=old_width, image=high_quality_image, active_flag=True, application_metadata=None, ) vws_client.wait_for_target_processed(target_id=target_id) report = vws_client.get_target_summary_report(target_id=target_id) - assert report['status'] == 'success' + [matching_target] = cloud_reco_client.query(image=high_quality_image) + assert matching_target['target_id'] == target_id + query_target_data = matching_target['target_data'] + query_metadata = query_target_data['application_metadata'] + assert query_metadata is None + + new_name = uuid.uuid4().hex + new_width = random.uniform(a=0.01, b=50) + new_application_metadata = base64.b64encode(b'a').decode('ascii') vws_client.update_target( target_id=target_id, - name='x2', - width=2, - active_flag=False, - image=image_file_failed_state, - application_metadata=base64.b64encode(b'a').decode('ascii'), + name=new_name, + width=new_width, + active_flag=True, + image=different_high_quality_image, + application_metadata=new_application_metadata, ) vws_client.wait_for_target_processed(target_id=target_id) + [matching_target + ] = cloud_reco_client.query(image=different_high_quality_image, ) + assert matching_target['target_id'] == target_id + query_target_data = matching_target['target_data'] + query_metadata = query_target_data['application_metadata'] + assert query_metadata == new_application_metadata + + vws_client.update_target( + target_id=target_id, + active_flag=False, + ) + target_details = vws_client.get_target_record(target_id=target_id) - assert target_details['name'] == 'x2' - assert target_details['width'] == 2 + assert target_details['name'] == new_name + assert target_details['width'] == new_width assert not target_details['active_flag'] - report = vws_client.get_target_summary_report(target_id=target_id) - assert report['status'] == 'failed' def test_no_fields_given( self, From 54971f01cd04f75039ce76ab82f4a51a338cf3df Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Sun, 15 Dec 2019 17:19:07 +0000 Subject: [PATCH 2/2] Fix lint issue --- tests/test_vws.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_vws.py b/tests/test_vws.py index f70b1dcdf..3c75db952 100644 --- a/tests/test_vws.py +++ b/tests/test_vws.py @@ -490,7 +490,6 @@ def test_update_target( application_metadata=None, ) vws_client.wait_for_target_processed(target_id=target_id) - report = vws_client.get_target_summary_report(target_id=target_id) [matching_target] = cloud_reco_client.query(image=high_quality_image) assert matching_target['target_id'] == target_id query_target_data = matching_target['target_data'] @@ -510,8 +509,9 @@ def test_update_target( ) vws_client.wait_for_target_processed(target_id=target_id) - [matching_target - ] = cloud_reco_client.query(image=different_high_quality_image, ) + [ + matching_target, + ] = cloud_reco_client.query(image=different_high_quality_image) assert matching_target['target_id'] == target_id query_target_data = matching_target['target_data'] query_metadata = query_target_data['application_metadata']