From a263309322cf8fff15d21207a4eee5f301e3ad2e Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Mar 29 2018 18:23:07 +0000 Subject: intg: convert results returned as bytes to strings With python3 comparisons between byte literals and strings will fail. To make sure assertions will pass the search results must be converted to (utf-8) strings first. Resolves https://pagure.io/SSSD/sssd/issue/3666 Reviewed-by: Sumit Bose Reviewed-by: Jakub Hrozek --- diff --git a/src/tests/intg/test_ts_cache.py b/src/tests/intg/test_ts_cache.py index 703e3b2..c3819e2 100644 --- a/src/tests/intg/test_ts_cache.py +++ b/src/tests/intg/test_ts_cache.py @@ -212,12 +212,17 @@ def get_attrs(ldb_conn, type, name, domain, attr_list): ts_attrs = dict() for attr in attr_list: - sysdb_attrs[attr] = ldb_conn.get_entry_attr( - sssd_ldb.CacheType.sysdb, - type, name, domain, attr) - ts_attrs[attr] = ldb_conn.get_entry_attr( - sssd_ldb.CacheType.timestamps, - type, name, domain, attr) + val = ldb_conn.get_entry_attr(sssd_ldb.CacheType.sysdb, + type, name, domain, attr) + if val: + val = val.decode('utf-8') + sysdb_attrs[attr] = val + + val = ldb_conn.get_entry_attr(sssd_ldb.CacheType.timestamps, + type, name, domain, attr) + if val: + val = val.decode('utf-8') + ts_attrs[attr] = val return (sysdb_attrs, ts_attrs)