From 7af55af1f2ca8618ecf22049d4d2b26df2dcf9a2 Mon Sep 17 00:00:00 2001 From: Alan King Date: Thu, 1 Aug 2024 14:25:01 -0400 Subject: [PATCH] [#600] Comment out test_files_query_case_sensitive BETWEEN tests The BETWEEN clause behaves differently for mysql (and mariadb, I assume) than postgres, and the test_files_query_case_sensitive test assumes that we are using postgres. In order to avoid this, the BETWEEN sub-tests have been commented out until such a time as we can make meaningful assertions about the case-sensitive query with a BETWEEN clause based on the flavor of database being used by the connected iRODS server. --- irods/test/query_test.py | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/irods/test/query_test.py b/irods/test/query_test.py index 8277aaa7..a4203d50 100644 --- a/irods/test/query_test.py +++ b/irods/test/query_test.py @@ -180,24 +180,27 @@ def test_files_query_case_sensitive(self): # BETWEEN tests - result13 = self.sess.query(DataObject.name).filter( - Collection.name == self.coll_path).filter( - Between(DataObject.name, [self.case_sensitive_obj_name1, - self.case_sensitive_obj_name1 + "_"])).all() - self.assertTrue(result13.has_value(self.case_sensitive_obj_name1)) - self.assertEqual(len(result13), 1) - - result14 = self.sess.query(DataObject.name).filter( - Collection.name == self.coll_path).filter( - Between(DataObject.name, [str.lower(self.case_sensitive_obj_name1), - str.lower(self.case_sensitive_obj_name1) + "_"])).all() - self.assertEqual(len(result14), 0) - - result15 = self.sess.query(DataObject.name).filter( - Collection.name == self.coll_path).filter( - Between(DataObject.name, [str.upper(self.case_sensitive_obj_name1), - str.upper(self.case_sensitive_obj_name1) + "_"])).all() - self.assertEqual(len(result15), 0) + # TODO(#600): Uncomment these lines and/or make a new test when database flavor can be detected. + # The resultset for BETWEEN queries can differ from database to database. + + #result13 = self.sess.query(DataObject.name).filter( + # Collection.name == self.coll_path).filter( + # Between(DataObject.name, [self.case_sensitive_obj_name1, + # self.case_sensitive_obj_name1 + "_"])).all() + #self.assertTrue(result13.has_value(self.case_sensitive_obj_name1)) + #self.assertEqual(len(result13), 1) + + #result14 = self.sess.query(DataObject.name).filter( + # Collection.name == self.coll_path).filter( + # Between(DataObject.name, [str.lower(self.case_sensitive_obj_name1), + # str.lower(self.case_sensitive_obj_name1) + "_"])).all() + #self.assertEqual(len(result14), 0) + + #result15 = self.sess.query(DataObject.name).filter( + # Collection.name == self.coll_path).filter( + # Between(DataObject.name, [str.upper(self.case_sensitive_obj_name1), + # str.upper(self.case_sensitive_obj_name1) + "_"])).all() + #self.assertEqual(len(result15), 0) def test_files_query_case_insensitive(self): # This tests that GenQueries are case-insensitive when the case_sensitive