arkindex-base-worker 0.4.0__py3-none-any.whl → 0.4.0a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {arkindex_base_worker-0.4.0.dist-info → arkindex_base_worker-0.4.0a1.dist-info}/METADATA +13 -15
  2. arkindex_base_worker-0.4.0a1.dist-info/RECORD +51 -0
  3. {arkindex_base_worker-0.4.0.dist-info → arkindex_base_worker-0.4.0a1.dist-info}/WHEEL +1 -1
  4. arkindex_worker/cache.py +1 -1
  5. arkindex_worker/image.py +1 -120
  6. arkindex_worker/utils.py +0 -82
  7. arkindex_worker/worker/__init__.py +161 -46
  8. arkindex_worker/worker/base.py +11 -36
  9. arkindex_worker/worker/classification.py +18 -34
  10. arkindex_worker/worker/corpus.py +4 -21
  11. arkindex_worker/worker/dataset.py +1 -71
  12. arkindex_worker/worker/element.py +91 -352
  13. arkindex_worker/worker/entity.py +11 -11
  14. arkindex_worker/worker/metadata.py +9 -19
  15. arkindex_worker/worker/task.py +4 -5
  16. arkindex_worker/worker/training.py +18 -21
  17. arkindex_worker/worker/transcription.py +68 -89
  18. arkindex_worker/worker/version.py +1 -3
  19. tests/__init__.py +1 -1
  20. tests/conftest.py +45 -33
  21. tests/test_base_worker.py +3 -204
  22. tests/test_dataset_worker.py +4 -7
  23. tests/test_elements_worker/{test_classification.py → test_classifications.py} +61 -194
  24. tests/test_elements_worker/test_corpus.py +1 -32
  25. tests/test_elements_worker/test_dataset.py +1 -1
  26. tests/test_elements_worker/test_elements.py +2734 -0
  27. tests/test_elements_worker/{test_entity_create.py → test_entities.py} +160 -26
  28. tests/test_elements_worker/test_image.py +1 -2
  29. tests/test_elements_worker/test_metadata.py +99 -224
  30. tests/test_elements_worker/test_task.py +1 -1
  31. tests/test_elements_worker/test_training.py +43 -17
  32. tests/test_elements_worker/test_transcriptions.py +2102 -0
  33. tests/test_elements_worker/test_worker.py +280 -563
  34. tests/test_image.py +204 -429
  35. tests/test_merge.py +2 -1
  36. tests/test_utils.py +3 -66
  37. arkindex_base_worker-0.4.0.dist-info/RECORD +0 -61
  38. arkindex_worker/worker/process.py +0 -92
  39. tests/test_elements_worker/test_element.py +0 -427
  40. tests/test_elements_worker/test_element_create_multiple.py +0 -715
  41. tests/test_elements_worker/test_element_create_single.py +0 -528
  42. tests/test_elements_worker/test_element_list_children.py +0 -969
  43. tests/test_elements_worker/test_element_list_parents.py +0 -530
  44. tests/test_elements_worker/test_entity_list_and_check.py +0 -160
  45. tests/test_elements_worker/test_process.py +0 -89
  46. tests/test_elements_worker/test_transcription_create.py +0 -873
  47. tests/test_elements_worker/test_transcription_create_with_elements.py +0 -951
  48. tests/test_elements_worker/test_transcription_list.py +0 -450
  49. tests/test_elements_worker/test_version.py +0 -60
  50. {arkindex_base_worker-0.4.0.dist-info → arkindex_base_worker-0.4.0a1.dist-info}/LICENSE +0 -0
  51. {arkindex_base_worker-0.4.0.dist-info → arkindex_base_worker-0.4.0a1.dist-info}/top_level.txt +0 -0
@@ -8,7 +8,7 @@ from arkindex_worker.worker import BaseWorker
8
8
  from arkindex_worker.worker.training import TrainingMixin, create_archive
9
9
 
10
10
 
11
- @pytest.fixture
11
+ @pytest.fixture()
12
12
  def mock_training_worker(monkeypatch):
13
13
  class TrainingWorker(BaseWorker, TrainingMixin):
14
14
  """
@@ -22,7 +22,7 @@ def mock_training_worker(monkeypatch):
22
22
  return training_worker
23
23
 
24
24
 
25
- @pytest.fixture
25
+ @pytest.fixture()
26
26
  def default_model_version():
27
27
  return {
28
28
  "id": "model_version_id",
@@ -179,12 +179,44 @@ def test_validate_model_version_not_created(mock_training_worker):
179
179
  mock_training_worker.validate_model_version(hash="a", size=1, archive_hash="b")
180
180
 
181
181
 
182
+ @pytest.mark.parametrize("status_code", [403, 500])
183
+ def test_validate_model_version_catch_errors(
184
+ mocker, mock_training_worker, caplog, status_code
185
+ ):
186
+ mocker.patch(
187
+ "arkindex.client.ArkindexClient.request.retry.retry", return_value=False
188
+ )
189
+
190
+ mock_training_worker.model_version = {"id": "model_version_id"}
191
+ args = {
192
+ "hash": "hash",
193
+ "archive_hash": "archive_hash",
194
+ "size": 30,
195
+ }
196
+ mock_training_worker.api_client.add_error_response(
197
+ "ValidateModelVersion",
198
+ id="model_version_id",
199
+ status_code=status_code,
200
+ body=args,
201
+ )
202
+
203
+ mock_training_worker.validate_model_version(**args)
204
+ assert mock_training_worker.model_version == {"id": "model_version_id"}
205
+ assert [
206
+ (level, message)
207
+ for module, level, message in caplog.record_tuples
208
+ if module == "arkindex_worker"
209
+ ] == [
210
+ (
211
+ logging.WARNING,
212
+ "An error occurred while validating model version model_version_id, please check its status.",
213
+ ),
214
+ ]
215
+
216
+
182
217
  @pytest.mark.parametrize("deletion_failed", [True, False])
183
218
  def test_validate_model_version_hash_conflict(
184
- mock_training_worker,
185
- default_model_version,
186
- caplog,
187
- deletion_failed,
219
+ mock_training_worker, default_model_version, caplog, deletion_failed
188
220
  ):
189
221
  mock_training_worker.model_version = {"id": "another_id"}
190
222
  args = {
@@ -193,11 +225,11 @@ def test_validate_model_version_hash_conflict(
193
225
  "size": 30,
194
226
  }
195
227
  mock_training_worker.api_client.add_error_response(
196
- "PartialUpdateModelVersion",
228
+ "ValidateModelVersion",
197
229
  id="another_id",
198
230
  status_code=409,
199
- body={"state": "available", **args},
200
- content={"id": ["model_version_id"]},
231
+ body=args,
232
+ content=default_model_version,
201
233
  )
202
234
  if deletion_failed:
203
235
  mock_training_worker.api_client.add_error_response(
@@ -212,11 +244,6 @@ def test_validate_model_version_hash_conflict(
212
244
  id="another_id",
213
245
  response="No content",
214
246
  )
215
- mock_training_worker.api_client.add_response(
216
- "RetrieveModelVersion",
217
- id="model_version_id",
218
- response=default_model_version,
219
- )
220
247
 
221
248
  mock_training_worker.validate_model_version(**args)
222
249
  assert mock_training_worker.model_version == default_model_version
@@ -239,7 +266,6 @@ def test_validate_model_version_hash_conflict(
239
266
  ),
240
267
  (logging.WARNING, "Removing the pending model version."),
241
268
  *error_msg,
242
- (logging.INFO, "Retrieving the existing model version."),
243
269
  (logging.INFO, "Model version model_version_id is now available."),
244
270
  ]
245
271
 
@@ -252,9 +278,9 @@ def test_validate_model_version(mock_training_worker, default_model_version, cap
252
278
  "size": 30,
253
279
  }
254
280
  mock_training_worker.api_client.add_response(
255
- "PartialUpdateModelVersion",
281
+ "ValidateModelVersion",
256
282
  id="model_version_id",
257
- body={"state": "available", **args},
283
+ body=args,
258
284
  response=default_model_version,
259
285
  )
260
286