Revision 3768eb67

b/snf-cyclades-app/synnefo/api/tests/images.py
98 98

  
99 99
    @assert_backend_closed
100 100
    def test_list_images_detail(self, mimage):
101
        self.maxDiff = None
101 102
        images = [{'id': 1,
102 103
                   'name': 'image-1',
103 104
                   'status':'available',
......
105 106
                   'updated_at': '2012-12-26 11:52:54',
106 107
                   'owner': 'user1',
107 108
                   'deleted_at': '',
109
                   'is_snapshot': False,
108 110
                   'properties': {'foo':'bar'}},
109 111
                  {'id': 2,
110 112
                   'name': 'image-2',
......
113 115
                   'updated_at': '2012-12-26 11:52:54',
114 116
                   'owner': 'user1',
115 117
                   'deleted_at': '2012-12-27 11:52:54',
118
                   'is_snapshot': False,
116 119
                   'properties': ''},
117 120
                  {'id': 3,
118 121
                   'name': 'image-3',
......
121 124
                   'deleted_at': '',
122 125
                   'updated_at': '2012-12-26 11:52:54',
123 126
                   'owner': 'user1',
127
                   'is_snapshot': False,
124 128
                   'properties': ''}]
125 129
        result_images = [
126 130
                  {'id': 1,
......
131 135
                   'updated': '2012-12-26T11:52:54+00:00',
132 136
                   'user_id': 'user1',
133 137
                   'tenant_id': 'user1',
138
                   'is_snapshot': False,
134 139
                   'metadata': {'foo':'bar'}},
135 140
                  {'id': 2,
136 141
                   'name': 'image-2',
......
140 145
                   'tenant_id': 'user1',
141 146
                   'created': '2012-11-26T11:52:54+00:00',
142 147
                   'updated': '2012-12-26T11:52:54+00:00',
148
                   'is_snapshot': False,
143 149
                   'metadata': {}},
144 150
                  {'id': 3,
145 151
                   'name': 'image-3',
......
149 155
                   'tenant_id': 'user1',
150 156
                   'created': '2012-11-26T11:52:54+00:00',
151 157
                   'updated': '2012-12-26T11:52:54+00:00',
158
                   'is_snapshot': False,
152 159
                   'metadata': {}}]
153 160
        mimage().list_images.return_value = images
154 161
        response = self.myget('images/detail', 'user')
......
174 181
                   'deleted_at': '',
175 182
                   'updated_at': old_time.isoformat(),
176 183
                   'owner': 'user1',
184
                   'is_snapshot': False,
177 185
                   'properties': ''},
178 186
                  {'id': 2,
179 187
                   'name': 'image-2',
......
183 191
                   'created_at': new_time.isoformat(),
184 192
                   'updated_at': new_time.isoformat(),
185 193
                   'deleted_at': new_time.isoformat(),
194
                   'is_snapshot': False,
186 195
                   'properties': ''}]
187 196
        mimage().list_images.return_value = images
188 197
        response =\
......
193 202

  
194 203
    @assert_backend_closed
195 204
    def test_get_image_details(self, mimage):
205
        self.maxDiff = None
196 206
        image = {'id': 42,
197 207
                 'name': 'image-1',
198 208
                 'status': 'available',
......
200 210
                 'updated_at': '2012-12-26 11:52:54',
201 211
                 'deleted_at': '',
202 212
                 'owner': 'user1',
213
                 'is_snapshot': False,
203 214
                 'properties': {'foo': 'bar'}}
204 215
        result_image = \
205 216
                  {'id': 42,
......
210 221
                   'updated': '2012-12-26T11:52:54+00:00',
211 222
                   'user_id': 'user1',
212 223
                   'tenant_id': 'user1',
224
                   'is_snapshot': False,
213 225
                   'metadata': {'foo': 'bar'}}
214 226
        mimage.return_value.get_image.return_value = image
215 227
        response = self.myget('images/42', 'user')
b/snf-cyclades-app/synnefo/logic/tests/servers.py
34 34
from synnefo.logic import servers
35 35
from synnefo import quotas
36 36
from synnefo.db import models_factory as mfactory, models
37
from mock import patch
37
from mock import patch, Mock
38 38

  
39 39
from snf_django.lib.api import faults
40 40
from snf_django.utils.testing import mocked_quotaholder, override_settings
41 41
from django.conf import settings
42 42
from copy import deepcopy
43 43

  
44
fixed_image = Mock()
45
fixed_image.return_value = {'location': 'pithos://foo',
46
                            'checksum': 'test_checksum',
47
                            "id": 1,
48
                            "name": "test_image",
49
                            "size": 1024,
50
                            "is_snapshot": False,
51
                            'disk_format': 'diskdump'}
44 52

  
53

  
54
@patch('synnefo.api.util.get_image', fixed_image)
45 55
@patch("synnefo.logic.rapi_pool.GanetiRapiClient")
46 56
class ServerCreationTest(TransactionTestCase):
47 57
    def test_create(self, mrapi):
......
51 61
            "name": "test_vm",
52 62
            "password": "1234",
53 63
            "flavor": flavor,
54
            "image": {"id": "foo", "backend_id": "foo", "format": "diskdump",
55
                      "checksum": "test_checksum",
56
                      "metadata": "{}"},
64
            "image_id": "safs",
57 65
            "networks": [],
58 66
            "metadata": {"foo": "bar"},
59 67
            "personality": [],
......
103 111
            with override_settings(settings, **osettings):
104 112
                vm = servers.create(**req)
105 113
        name, args, kwargs = mrapi().CreateInstance.mock_calls[-1]
106
        self.assertEqual(kwargs["disks"][0], {"provider": "archipelago",
107
                                              "origin": "test_checksum",
108
                                              "foo": "mpaz",
109
                                              "lala": "lolo",
110
                                              "size": 1024})
114
        self.assertEqual(kwargs["disks"][0],
115
                         {"provider": "archipelago",
116
                          "origin": "pithos:test_checksum",
117
                          "name": vm.volumes.all()[0].backend_volume_uuid,
118
                          "foo": "mpaz",
119
                          "lala": "lolo",
120
                          "size": 1024})
111 121

  
112 122

  
113 123
@patch("synnefo.logic.rapi_pool.GanetiRapiClient")
b/snf-cyclades-app/synnefo/volume/tests/volumes.py
52 52
        name, args, kwargs = mrapi().ModifyInstance.mock_calls[0]
53 53
        self.assertEqual(kwargs["instance"], self.vm.backend_vm_id)
54 54
        disk_info = kwargs["disks"][0][2]
55
        self.assertEqual(disk_info["size"], self.size)
55
        self.assertEqual(disk_info["size"], self.size << 10)
56 56
        self.assertEqual(disk_info["name"], vol.backend_volume_uuid)
57 57
        self.assertEqual(disk_info["volume_name"], vol.backend_volume_uuid)
58 58
        self.assertFalse("origin" in disk_info)
......
86 86
        name, args, kwargs = mrapi().ModifyInstance.mock_calls[0]
87 87
        self.assertEqual(kwargs["instance"], self.vm.backend_vm_id)
88 88
        disk_info = kwargs["disks"][0][2]
89
        self.assertEqual(disk_info["size"], self.size)
89
        self.assertEqual(disk_info["size"], self.size << 10)
90 90
        self.assertEqual(disk_info["name"], vol.backend_volume_uuid)
91 91
        self.assertEqual(disk_info["volume_name"], vol.backend_volume_uuid)
92 92
        self.assertEqual(disk_info["origin"], svol.backend_volume_uuid)
......
125 125
        name, args, kwargs = mrapi().ModifyInstance.mock_calls[0]
126 126
        self.assertEqual(kwargs["instance"], self.vm.backend_vm_id)
127 127
        disk_info = kwargs["disks"][0][2]
128
        self.assertEqual(disk_info["size"], self.size)
128
        self.assertEqual(disk_info["size"], self.size << 10)
129 129
        self.assertEqual(disk_info["name"], vol.backend_volume_uuid)
130 130
        self.assertEqual(disk_info["volume_name"], vol.backend_volume_uuid)
131 131
        self.assertEqual(disk_info["origin"], "snf-snapshot-43")
132 132

  
133 133
    def test_delete(self, mrapi):
134 134
        # We can not deleted detached volumes
135
        vol = mf.VolumeFactory(machine=None)
135
        vol = mf.VolumeFactory(machine=None, status="AVAILABLE")
136 136
        self.assertRaises(faults.BadRequest,
137 137
                          volumes.delete,
138 138
                          vol)
......
141 141
        # Also we cannot delete root volume
142 142
        vol.index = 0
143 143
        vol.machine = vm
144
        vol.status = "IN_USE"
145
        vol.save()
144 146
        self.assertRaises(faults.BadRequest,
145 147
                          volumes.delete,
146 148
                          vol)

Also available in: Unified diff