예제 #1
0
    def test_unlock_document(self):
        lock = database.DocumentLock(self._collection, self._id, 'test')
        lock.unlock_document()

        # Check database calls
        self._connection[
            self._collection].find_one_and_update.assert_called_once_with(
                {'_id': ObjectId(self._id)}, {'$set': {
                    self._lock_id: False
                }})
예제 #2
0
    def test_wait_for_document(self):
        self._connection[self._collection].find_one_and_update.side_effect = [{
            self._lock_id:
            True
        }, {
            self._lock_id:
            False
        }]

        lock = database.DocumentLock(self._collection, self._id, 'test')
        lock.wait_document()

        # Check database calls
        self.assertEquals([
            call({'_id': ObjectId(self._id)}, {'$set': {
                self._lock_id: True
            }}),
            call({'_id': ObjectId(self._id)}, {'$set': {
                self._lock_id: True
            }})
        ], self._connection[
            self._collection].find_one_and_update.call_args_list)