Merge pull request #496 from waprin/master
Hit 100% with branch coverage
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -176,6 +184,37 @@ class TestStorage(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
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,
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user