]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/tests/test_cephfs.py
import ceph 16.2.7
[ceph.git] / ceph / src / pybind / mgr / dashboard / tests / test_cephfs.py
1 # -*- coding: utf-8 -*-
2 from collections import defaultdict
3
4 try:
5 from mock import Mock
6 except ImportError:
7 from unittest.mock import patch, Mock
8
9 from ..controllers.cephfs import CephFS
10 from ..tests import ControllerTestCase
11
12
13 class MetaDataMock(object):
14 def get(self, _x, _y):
15 return 'bar'
16
17
18 def get_metadata_mock(key, meta_key):
19 return {
20 'mds': {
21 None: None, # Unknown key
22 'foo': MetaDataMock()
23 }[meta_key]
24 }[key]
25
26
27 @patch('dashboard.mgr.get_metadata', Mock(side_effect=get_metadata_mock))
28 class CephFsTest(ControllerTestCase):
29 cephFs = CephFS()
30
31 def test_append_of_mds_metadata_if_key_is_not_found(self):
32 mds_versions = defaultdict(list)
33 # pylint: disable=protected-access
34 self.cephFs._append_mds_metadata(mds_versions, None)
35 self.assertEqual(len(mds_versions), 0)
36
37 def test_append_of_mds_metadata_with_existing_metadata(self):
38 mds_versions = defaultdict(list)
39 # pylint: disable=protected-access
40 self.cephFs._append_mds_metadata(mds_versions, 'foo')
41 self.assertEqual(len(mds_versions), 1)
42 self.assertEqual(mds_versions['bar'], ['foo'])