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

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. 

15 

16from unittest import mock 

17 

18from oslo_serialization import jsonutils 

19import requests 

20 

21from manila import exception 

22from manila.share.drivers.nexenta.ns4 import jsonrpc 

23from manila import test 

24 

25 

26class TestNexentaJSONProxy(test.TestCase): 

27 

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'}} 

34 

35 post.return_value = requests.Response() 

36 post.return_value.__setstate__({ 

37 'status_code': 500, '_content': jsonutils.dumps(data)}) 

38 

39 self.assertRaises(exception.NexentaException, nms_post)