changeset 825:d6df874bbe0b sql-opti

new metadata: PatientRecyclingOrder if using PG only
author Alain Mazy <am@orthanc.team>
date Wed, 04 Jun 2025 10:47:22 +0200
parents b9add37f090e
children b5a146281887
files Tests/Tests.py Tests/Toolbox.py
diffstat 2 files changed, 24 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Tests/Tests.py	Mon Jun 02 21:52:01 2025 +0200
+++ b/Tests/Tests.py	Wed Jun 04 10:47:22 2025 +0200
@@ -1351,7 +1351,11 @@
         series = DoGet(_REMOTE, '/series')[0]
 
         m = DoGet(_REMOTE, '/patients/%s/metadata' % p)
-        if IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
+        if IsOrthancVersionAbove(_REMOTE, 1, 12, 9) and HasPostgresIndexPlugin(_REMOTE):
+            self.assertEqual(3, len(m))
+            self.assertTrue('MainDicomTagsSignature' in m)
+            self.assertTrue('PatientRecyclingOrder' in m)
+        elif IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
             self.assertEqual(2, len(m))
             self.assertTrue('MainDicomTagsSignature' in m)
         else:
@@ -1427,7 +1431,11 @@
             self.assertFalse('etag' in headers)
             
         m = DoGet(_REMOTE, '/patients/%s/metadata' % p)
-        if IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
+        if IsOrthancVersionAbove(_REMOTE, 1, 12, 9) and HasPostgresIndexPlugin(_REMOTE):
+            self.assertEqual(4, len(m))
+            self.assertTrue('MainDicomTagsSignature' in m)
+            self.assertTrue('PatientRecyclingOrder' in m)
+        elif IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
             self.assertEqual(3, len(m))
             self.assertTrue('MainDicomTagsSignature' in m)
         else:
@@ -1455,7 +1463,11 @@
             DoDelete(_REMOTE, '/patients/%s/metadata/5555' % p)
             
         m = DoGet(_REMOTE, '/patients/%s/metadata' % p)
-        if IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
+        if IsOrthancVersionAbove(_REMOTE, 1, 12, 9) and HasPostgresIndexPlugin(_REMOTE):
+            self.assertEqual(3, len(m))
+            self.assertTrue('MainDicomTagsSignature' in m)
+            self.assertTrue('PatientRecyclingOrder' in m)
+        elif IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
             self.assertEqual(2, len(m))
             self.assertTrue('MainDicomTagsSignature' in m)
         else:
@@ -9104,7 +9116,11 @@
         self.assertEqual('Patient', a[0]['Type'])
         self.assertEqual('KNEE', a[0]['MainDicomTags']['PatientName'])
         self.assertTrue('Metadata' in a[0])
-        if IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
+        if IsOrthancVersionAbove(_REMOTE, 1, 12, 9) and HasPostgresIndexPlugin(_REMOTE):
+            self.assertEqual(3, len(a[0]['Metadata']))
+            self.assertTrue('MainDicomTagsSignature' in a[0]['Metadata'])
+            self.assertTrue('PatientRecyclingOrder' in a[0]['Metadata'])
+        elif IsOrthancVersionAbove(_REMOTE, 1, 11, 0):
             self.assertEqual(2, len(a[0]['Metadata']))
             self.assertTrue('MainDicomTagsSignature' in a[0]['Metadata'])
         else:
--- a/Tests/Toolbox.py	Mon Jun 02 21:52:01 2025 +0200
+++ b/Tests/Toolbox.py	Wed Jun 04 10:47:22 2025 +0200
@@ -479,6 +479,10 @@
     plugins = DoGet(orthanc, '/plugins')
     return ('gdcm' in plugins)
 
+def HasPostgresIndexPlugin(orthanc):
+    plugins = DoGet(orthanc, '/plugins')
+    return ('postgresql-index' in plugins)
+
 
 def _GetMaxImageDifference(im1, im2):
     h = ImageChops.difference(im1, im2).histogram()