From edf40efa7db15251a0846c49cd56ef63802cf3a7 Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Fri, 9 Aug 2024 12:13:24 +0200
Subject: [PATCH] Test covers accessor output from segmentation pipeline

---
 tests/base/test_api.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/base/test_api.py b/tests/base/test_api.py
index dc789945..3cb0ebf1 100644
--- a/tests/base/test_api.py
+++ b/tests/base/test_api.py
@@ -144,6 +144,7 @@ class TestApiFromAutomatedClient(TestServerTestCase):
             },
         ).json()
 
+        # run segmentation pipeline on preloaded accessor
         resp_infer = self._put(
             f'pipelines/segment',
             body={
@@ -156,6 +157,15 @@ class TestApiFromAutomatedClient(TestServerTestCase):
         out_acc_id = resp_infer.json()['output_accessor_id']
         self.assertTrue(self._get(f'accessors/{out_acc_id}').json()['loaded'])
 
+        # write and re-read output
+        filename = 'dummy_semantic_output.tif'
+        self._put(f'/accessors/write_to_file/{out_acc_id}', query={'filename': filename})
+        where_out = self._get('paths').json()['outbound_images']
+        fp_out = (Path(where_out) / filename)
+        self.assertTrue(fp_out.exists())
+        acc_out = generate_file_accessor(fp_out)
+        self.assertEqual(acc_out.shape_dict['C'], 1)
+
     def test_restarting_session_clears_loaded_models(self):
         resp_load = self._put(f'testing/models/dummy_semantic/load',)
         self.assertEqual(resp_load.status_code, 200, resp_load.json())
-- 
GitLab