summaryrefslogtreecommitdiffstats
path: root/appengine_django/tests/db_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'appengine_django/tests/db_test.py')
-rwxr-xr-xappengine_django/tests/db_test.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/appengine_django/tests/db_test.py b/appengine_django/tests/db_test.py
new file mode 100755
index 0000000..452e8f9
--- /dev/null
+++ b/appengine_django/tests/db_test.py
@@ -0,0 +1,62 @@
+#!/usr/bin/python2.4
+#
+# Copyright 2008 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Tests that the db module correctly initialises the API stubs."""
+
+
+import unittest
+
+from django.db import connection
+from django.db.backends.appengine.base import DatabaseWrapper
+
+from appengine_django import appid
+from appengine_django.db import base
+
+
+class DatastoreTest(unittest.TestCase):
+ """Tests that the datastore stubs have been correctly setup."""
+
+ def testDjangoDBConnection(self):
+ """Tests that the Django DB connection is using our replacement."""
+ self.assert_(isinstance(connection, DatabaseWrapper))
+
+ def testDjangoDBConnectionStubs(self):
+ """Tests that members required by Django are stubbed."""
+ self.assert_(hasattr(connection, "features"))
+ self.assert_(hasattr(connection, "ops"))
+
+ def testDjangoDBErrorClasses(self):
+ """Tests that the error classes required by Django are stubbed."""
+ self.assert_(hasattr(base, "DatabaseError"))
+ self.assert_(hasattr(base, "IntegrityError"))
+
+ def testDatastorePath(self):
+ """Tests that the datastore path contains the app name."""
+ d_path, h_path = base.get_datastore_paths()
+ self.assertNotEqual(-1, d_path.find("django_%s" % appid))
+ self.assertNotEqual(-1, h_path.find("django_%s" % appid))
+
+ def testTestInMemoryDatastorePath(self):
+ """Tests that the test datastore is using the in-memory datastore."""
+ td_path, th_path = base.get_test_datastore_paths()
+ self.assert_(td_path is None)
+ self.assert_(th_path is None)
+
+ def testTestFilesystemDatastorePath(self):
+ """Tests that the test datastore is on the filesystem when requested."""
+ td_path, th_path = base.get_test_datastore_paths(False)
+ self.assertNotEqual(-1, td_path.find("testdatastore"))
+ self.assertNotEqual(-1, th_path.find("testdatastore"))