diff options
Diffstat (limited to 'tests/unit/post/test_glance.py')
-rw-r--r-- | tests/unit/post/test_glance.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/unit/post/test_glance.py b/tests/unit/post/test_glance.py new file mode 100644 index 00000000..1a154464 --- /dev/null +++ b/tests/unit/post/test_glance.py @@ -0,0 +1,71 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corp and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +import os + +import pytest +import mock + +from deploy.post.glance import Glance +from deploy.post import glance + + +@pytest.fixture(scope="module") +def openrc_conf_file_dir(data_root): + return os.path.join(data_root, 'openrc_conf') + + +def test_create_Glance_instance(openrc_conf_file_dir): + openrc_file = os.path.join(openrc_conf_file_dir, 'admin-openrc.sh') + glance = Glance(openrc=openrc_file) + assert glance.controller == glance.client.images + + +@mock.patch('glanceclient.v2.images.Controller.create') +@mock.patch('glanceclient.v2.images.Controller.upload') +def test_create_in_Glance(mock_upload, mock_create, + openrc_conf_file_dir, tmpdir): + class Test_image(): + def __init__(self, id): + self.id = id + openrc_file = os.path.join(openrc_conf_file_dir, 'admin-openrc.sh') + file_name = 'test_image.qcow2' + file_path = os.path.join(tmpdir.dirname, tmpdir.basename, file_name) + with open(file_path, 'w') as f: + f.write('test_data') + id = 0x1234 + glance = Glance(openrc=openrc_file) + mock_create.return_value = Test_image(id) + ret = glance.create(file_name, file_path) + assert ret == id + tmpdir.remove() + + +@mock.patch.object(glance.Glance, 'list') +def test_get_by_name_in_Glance(mock_list, openrc_conf_file_dir): + class Test_image(): + def __init__(self, name): + self.name = name + openrc_file = os.path.join(openrc_conf_file_dir, 'admin-openrc.sh') + image_inst1 = Test_image('test_image1.qcow2') + image_inst2 = Test_image('test_image2.qcow2') + images_list = [image_inst1, image_inst2] + mock_list.return_value = images_list + glance = Glance(openrc=openrc_file) + ret = glance.get_by_name('test_image1.qcow2') + assert ret == image_inst1 + + +@mock.patch('glanceclient.v2.images.Controller.list') +def test_list_in_Glance(mock_list, openrc_conf_file_dir): + openrc_file = os.path.join(openrc_conf_file_dir, 'admin-openrc.sh') + glance_list = ['test1'] + mock_list.return_value = glance_list + glance = Glance(openrc=openrc_file) + ret = glance.list() + assert ret == glance_list |