Page MenuHomePhorge

D138.1775279578.diff
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None

D138.1775279578.diff

diff --git a/pykolab/auth/ldap/auth_cache.py b/pykolab/auth/ldap/auth_cache.py
--- a/pykolab/auth/ldap/auth_cache.py
+++ b/pykolab/auth/ldap/auth_cache.py
@@ -139,6 +139,9 @@
db.commit()
elif len(_entries) == 1:
+ if not isinstance(value, unicode):
+ value = unicode(value, 'utf-8')
+
if not _entries[0].value == value:
_entries[0].value = value
diff --git a/tests/unit/test-020-auth_cache.py b/tests/unit/test-020-auth_cache.py
--- a/tests/unit/test-020-auth_cache.py
+++ b/tests/unit/test-020-auth_cache.py
@@ -113,3 +113,49 @@
result = auth_cache.get_entry('v' + 'e'*512 + 'rylongkey')
self.assertEqual(result, 'v' + 'e'*512 + 'rylongvalue')
+
+ def test_006_plain_update(self):
+ auth_cache.set_entry(
+ 'somekey',
+ 'ou=People,dc=example,dc=org2'
+ )
+
+ result = auth_cache.get_entry('somekey')
+ self.assertEqual(result, 'ou=People,dc=example,dc=org2')
+
+ def test_007_plain_encoding_update(self):
+ auth_cache.set_entry(
+ 'somekey2',
+ 'ou=Geschäftsbereich,ou=People,dc=example,dc=org2'
+ )
+
+ result = auth_cache.get_entry('somekey2')
+ self.assertEqual(result, 'ou=Gesch\xc3\xa4ftsbereich,ou=People,dc=example,dc=org2')
+
+ def test_008_unicode_update(self):
+ auth_cache.set_entry(
+ 'somekey3',
+ u'ou=Geschäftsbereich,ou=People,dc=example,dc=org2'
+ )
+
+ result = auth_cache.get_entry('somekey3')
+ self.assertEqual(result, 'ou=Gesch\xc3\xa4ftsbereich,ou=People,dc=example,dc=org2')
+
+ @unittest.skip("Double encoding or decoding")
+ def test_009_unicode_escape_update(self):
+ auth_cache.set_entry(
+ 'somekey4',
+ u'ou=Gesch\xc3\xa4ftsbereich,ou=People,dc=example,dc=org2'
+ )
+
+ result = auth_cache.get_entry('somekey4')
+ self.assertEqual(result, u'ou=Gesch\xc3\xa4ftsbereich,ou=People,dc=example,dc=org2')
+
+ def test_010_longkey_update(self):
+ auth_cache.set_entry(
+ 'v' + 'e'*512 + 'rylongkey',
+ 'v' + 'e'*512 + 'rylongvalue2'
+ )
+
+ result = auth_cache.get_entry('v' + 'e'*512 + 'rylongkey')
+ self.assertEqual(result, 'v' + 'e'*512 + 'rylongvalue2')

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 4, 5:12 AM (1 w, 2 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18828193
Default Alt Text
D138.1775279578.diff (2 KB)

Event Timeline