Skip to content

Commit 182297b

Browse files
Merge pull request #1106 from adamtheturtle/no-default-add
Make add_target have no defaults for parameters
2 parents 1003f35 + 7b974f2 commit 182297b

File tree

7 files changed

+127
-60
lines changed

7 files changed

+127
-60
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,4 @@ Changelog
66
Next
77
----
88

9-
2019.11.07.2
10-
------------
11-
12-
2019.11.07.1
13-
------------
14-
15-
2019.11.07.0
16-
------------
17-
18-
2018.12.10.0
19-
------------
20-
21-
2018.10.05.0
22-
------------
9+
* Make ``active_flag`` and ``application_metadata`` required on ``add_target``.

README.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ Getting Started
4646
name=name,
4747
width=1,
4848
image=my_image,
49+
active_flag=True,
50+
application_metadata=None,
4951
)
5052
vws_client.wait_for_target_processed(target_id=target_id)
5153
matching_targets = cloud_reco_client.query(image=my_image)

docs/source/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ See the :doc:`api-reference` for full usage details.
4444
name=name,
4545
width=1,
4646
image=my_image,
47+
active_flag=True,
48+
application_metadata=None,
4749
)
4850
vws_client.wait_for_target_processed(target_id=target_id)
4951
matching_targets = cloud_reco_client.query(image=my_image)

src/vws/vws.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ def add_target(
141141
name: str,
142142
width: Union[int, float],
143143
image: io.BytesIO,
144-
active_flag: bool = True,
145-
application_metadata: Optional[bytes] = None,
144+
active_flag: bool,
145+
application_metadata: Optional[bytes],
146146
) -> str:
147147
"""
148148
Add a target to a Vuforia Web Services database.

tests/test_exceptions.py

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,13 @@ def test_image_too_large(
3838
raised.
3939
"""
4040
with pytest.raises(ImageTooLarge) as exc:
41-
vws_client.add_target(name='x', width=1, image=png_too_large)
41+
vws_client.add_target(
42+
name='x',
43+
width=1,
44+
image=png_too_large,
45+
active_flag=True,
46+
application_metadata=None,
47+
)
4248

4349
assert exc.value.response.status_code == codes.UNPROCESSABLE_ENTITY
4450

@@ -61,7 +67,13 @@ def test_add_bad_name(vws_client: VWS, high_quality_image: io.BytesIO) -> None:
6167
max_char_value = 65535
6268
bad_name = chr(max_char_value + 1)
6369
with pytest.raises(UnknownVWSErrorPossiblyBadName):
64-
vws_client.add_target(name=bad_name, width=1, image=high_quality_image)
70+
vws_client.add_target(
71+
name=bad_name,
72+
width=1,
73+
image=high_quality_image,
74+
active_flag=True,
75+
application_metadata=None,
76+
)
6577

6678

6779
def test_request_quota_reached() -> None:
@@ -86,6 +98,8 @@ def test_fail(high_quality_image: io.BytesIO) -> None:
8698
name='x',
8799
width=1,
88100
image=high_quality_image,
101+
active_flag=True,
102+
application_metadata=None,
89103
)
90104

91105
assert exc.value.response.status_code == codes.BAD_REQUEST
@@ -97,7 +111,13 @@ def test_bad_image(vws_client: VWS) -> None:
97111
"""
98112
not_an_image = io.BytesIO(b'Not an image')
99113
with pytest.raises(BadImage) as exc:
100-
vws_client.add_target(name='x', width=1, image=not_an_image)
114+
vws_client.add_target(
115+
name='x',
116+
width=1,
117+
image=not_an_image,
118+
active_flag=True,
119+
application_metadata=None,
120+
)
101121

102122
assert exc.value.response.status_code == codes.UNPROCESSABLE_ENTITY
103123

@@ -110,9 +130,21 @@ def test_target_name_exist(
110130
A ``TargetNameExist`` exception is raised after adding two targets with
111131
the same name.
112132
"""
113-
vws_client.add_target(name='x', width=1, image=high_quality_image)
133+
vws_client.add_target(
134+
name='x',
135+
width=1,
136+
image=high_quality_image,
137+
active_flag=True,
138+
application_metadata=None,
139+
)
114140
with pytest.raises(TargetNameExist) as exc:
115-
vws_client.add_target(name='x', width=1, image=high_quality_image)
141+
vws_client.add_target(
142+
name='x',
143+
width=1,
144+
image=high_quality_image,
145+
active_flag=True,
146+
application_metadata=None,
147+
)
116148

117149
assert exc.value.response.status_code == codes.FORBIDDEN
118150

@@ -143,6 +175,8 @@ def test_project_inactive(
143175
name='x',
144176
width=1,
145177
image=high_quality_image,
178+
active_flag=True,
179+
application_metadata=None,
146180
)
147181

148182
assert exc.value.response.status_code == codes.FORBIDDEN
@@ -165,6 +199,8 @@ def test_target_status_processing(
165199
name='x',
166200
width=1,
167201
image=high_quality_image,
202+
active_flag=True,
203+
application_metadata=None,
168204
)
169205

170206
with pytest.raises(TargetStatusProcessing) as exc:
@@ -186,6 +222,7 @@ def test_metadata_too_large(
186222
name='x',
187223
width=1,
188224
image=high_quality_image,
225+
active_flag=True,
189226
application_metadata=b'a' * 1024 * 1024,
190227
)
191228

@@ -233,6 +270,8 @@ def test_authentication_failure(high_quality_image: io.BytesIO) -> None:
233270
name='x',
234271
width=1,
235272
image=high_quality_image,
273+
active_flag=True,
274+
application_metadata=None,
236275
)
237276

238277
assert exc.value.response.status_code == codes.UNAUTHORIZED
@@ -260,6 +299,8 @@ def test_target_status_not_success(
260299
name='x',
261300
width=1,
262301
image=high_quality_image,
302+
active_flag=True,
303+
application_metadata=None,
263304
)
264305

265306
with pytest.raises(TargetStatusNotSuccess) as exc:
@@ -281,6 +322,8 @@ def test_match_processing(
281322
name='x',
282323
width=1,
283324
image=high_quality_image,
325+
active_flag=True,
326+
application_metadata=None,
284327
)
285328
with pytest.raises(MatchProcessing) as exc:
286329
cloud_reco_client.query(image=high_quality_image)

tests/test_query.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ def test_match(
4646
name='x',
4747
width=1,
4848
image=high_quality_image,
49+
active_flag=True,
50+
application_metadata=None,
4951
)
5052
vws_client.wait_for_target_processed(target_id=target_id)
5153
[matching_target] = cloud_reco_client.query(image=high_quality_image)
@@ -87,6 +89,8 @@ def test_custom_base_url(self, high_quality_image: io.BytesIO) -> None:
8789
name='x',
8890
width=1,
8991
image=high_quality_image,
92+
active_flag=True,
93+
application_metadata=None,
9094
)
9195

9296
vws_client.wait_for_target_processed(target_id=target_id)
@@ -119,11 +123,15 @@ def test_default(
119123
name=uuid.uuid4().hex,
120124
width=1,
121125
image=high_quality_image,
126+
active_flag=True,
127+
application_metadata=None,
122128
)
123129
target_id_2 = vws_client.add_target(
124130
name=uuid.uuid4().hex,
125131
width=1,
126132
image=high_quality_image,
133+
active_flag=True,
134+
application_metadata=None,
127135
)
128136
vws_client.wait_for_target_processed(target_id=target_id)
129137
vws_client.wait_for_target_processed(target_id=target_id_2)
@@ -143,16 +151,22 @@ def test_custom(
143151
name=uuid.uuid4().hex,
144152
width=1,
145153
image=high_quality_image,
154+
active_flag=True,
155+
application_metadata=None,
146156
)
147157
target_id_2 = vws_client.add_target(
148158
name=uuid.uuid4().hex,
149159
width=1,
150160
image=high_quality_image,
161+
active_flag=True,
162+
application_metadata=None,
151163
)
152164
target_id_3 = vws_client.add_target(
153165
name=uuid.uuid4().hex,
154166
width=1,
155167
image=high_quality_image,
168+
active_flag=True,
169+
application_metadata=None,
156170
)
157171
vws_client.wait_for_target_processed(target_id=target_id)
158172
vws_client.wait_for_target_processed(target_id=target_id_2)
@@ -203,11 +217,15 @@ def test_default(
203217
name=uuid.uuid4().hex,
204218
width=1,
205219
image=high_quality_image,
220+
active_flag=True,
221+
application_metadata=None,
206222
)
207223
target_id_2 = vws_client.add_target(
208224
name=uuid.uuid4().hex,
209225
width=1,
210226
image=high_quality_image,
227+
active_flag=True,
228+
application_metadata=None,
211229
)
212230
vws_client.wait_for_target_processed(target_id=target_id)
213231
vws_client.wait_for_target_processed(target_id=target_id_2)
@@ -232,11 +250,15 @@ def test_top(
232250
name=uuid.uuid4().hex,
233251
width=1,
234252
image=high_quality_image,
253+
active_flag=True,
254+
application_metadata=None,
235255
)
236256
target_id_2 = vws_client.add_target(
237257
name=uuid.uuid4().hex,
238258
width=1,
239259
image=high_quality_image,
260+
active_flag=True,
261+
application_metadata=None,
240262
)
241263
vws_client.wait_for_target_processed(target_id=target_id)
242264
vws_client.wait_for_target_processed(target_id=target_id_2)
@@ -262,11 +284,15 @@ def test_none(
262284
name=uuid.uuid4().hex,
263285
width=1,
264286
image=high_quality_image,
287+
active_flag=True,
288+
application_metadata=None,
265289
)
266290
target_id_2 = vws_client.add_target(
267291
name=uuid.uuid4().hex,
268292
width=1,
269293
image=high_quality_image,
294+
active_flag=True,
295+
application_metadata=None,
270296
)
271297
vws_client.wait_for_target_processed(target_id=target_id)
272298
vws_client.wait_for_target_processed(target_id=target_id_2)
@@ -292,11 +318,15 @@ def test_all(
292318
name=uuid.uuid4().hex,
293319
width=1,
294320
image=high_quality_image,
321+
active_flag=True,
322+
application_metadata=None,
295323
)
296324
target_id_2 = vws_client.add_target(
297325
name=uuid.uuid4().hex,
298326
width=1,
299327
image=high_quality_image,
328+
active_flag=True,
329+
application_metadata=None,
300330
)
301331
vws_client.wait_for_target_processed(target_id=target_id)
302332
vws_client.wait_for_target_processed(target_id=target_id_2)

0 commit comments

Comments
 (0)