Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 2744202

Browse files
authored
Merge pull request #433 from cloudant/mock-revs-limit-test
Mock server responses for DatabaseTests.test_get_set_revision_limit.
2 parents b434ca9 + 0c67682 commit 2744202

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

tests/unit/database_tests.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python
2-
# Copyright (C) 2015, 2018 IBM Corp. All rights reserved.
2+
# Copyright (C) 2015, 2019 IBM Corp. All rights reserved.
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
@@ -773,16 +773,36 @@ def test_revisions_diff(self):
773773
# Test no differences
774774
self.assertEqual(self.db.revisions_diff('julia006', doc['_rev']), {})
775775

776-
def test_get_set_revision_limit(self):
776+
@mock.patch('cloudant._client_session.ClientSession.request')
777+
def test_get_set_revision_limit(self, m_req):
777778
"""
778779
Test setting and getting revision limits
779780
"""
780-
limit = self.db.get_revision_limit()
781-
self.assertIsInstance(limit, int)
781+
# Setup mock responses.
782+
mock_200_get_1 = mock.MagicMock()
783+
type(mock_200_get_1).status_code = mock.PropertyMock(return_value=200)
784+
type(mock_200_get_1).text = mock.PropertyMock(return_value='4321')
785+
786+
mock_200_get_2 = mock.MagicMock()
787+
type(mock_200_get_2).status_code = mock.PropertyMock(return_value=200)
788+
type(mock_200_get_2).text = mock.PropertyMock(return_value='1234')
789+
790+
mock_200_set = mock.MagicMock()
791+
type(mock_200_set).status_code = mock.PropertyMock(return_value=200)
792+
type(mock_200_set).text = mock.PropertyMock(return_value='{"ok":true}')
793+
794+
m_req.side_effect = [mock_200_get_1, mock_200_set, mock_200_get_2]
795+
796+
# Get current revisions limit.
797+
self.assertEqual(self.db.get_revision_limit(), 4321)
798+
799+
# Set new revisions limit.
782800
self.assertEqual(self.db.set_revision_limit(1234), {'ok': True})
783-
new_limit = self.db.get_revision_limit()
784-
self.assertNotEqual(new_limit, limit)
785-
self.assertEqual(new_limit, 1234)
801+
802+
# Get new revisions limit.
803+
self.assertEqual(self.db.get_revision_limit(), 1234)
804+
805+
self.assertEquals(m_req.call_count, 3)
786806

787807
@attr(db='couch')
788808
def test_view_clean_up(self):

0 commit comments

Comments
 (0)