def company_create(data): with managed(Session) as session: company = session.query(Company).filter_by(title=data['title']).all() if company: return False else: with managed(Session) as session: company = Company(path=data['path'], about=data['about'], mission=data['mission'], follows=data['follows'], vacancy=data['vacancy'], rank=data['rank'], title=data['title'], thumb=data['thumb']) session.add(company) return True
def test_set_autoflush_default_value(self): class MySession(BaseDumbSession): def __init__(self): self.autoflush = True with managed(MySession) as s: self.assertFalse(s.autoflush)
def test_set_autocommit_value(self): class MySession(BaseDumbSession): def __init__(self): self.autocommit = False with managed(MySession, auto_commit=True) as s: self.assertTrue(s.autocommit)
def test_callback_is_called(self): func = mock.Mock() callback = Callback(func, 42, foo="bar") with managed(mock.Mock(), callback=callback): pass func.assert_called_once(42, foo="bar")
def test_commit_if_success_when_commit_on_success_is_default(self): real_session = mock.Mock() self.mock_session.return_value = real_session f = managed(self.mock_session)(self.f) f() self.assertEqual(real_session.commit.call_count, 1)
def test_set_autocommit_false(self): class MySession(BaseDumbSession): def __init__(self): self.autocommit = True with managed(MySession) as s: self.assertFalse(s.autocommit)
def test_set_autoflush_value(self): class MySession(BaseDumbSession): def __init__(self): self.autoflush = False with managed(MySession, auto_flush=True) as s: assert s.autoflush == True
def test_session_is_closed_on_return(self): real_session = mock.Mock() self.mock_session.return_value = real_session f = managed(self.mock_session)(self.f) f() self.assertEqual(real_session.close.call_count, 1)
def _get_account_by_id(account_id): acc = None with managed(HollowmanSession) as s: if account_id: acc = s.query(Account).get(account_id) if acc: s.expunge(acc) return acc
def test_context_should_reraise_exceptions(self): raised = False try: with managed(mock.Mock()): raise Exception() except: raised = True self.assertTrue(raised)
def _get_user_by_authkey(key): with managed(HollowmanSession) as s: try: user = s.query(User).filter(User.tx_authkey == key).one() _expunge_user_and_accounts(s, user) return user except NoResultFound: return None
def test_rollback_on_exception(self): real_session = mock.Mock() self.mock_session.return_value = real_session try: with managed(self.mock_session): raise Exception() except: pass self.assertEqual(real_session.rollback.call_count, 1) self.assertEqual(real_session.commit.call_count, 0) self.assertEqual(real_session.close.call_count, 1)
def check_auth_token(token): with managed(HollowmanSession) as s: user = _get_user_by_authkey(token) if not user: logger.info({ "auth": "failed", "token-type": "apikey", "error": "Key not found", "token": token }) return None return user
def test_call_session_class(self): with managed(self.mock_session): self.assertEqual(self.mock_session.call_count, 1)
def test_commit_after_yield_when_commit_on_success_is_default(self): real_session = mock.Mock() self.mock_session.return_value = real_session with managed(self.mock_session): pass self.assertEqual(real_session.commit.call_count, 1)
def updater(data): with managed(Session) as session: company = session.query(Company).filter_by(title=data['title']).all()[0] company.path = data['path'] session.add(company)
def test_dont_commit_after_yield_when_commit_on_success_is_false(self): real_session = mock.Mock() self.mock_session.return_value = real_session with managed(self.mock_session, commit_on_success=False): pass self.assertEqual(real_session.commit.call_count, 0)
def test_call_session_class(self): with managed(self.mock_session): assert self.mock_session.call_count == 1
def test_close_when_success(self): real_session = mock.Mock() self.mock_session.return_value = real_session f = managed(self.mock_session)(self.f) f() self.assertEqual(real_session.close.call_count, 1)
def test_close_after_yield(self): real_session = mock.Mock() self.mock_session.return_value = real_session with managed(self.mock_session): pass self.assertEqual(real_session.close.call_count, 1)
def test_call_session_class(self): f = managed(self.mock_session)(self.f) f() self.assertEqual(self.mock_session.call_count, 1)
def func(): with managed(self.mock_session): return False
def test_dont_commit_if_success_when_commit_on_success_is_false(self): real_session = mock.Mock() self.mock_session.return_value = real_session f = managed(self.mock_session, commit_on_success=False)(self.f) f() self.assertEqual(real_session.commit.call_count, 0)
def test_commit_after_yield(self): real_session = mock.Mock() self.mock_session.return_value = real_session with managed(self.mock_session): pass assert 1 == real_session.commit.call_count