Reload and detach the test user.
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Sun, 26 Feb 2012 14:15:10 +0000 (15:15 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Mon, 26 Mar 2012 18:31:35 +0000 (20:31 +0200)
The code often needs to know some fields of the test user
even after doing some sql and stuff. The solultion is to
reload it and properly detach it from its Session. That way
all its fields are available and the whole thing is not
connected to a session. It feels like a normal object.

mediagoblin/tests/tools.py

index a99173e8eae3dab9680029113a1a99220f8c56ee..5b4e3746202cbf9b872e2faff2cbdf1db7de21fc 100644 (file)
@@ -212,4 +212,11 @@ def fixture_add_user(username = u'chris', password = 'toast',
 
     test_user.save()
 
+    # Reload
+    test_user = mg_globals.database.User.find_one({'username': username})
+
+    # ... and detach from session:
+    from mediagoblin.db.sql.base import Session
+    Session.expunge(test_user)
+
     return test_user