Esempio n. 1
0
    def test_table_returns_query_builder(self):
        connection = Connection(None, 'database')
        builder = connection.table('users')

        self.assertIsInstance(builder, QueryBuilder)
        self.assertEqual('users', builder.from__)
        self.assertEqual(connection.get_query_grammar(), builder.get_grammar())
Esempio n. 2
0
    def test_table_returns_query_builder(self):
        connection = Connection(None, 'database')
        builder = connection.table('users')

        self.assertIsInstance(builder, QueryBuilder)
        self.assertEqual('users', builder.from__)
        self.assertEqual(connection.get_query_grammar(), builder.get_grammar())
Esempio n. 3
0
    def test_try_again_if_caused_by_lost_connection_is_called(self):
        connection = flexmock(Connection(None, 'database'))
        cursor = flexmock()
        connection.should_receive(
            '_try_again_if_caused_by_lost_connection').once()
        connection.should_receive('_get_cursor_for_select').and_return(cursor)
        connection.should_receive('reconnect')
        cursor.should_receive('execute').and_raise(Exception('error'))

        connection.select('SELECT * FROM "users"')
    def test_try_again_if_caused_by_lost_connection_is_called(self):
        connection = flexmock(Connection(None, "database"))
        cursor = flexmock()
        connection.should_receive(
            "_try_again_if_caused_by_lost_connection").once()
        connection.should_receive("_get_cursor_for_select").and_return(cursor)
        connection.should_receive("reconnect")
        cursor.should_receive("execute").and_raise(Exception("error"))

        connection.select('SELECT * FROM "users"')
Esempio n. 5
0
 def test_prefix_set_to_none(self):
     connection = Connection(None, 'database', None)
     self.assertIsNotNone(connection.get_table_prefix())
     self.assertEqual('', connection.get_table_prefix())
Esempio n. 6
0
    def test_transaction(self):
        connection = Connection(None, 'database')
        connection.begin_transaction = mock.MagicMock(unsafe=True)
        connection.commit = mock.MagicMock(unsafe=True)
        connection.rollback = mock.MagicMock(unsafe=True)
        connection.insert = mock.MagicMock(return_value=1)

        with connection.transaction():
            connection.table('users').insert({'name': 'foo'})

        connection.begin_transaction.assert_called_once()
        connection.commit.assert_called_once()
        self.assertFalse(connection.rollback.called)

        connection.begin_transaction.reset_mock()
        connection.commit.reset_mock()
        connection.rollback.reset_mock()

        try:
            with connection.transaction():
                connection.table('users').insert({'name': 'foo'})
                raise Exception('foo')
        except Exception as e:
            self.assertEqual('foo', str(e))

        connection.begin_transaction.assert_called_once()
        connection.rollback.assert_called_once()
        self.assertFalse(connection.commit.called)
Esempio n. 7
0
    def test_transaction(self):
        connection = Connection(None, 'database')
        connection.begin_transaction = mock.MagicMock(unsafe=True)
        connection.commit = mock.MagicMock(unsafe=True)
        connection.rollback = mock.MagicMock(unsafe=True)
        connection.insert = mock.MagicMock(return_value=1)

        with connection.transaction():
            connection.table('users').insert({'name': 'foo'})

        connection.begin_transaction.assert_called_once()
        connection.commit.assert_called_once()
        self.assertFalse(connection.rollback.called)

        connection.begin_transaction.reset_mock()
        connection.commit.reset_mock()
        connection.rollback.reset_mock()

        try:
            with connection.transaction():
                connection.table('users').insert({'name': 'foo'})
                raise Exception('foo')
        except Exception as e:
            self.assertEqual('foo', str(e))

        connection.begin_transaction.assert_called_once()
        connection.rollback.assert_called_once()
        self.assertFalse(connection.commit.called)
 def test_lost_connection_returns_true_with_capitalized_error(self):
     connection = Connection(None, "database")
     self.assertTrue(
         connection._caused_by_lost_connection("Lost Connection"))
    def test_transaction(self):
        connection = Connection(None, "database")
        connection.begin_transaction = mock.MagicMock(unsafe=True)
        connection.commit = mock.MagicMock(unsafe=True)
        connection.rollback = mock.MagicMock(unsafe=True)
        connection.insert = mock.MagicMock(return_value=1)

        with connection.transaction():
            connection.table("users").insert({"name": "foo"})

        connection.begin_transaction.assert_called_once()
        connection.commit.assert_called_once()
        self.assertFalse(connection.rollback.called)

        connection.begin_transaction.reset_mock()
        connection.commit.reset_mock()
        connection.rollback.reset_mock()

        try:
            with connection.transaction():
                connection.table("users").insert({"name": "foo"})
                raise Exception("foo")
        except Exception as e:
            self.assertEqual("foo", str(e))

        connection.begin_transaction.assert_called_once()
        connection.rollback.assert_called_once()
        self.assertFalse(connection.commit.called)