Commit 58de495c authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Fixed #17427 -- Removed dubious definition of connections equality.

parent d98cc41a
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -73,17 +73,6 @@ class BaseDatabaseWrapper(object):
        self.allow_thread_sharing = allow_thread_sharing
        self._thread_ident = thread.get_ident()

    def __eq__(self, other):
        if isinstance(other, BaseDatabaseWrapper):
            return self.alias == other.alias
        return NotImplemented

    def __ne__(self, other):
        return not self == other

    def __hash__(self):
        return hash(self.alias)

    @property
    def queries(self):
        if len(self.queries_log) == self.queries_log.maxlen:
+3 −0
Original line number Diff line number Diff line
@@ -270,6 +270,9 @@ Miscellaneous

* ``connections.queries`` is now a read-only attribute.

* Database connections are considered equal only if they're the same object.
  They aren't hashable any more.

* ``URLField.to_python`` no longer adds a trailing slash to pathless URLs.

* ``django.contrib.gis`` dropped support for GEOS 3.1 and GDAL 1.6.

tests/db_backends/__init__.py

deleted100644 → 0
+0 −0

Empty file deleted.

tests/db_backends/tests.py

deleted100644 → 0
+0 −36
Original line number Diff line number Diff line
from django.test import TestCase
from django.db.backends import BaseDatabaseWrapper


class DummyDatabaseWrapper(BaseDatabaseWrapper):
    pass


class DummyObject(object):
    alias = None


class DbBackendTests(TestCase):
    def test_compare_db_wrapper_with_another_object(self):
        wrapper = BaseDatabaseWrapper({})
        self.assertFalse(wrapper == 'not-a-db-wrapper')

    def test_compare_db_wrapper_with_another_object_with_alias(self):
        wrapper = BaseDatabaseWrapper({})
        obj = DummyObject()
        obj.alias = wrapper.alias = 'foobar'
        self.assertFalse(wrapper == obj)

    def test_negate_compare_db_wrapper_with_another_object(self):
        wrapper = BaseDatabaseWrapper({})
        self.assertTrue(wrapper != 'not-a-db-wrapper')

    def test_compare_db_wrappers(self):
        wrapper1 = DummyDatabaseWrapper({})
        wrapper2 = BaseDatabaseWrapper({})

        wrapper1.alias = wrapper2.alias = 'foo'
        self.assertTrue(wrapper1 == wrapper2)

        wrapper1.alias = 'bar'
        self.assertFalse(wrapper1 == wrapper2)