aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.coveragerc1
-rw-r--r--tests/contrib/test_django_orm.py53
2 files changed, 52 insertions, 2 deletions
diff --git a/.coveragerc b/.coveragerc
index d698eff..0151e07 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -4,6 +4,7 @@ omit =
# Don't report coverage over platform-specific modules.
oauth2client/contrib/_fcntl_opener.py
oauth2client/contrib/_win32_opener.py
+ oauth2client/contrib/django_util/apps.py
exclude_lines =
# Re-enable the standard pragma
pragma: NO COVER
diff --git a/tests/contrib/test_django_orm.py b/tests/contrib/test_django_orm.py
index 0e5d747..0346719 100644
--- a/tests/contrib/test_django_orm.py
+++ b/tests/contrib/test_django_orm.py
@@ -65,7 +65,7 @@ class TestCredentialsField(unittest.TestCase):
def setUp(self):
self.fake_model = FakeCredentialsModel()
self.fake_model_field = self.fake_model._meta.get_field('credentials')
- self.field = CredentialsField()
+ self.field = CredentialsField(null=True)
self.credentials = Credentials()
self.pickle_str = _from_bytes(
base64.b64encode(pickle.dumps(self.credentials)))
@@ -95,6 +95,10 @@ class TestCredentialsField(unittest.TestCase):
value_str = self.fake_model_field.value_to_string(self.fake_model)
self.assertEqual(value_str, None)
+ def test_credentials_without_null(self):
+ credentials = CredentialsField()
+ self.assertTrue(credentials.null)
+
class TestFlowField(unittest.TestCase):
@@ -104,7 +108,7 @@ class TestFlowField(unittest.TestCase):
def setUp(self):
self.fake_model = self.FakeFlowModel()
self.fake_model_field = self.fake_model._meta.get_field('flow')
- self.field = FlowField()
+ self.field = FlowField(null=True)
self.flow = Flow()
self.pickle_str = _from_bytes(
base64.b64encode(pickle.dumps(self.flow)))
@@ -130,6 +134,10 @@ class TestFlowField(unittest.TestCase):
value_str = self.fake_model_field.value_to_string(self.fake_model)
self.assertEqual(value_str, None)
+ def test_flow_with_null(self):
+ flow = FlowField()
+ self.assertTrue(flow.null)
+
class TestStorage(unittest.TestCase):
@@ -177,6 +185,37 @@ class TestStorage(unittest.TestCase):
credential, fake_model_with_credentials.credentials)
@mock.patch('django.db.models')
+ def test_locked_get_no_entities(self, djangoModel):
+ entities = [
+ ]
+ filter_mock = mock.Mock(return_value=entities)
+ object_mock = mock.Mock()
+ object_mock.filter = filter_mock
+ FakeCredentialsModelMock.objects = object_mock
+
+ storage = Storage(FakeCredentialsModelMock, self.key_name,
+ self.key_value, self.property_name)
+ credential = storage.locked_get()
+ self.assertIsNone(credential)
+
+ @mock.patch('django.db.models')
+ def test_locked_get_no_set_store(self, djangoModel):
+ fake_model_with_credentials = FakeCredentialsModelMockNoSet()
+ entities = [
+ fake_model_with_credentials
+ ]
+ filter_mock = mock.Mock(return_value=entities)
+ object_mock = mock.Mock()
+ object_mock.filter = filter_mock
+ FakeCredentialsModelMockNoSet.objects = object_mock
+
+ storage = Storage(FakeCredentialsModelMockNoSet, self.key_name,
+ self.key_value, self.property_name)
+ credential = storage.locked_get()
+ self.assertEqual(
+ credential, fake_model_with_credentials.credentials)
+
+ @mock.patch('django.db.models')
def test_locked_put(self, djangoModel):
storage = Storage(FakeCredentialsModelMock, self.key_name,
self.key_value, self.property_name)
@@ -246,5 +285,15 @@ class FakeCredentialsModelMock(object):
credentials = CredentialWithSetStore()
+class FakeCredentialsModelMockNoSet(object):
+
+ def __init__(self, set_store=False, *args, **kwargs):
+ self.model = FakeCredentialsModelMock
+ self.saved = False
+ self.deleted = False
+
+ credentials = CredentialsField()
+
+
if __name__ == '__main__': # pragma: NO COVER
unittest.main()