Example #1
0
    def test_create_test_database_by_specific_good_name(self):
        from django.conf import settings
        try:
            assert 'mongodb' in settings.DATABASES
        except AttributeError:
            # Django <1.2
            return
        settings.DATABASES['mongodb']['TEST_NAME'] = "test_mustard"
        old_database_name = settings.DATABASES['mongodb']['NAME']
        from django.db import connections
        connection = connections['mongodb']

        connection.creation.create_test_db()
        test_database_name = settings.DATABASES['mongodb']['NAME']
        self.assertTrue('test_' in test_database_name)

        from mongokit import Connection
        con = Connection()
        # the test database isn't created till it's needed
        self.assertTrue(test_database_name not in con.database_names())

        # creates it
        db = con[settings.DATABASES['mongodb']['NAME']]
        coll = db.test_collection_name
        # do a query on the collection to force the database to be created
        list(coll.find())
        test_database_name = settings.DATABASES['mongodb']['NAME']
        self.assertTrue(test_database_name in con.database_names())

        connection.creation.destroy_test_db(old_database_name)
        self.assertTrue('test_mustard' not in settings.DATABASES['mongodb']['NAME'])
        self.assertTrue(test_database_name not in con.database_names())
Example #2
0
    def test_create_test_database_by_specific_good_name(self):
        from django.conf import settings
        try:
            assert 'mongodb' in settings.DATABASES
        except AttributeError:
            # Django <1.2
            return
        settings.DATABASES['mongodb']['TEST_NAME'] = "test_mustard"
        old_database_name = settings.DATABASES['mongodb']['NAME']
        from django.db import connections
        connection = connections['mongodb']

        connection.creation.create_test_db()
        test_database_name = settings.DATABASES['mongodb']['NAME']
        self.assertTrue('test_' in test_database_name)

        from mongokit import Connection
        con = Connection()
        # the test database isn't created till it's needed
        self.assertTrue(test_database_name not in con.database_names())

        # creates it
        db = con[settings.DATABASES['mongodb']['NAME']]
        coll = db.test_collection_name
        # do a query on the collection to force the database to be created
        list(coll.find())
        test_database_name = settings.DATABASES['mongodb']['NAME']
        self.assertTrue(test_database_name in con.database_names())

        connection.creation.destroy_test_db(old_database_name)
        self.assertTrue('test_mustard' not in
                        settings.DATABASES['mongodb']['NAME'])
        self.assertTrue(test_database_name not in con.database_names())
Example #3
0
 def test_create_test_database(self):
     from django.conf import settings
     try:
         from django_mongokit.shortcut import DATABASE_CONF
         assert DATABASE_CONF in settings.DATABASES
     except AttributeError:
         # Django <1.2
         return # :(
     old_database_name = settings.DATABASES[DATABASE_CONF]['NAME']
     assert 'test_' not in old_database_name
     # pretend we're the Django 'test' command
     
     from django.db import connections
     connection = connections[DATABASE_CONF]
     
     connection.creation.create_test_db()
     test_database_name = settings.DATABASES[DATABASE_CONF]['NAME']
     self.assertTrue('test_' in test_database_name)
     
     from mongokit import Connection
     host = settings.DATABASES[DATABASE_CONF]['HOST']
     port = int(settings.DATABASES[DATABASE_CONF]['PORT'] or 27017)
     con = Connection(host=host, port=port)
     # the test database isn't created till it's needed
     self.assertTrue(test_database_name not in con.database_names())
     
     # creates it
     db = con[settings.DATABASES[DATABASE_CONF]['NAME']]
     coll = db.test_collection_name
     # do a query on the collection to force the database to be created
     list(coll.find())
     test_database_name = settings.DATABASES[DATABASE_CONF]['NAME']
     self.assertTrue(test_database_name in con.database_names())
     
     connection.creation.destroy_test_db(old_database_name)
     self.assertTrue('test_' not in settings.DATABASES[DATABASE_CONF]['NAME'])
     self.assertTrue(test_database_name not in con.database_names())
     
     # this should work even though it doesn't need to do anything
     connection.close()
Example #4
0
    def test_create_test_database(self):
        from django.conf import settings
        try:
            assert 'mongodb' in settings.DATABASES
        except AttributeError:
            # Django <1.2
            return  # :(
        old_database_name = settings.DATABASES['mongodb']['NAME']
        assert 'test_' not in old_database_name
        # pretend we're the Django 'test' command

        from django.db import connections
        connection = connections['mongodb']

        connection.creation.create_test_db()
        test_database_name = settings.DATABASES['mongodb']['NAME']
        self.assertTrue('test_' in test_database_name)

        from mongokit import Connection
        con = Connection()
        # the test database isn't created till it's needed
        self.assertTrue(test_database_name not in con.database_names())

        # creates it
        db = con[settings.DATABASES['mongodb']['NAME']]
        coll = db.test_collection_name
        # do a query on the collection to force the database to be created
        list(coll.find())
        test_database_name = settings.DATABASES['mongodb']['NAME']
        self.assertTrue(test_database_name in con.database_names())

        connection.creation.destroy_test_db(old_database_name)
        self.assertTrue('test_' not in settings.DATABASES['mongodb']['NAME'])
        self.assertTrue(test_database_name not in con.database_names())

        # this should work even though it doesn't need to do anything
        connection.close()