Ejemplo n.º 1
0
    def test_get_acc_cont_obj(self, mock_xattr):
        pickled_metadata = pickle.dumps({'name': '/account/container/object'})
        mock_xattr.side_effect = [pickled_metadata, IOError]
        fm = FileMover(self.dummy_options)

        with mock.patch('__builtin__.open') as mock_open:
            info = fm._get_acc_cont_obj("filename")
            mock_open.assert_called_with("filename")
            self.assertEqual(info.get('account'), 'account')
            self.assertEqual(info.get('container'), 'container')
            self.assertEqual(info.get('object'), 'object')
Ejemplo n.º 2
0
    def test_filemover_start(self, mock_walk):
        # Simulate Swift storage node files
        mock_walk.return_value = [('accounts',
                                   '_dirs',
                                   ['account.db']),
                                  ('containers',
                                   '_dirs',
                                   ['container.db']),
                                  ('objects',
                                   '_dirs',
                                   ['object.data']),
                                  ]

        fm = FileMover(self.dummy_options)

        fm._move_file = mock.Mock()
        fm.start()
        fm._move_file.assert_any_call('accounts/account.db',
                                      'accounts')
        fm._move_file.assert_any_call('containers/container.db',
                                      'containers')
        fm._move_file.assert_any_call('objects/object.data',
                                      'objects')
Ejemplo n.º 3
0
    def test_move_file(self, mock_rename, mock_makedirs):
        fm = FileMover(self.dummy_options)

        with self.assertRaises(Exception):
            fm._move_file("filename", "dummy")

        fm._get_acc_cont_obj = mock.Mock()
        info = {'account': 'account',
                'container': 'container',
                'object': 'object'}
        fm._get_acc_cont_obj.return_value = info

        fm._move_file("node/objects/0/obj.data", "objects")

        mock_rename.assert_called_with('node/objects/0/obj.data',
                                       'node/objects/61/obj.data')
        mock_makedirs.assert_called_with('node/objects/61')