From a0e6847720b108a8222009ddc66200650a397586 Mon Sep 17 00:00:00 2001 From: Andrew Ahlers Date: Fri, 11 Aug 2017 15:17:55 -0400 Subject: [PATCH 1/2] 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 eb1711508370382d568ce58e4414dcb81b91c0ec Mon Sep 17 00:00:00 2001 From: Andrew Ahlers Date: Thu, 24 Aug 2017 14:33:54 -0400 Subject: [PATCH 2/2] Remove unused import and cleanup whitespace. --- rhc/database/db.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rhc/database/db.py b/rhc/database/db.py index 800d7ef..ad966ac 100644 --- a/rhc/database/db.py +++ b/rhc/database/db.py @@ -22,7 +22,6 @@ THE SOFTWARE. ''' import pymysql -import threading class _DB(object): @@ -55,7 +54,7 @@ def setup(self, dirty=False, database_map=None, commit=True, close=False, delta= return self @property - def delta(self): + def delta(self): ''' only specify changed columns on update ''' return self.__delta