From a0e6847720b108a8222009ddc66200650a397586 Mon Sep 17 00:00:00 2001 From: Andrew Ahlers Date: Fri, 11 Aug 2017 15:17:55 -0400 Subject: [PATCH 1/3] Added a basic test to make sure DAOs are being properly cleaned up. --- rhc/database/test/test_basic.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/rhc/database/test/test_basic.py b/rhc/database/test/test_basic.py index c5ad997..eea72ef 100644 --- a/rhc/database/test/test_basic.py +++ b/rhc/database/test/test_basic.py @@ -1,5 +1,6 @@ from __future__ import absolute_import import pytest +import weakref from rhc.database.dao import DAO @@ -103,3 +104,22 @@ def test_join(data): assert len(names) == 2 assert 'fred' in names assert 'sally' in names + + +def test_dao_cleanup_from_save(db): + obj = Parent(foo=1, bar=2).save() + ref = weakref.ref(obj) + assert obj is ref() + obj = 0 # dereference + assert ref() is None + + +def test_dao_cleanup_from_load(db): + # save object and remember id + obj_id = Parent(foo=1, bar=2).save().id + assert obj_id + obj = Parent.load(obj_id) + ref = weakref.ref(obj) + assert ref() is obj + obj = 0 + assert ref() is None From 4477bc50f49f505f77503a300d99ba58d2369189 Mon Sep 17 00:00:00 2001 From: Andrew Ahlers Date: Fri, 3 Nov 2017 12:38:20 -0400 Subject: [PATCH 2/3] Attempt at fixing sending of unicode. --- rhc/tcpsocket.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rhc/tcpsocket.py b/rhc/tcpsocket.py index ad3374a..b8facc6 100644 --- a/rhc/tcpsocket.py +++ b/rhc/tcpsocket.py @@ -519,6 +519,8 @@ def _do_read(self): self._network._set_pending(self._do_read) # give buffered ssl data another chance def _do_write(self, data=None): + if isinstance(data, unicode): # Try to encode uicode to utf-8 + data = data.encode('utf-8') if data is None: data = self._sending self._sending = '' From f1ab22352c33a3a60063f99443cc8e6cb4446943 Mon Sep 17 00:00:00 2001 From: Andrew Ahlers Date: Fri, 3 Nov 2017 12:42:00 -0400 Subject: [PATCH 3/3] Revert "Added a basic test to make sure DAOs are being properly cleaned up." This reverts commit a0e6847720b108a8222009ddc66200650a397586. --- rhc/database/test/test_basic.py | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/rhc/database/test/test_basic.py b/rhc/database/test/test_basic.py index 29cb4b2..4a9edd3 100644 --- a/rhc/database/test/test_basic.py +++ b/rhc/database/test/test_basic.py @@ -1,6 +1,5 @@ from __future__ import absolute_import import pytest -import weakref from rhc.database.dao import DAO @@ -104,22 +103,3 @@ def test_join(data): assert len(names) == 2 assert 'fred' in names assert 'sally' in names - - -def test_dao_cleanup_from_save(db): - obj = Parent(foo=1, bar=2).save() - ref = weakref.ref(obj) - assert obj is ref() - obj = 0 # dereference - assert ref() is None - - -def test_dao_cleanup_from_load(db): - # save object and remember id - obj_id = Parent(foo=1, bar=2).save().id - assert obj_id - obj = Parent.load(obj_id) - ref = weakref.ref(obj) - assert ref() is obj - obj = 0 - assert ref() is None