Coverage for manila/tests/wsgi/test_common.py: 100%

19 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2026-02-18 22:19 +0000

1# Copyright 2017 Mirantis 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 manila import test 

19from manila.wsgi import common 

20 

21 

22class FakeApp(common.Application): 

23 def __init__(self, **kwargs): 

24 for k, v in kwargs.items(): 

25 setattr(self, k, v) 

26 

27 

28class WSGICommonTestCase(test.TestCase): 

29 

30 def test_application_factory(self): 

31 fake_global_config = mock.Mock() 

32 kwargs = {"k1": "v1", "k2": "v2"} 

33 

34 result = FakeApp.factory(fake_global_config, **kwargs) 

35 

36 fake_global_config.assert_not_called() 

37 self.assertIsInstance(result, FakeApp) 

38 for k, v in kwargs.items(): 

39 self.assertTrue(hasattr(result, k)) 

40 self.assertEqual(getattr(result, k), v) 

41 

42 def test_application___call__(self): 

43 self.assertRaises( 

44 NotImplementedError, 

45 common.Application(), 'fake_environ', 'fake_start_response')