title: Python unittest (using SQLAlchemy) does not write/update database?
body: <p>I am puzzled at why my Python unittest runs perfectly fine without actually updating the database.</p>
  
  <p>I can even see the SQL statements from SQLAlchemy and step through the newly created user object's email --</p>
  
  <pre><code>...INFO sqlalchemy.engine.base.Engine.0x...954c INSERT INTO users (user_id, user_name, email, ...) VALUES (%(user_id)s, %(user_name)s, %(email)s, ...)
  ...INFO sqlalchemy.engine.base.Engine.0x...954c {'user_id': u'4cfdafe3f46544e1b4ad0c7fccdbe24a', 'email': u'test@example.com', ...}
  &gt; .../tests/unit_tests/test_signup.py(127)test_signup_success()
  -&gt; user = user_q.filter_by(user_name='test').first()
  (Pdb) n
  ...INFO sqlalchemy.engine.base.Engine.0x...954c SELECT users.user_id AS users_user_id, ...
  FROM users 
  WHERE users.user_name = %(user_name_1)s 
   LIMIT 1 OFFSET 0
  ...INFO sqlalchemy.engine.base.Engine.0x...954c {'user_name_1': 'test'}
  &gt; .../tests/unit_tests/test_signup.py(128)test_signup_success()
  -&gt; self.assertTrue(isinstance(user, model.User))
  (Pdb) user
  &lt;pweb.models.User object at 0x9c95b0c&gt;
  (Pdb) user.email
  u'test@example.com'
  </code></pre>
  
  <p>Yet at the <em>same time</em> when I login to the test database, I do <em>not</em> see the new record there. Is it some feature from Python/unittest/SQLAlchemy/Pyramid/PostgreSQL that I'm totally unaware of?</p>
  
  <p>Thanks.</p>
  
  <p>Jerry</p>