~ubuntu-branches/ubuntu/vivid/horizon/vivid

« back to all changes in this revision

Viewing changes to openstack_dashboard/test/api_tests/glance_rest_tests.py

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2015-03-30 11:12:29 UTC
  • mfrom: (0.14.1) (0.12.2) (76.1.7 vivid-proposed)
  • Revision ID: package-import@ubuntu.com-20150330111229-08du2zlqf9khi4k5
Tags: 1:2015.1~b3-0ubuntu1
* New upstream milestone release:
  - d/control: All version requirements with upstream, drop dependency
    on lockfile.
  - Refresh xstatic assets.
  - d/p/*: Refresh.
* d/pydist-overrides: Add overrides for oslo packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2015, Rackspace, US, Inc.
 
2
# Copyright 2015, Hewlett-Packard Development Company, L.P.
 
3
#
 
4
# Licensed under the Apache License, Version 2.0 (the "License");
 
5
# you may not use this file except in compliance with the License.
 
6
# You may obtain 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,
 
12
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
13
# See the License for the specific language governing permissions and
 
14
# limitations under the License.
 
15
import mock
 
16
 
 
17
from openstack_dashboard.api.rest import glance
 
18
from openstack_dashboard.test import helpers as test
 
19
 
 
20
 
 
21
class ImagesRestTestCase(test.TestCase):
 
22
    @mock.patch.object(glance.api, 'glance')
 
23
    def test_image_get_single(self, gc):
 
24
        request = self.mock_rest_request()
 
25
        gc.image_get.return_value.to_dict.return_value = {'name': '1'}
 
26
 
 
27
        response = glance.Image().get(request, "1")
 
28
        self.assertStatusCode(response, 200)
 
29
        gc.image_get.assert_called_once_with(request, "1")
 
30
 
 
31
    @mock.patch.object(glance.api, 'glance')
 
32
    def test_image_get_list_detailed(self, gc):
 
33
        kwargs = {
 
34
            'sort_dir': 'desc',
 
35
            'sort_key': 'namespace',
 
36
            'marker': 1,
 
37
            'paginate': False,
 
38
        }
 
39
        filters = {'name': 'fedora'}
 
40
        request = self.mock_rest_request(
 
41
            **{'GET': dict(kwargs, **filters)})
 
42
        gc.image_list_detailed.return_value = ([
 
43
            mock.Mock(**{'to_dict.return_value': {'name': 'fedora'}}),
 
44
            mock.Mock(**{'to_dict.return_value': {'name': 'cirros'}})
 
45
        ], False, False)
 
46
 
 
47
        response = glance.Images().get(request)
 
48
        self.assertStatusCode(response, 200)
 
49
        self.assertEqual(response.content,
 
50
                         '{"items": [{"name": "fedora"}, {"name": "cirros"}]'
 
51
                         ', "has_more_data": false, "has_prev_data": false}')
 
52
        gc.image_list_detailed.assert_called_once_with(request,
 
53
                                                       filters=filters,
 
54
                                                       **kwargs)
 
55
 
 
56
    @mock.patch.object(glance.api, 'glance')
 
57
    def test_namespace_get_list(self, gc):
 
58
        request = self.mock_rest_request(**{'GET': {}})
 
59
        gc.metadefs_namespace_list.return_value = ([
 
60
            mock.Mock(**{'to_dict.return_value': {'namespace': '1'}}),
 
61
            mock.Mock(**{'to_dict.return_value': {'namespace': '2'}})
 
62
        ], False, False)
 
63
 
 
64
        response = glance.MetadefsNamespaces().get(request)
 
65
        self.assertStatusCode(response, 200)
 
66
        self.assertEqual(response.content,
 
67
                         '{"items": [{"namespace": "1"}, {"namespace": "2"}]'
 
68
                         ', "has_more_data": false, "has_prev_data": false}')
 
69
        gc.metadefs_namespace_list.assert_called_once_with(request,
 
70
                                                           filters={},
 
71
                                                           **{})
 
72
 
 
73
    @mock.patch.object(glance.api, 'glance')
 
74
    def test_namespace_get_list_kwargs_and_filters(self, gc):
 
75
        kwargs = {
 
76
            'sort_dir': 'desc',
 
77
            'sort_key': 'namespace',
 
78
            'marker': 1,
 
79
            'paginate': False,
 
80
        }
 
81
        filters = {'resource_types': 'type'}
 
82
        request = self.mock_rest_request(
 
83
            **{'GET': dict(kwargs, **filters)})
 
84
        gc.metadefs_namespace_list.return_value = ([
 
85
            mock.Mock(**{'to_dict.return_value': {'namespace': '1'}}),
 
86
            mock.Mock(**{'to_dict.return_value': {'namespace': '2'}})
 
87
        ], False, False)
 
88
 
 
89
        response = glance.MetadefsNamespaces().get(request)
 
90
        self.assertStatusCode(response, 200)
 
91
        self.assertEqual(response.content,
 
92
                         '{"items": [{"namespace": "1"}, {"namespace": "2"}]'
 
93
                         ', "has_more_data": false, "has_prev_data": false}')
 
94
        gc.metadefs_namespace_list.assert_called_once_with(request,
 
95
                                                           filters=filters,
 
96
                                                           **kwargs)
 
97
 
 
98
    @mock.patch.object(glance.api, 'glance')
 
99
    def test_namespace_get_namespace(self, gc):
 
100
        kwargs = {'resource_type': ['OS::Nova::Flavor']}
 
101
        request = self.mock_rest_request(**{'GET': dict(kwargs)})
 
102
        gc.metadefs_namespace_get.return_value\
 
103
            .to_dict.return_value = {'namespace': '1'}
 
104
 
 
105
        response = glance.MetadefsNamespace().get(request, "1")
 
106
        self.assertStatusCode(response, 200)
 
107
        gc.metadefs_namespace_get.assert_called_once_with(request,
 
108
                                                          "1")