Coverage for manila/tests/share/drivers/nexenta/ns4/test_jsonrpc.py: 100%
14 statements
« prev ^ index » next coverage.py v7.11.0, created at 2026-02-18 22:19 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2026-02-18 22:19 +0000
1# Copyright 2016 Nexenta Systems, Inc.
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
16from unittest import mock
18from oslo_serialization import jsonutils
19import requests
21from manila import exception
22from manila.share.drivers.nexenta.ns4 import jsonrpc
23from manila import test
26class TestNexentaJSONProxy(test.TestCase):
28 @mock.patch('requests.post')
29 def test_call(self, post):
30 nms_post = jsonrpc.NexentaJSONProxy(
31 'http', '1.1.1.1', '8080', 'user', 'pass',
32 'obj', auto=False, method='get')
33 data = {'error': {'message': 'some_error'}}
35 post.return_value = requests.Response()
36 post.return_value.__setstate__({
37 'status_code': 500, '_content': jsonutils.dumps(data)})
39 self.assertRaises(exception.NexentaException, nms_post)