Skip to content

Commit

Permalink
[irods#600] Comment out test_files_query_case_sensitive BETWEEN tests
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
alanking committed Aug 1, 2024
1 parent e3c870b commit 313fc2b
Showing 1 changed file with 21 additions and 18 deletions.
39 changes: 21 additions & 18 deletions irods/test/query_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 313fc2b

Please sign in to comment.