79
78
self.controller = snapshots.SnapshotsController()
81
80
self.stubs.Set(db, 'snapshot_get_all_by_project',
82
fakes.stub_snapshot_get_all_by_project)
81
stubs.stub_snapshot_get_all_by_project)
83
82
self.stubs.Set(db, 'snapshot_get_all',
84
fakes.stub_snapshot_get_all)
83
stubs.stub_snapshot_get_all)
86
85
def test_snapshot_create(self):
87
86
self.stubs.Set(volume.api.API, "create_snapshot", stub_snapshot_create)
88
self.stubs.Set(volume.api.API, 'get', fakes.stub_volume_get)
87
self.stubs.Set(volume.api.API, 'get', stubs.stub_volume_get)
89
88
snapshot = {"volume_id": '12',
91
"display_name": "Snapshot Test Name",
92
"display_description": "Snapshot Test Desc"}
90
"display_name": "Snapshot Test Name",
91
"display_description": "Snapshot Test Desc"}
93
92
body = dict(snapshot=snapshot)
94
93
req = fakes.HTTPRequest.blank('/v1/snapshots')
95
94
resp_dict = self.controller.create(req, body)
97
96
self.assertTrue('snapshot' in resp_dict)
98
97
self.assertEqual(resp_dict['snapshot']['display_name'],
99
snapshot['display_name'])
98
snapshot['display_name'])
100
99
self.assertEqual(resp_dict['snapshot']['display_description'],
101
snapshot['display_description'])
100
snapshot['display_description'])
103
102
def test_snapshot_create_force(self):
104
self.stubs.Set(volume.api.API, "create_snapshot_force",
105
stub_snapshot_create)
106
self.stubs.Set(volume.api.API, 'get', fakes.stub_volume_get)
103
self.stubs.Set(volume.api.API,
104
"create_snapshot_force",
105
stub_snapshot_create)
106
self.stubs.Set(volume.api.API, 'get', stubs.stub_volume_get)
107
107
snapshot = {"volume_id": '12',
109
"display_name": "Snapshot Test Name",
110
"display_description": "Snapshot Test Desc"}
109
"display_name": "Snapshot Test Name",
110
"display_description": "Snapshot Test Desc"}
111
111
body = dict(snapshot=snapshot)
112
112
req = fakes.HTTPRequest.blank('/v1/snapshots')
113
113
resp_dict = self.controller.create(req, body)
115
115
self.assertTrue('snapshot' in resp_dict)
116
116
self.assertEqual(resp_dict['snapshot']['display_name'],
117
snapshot['display_name'])
117
snapshot['display_name'])
118
118
self.assertEqual(resp_dict['snapshot']['display_description'],
119
snapshot['display_description'])
119
snapshot['display_description'])
121
121
snapshot = {"volume_id": "12",
122
"force": "**&&^^%%$$##@@",
123
"display_name": "Snapshot Test Name",
124
"display_description": "Snapshot Test Desc"}
122
"force": "**&&^^%%$$##@@",
123
"display_name": "Snapshot Test Name",
124
"display_description": "Snapshot Test Desc"}
125
125
body = dict(snapshot=snapshot)
126
126
req = fakes.HTTPRequest.blank('/v1/snapshots')
127
127
self.assertRaises(exception.InvalidParameterValue,
132
132
def test_snapshot_update(self):
133
133
self.stubs.Set(volume.api.API, "get_snapshot", stub_snapshot_get)
134
134
self.stubs.Set(volume.api.API, "update_snapshot",
135
fakes.stub_snapshot_update)
137
"display_name": "Updated Test Name",
135
stubs.stub_snapshot_update)
136
updates = {"display_name": "Updated Test Name", }
139
137
body = {"snapshot": updates}
140
138
req = fakes.HTTPRequest.blank('/v1/snapshots/%s' % UUID)
141
139
res_dict = self.controller.update(req, UUID, body)
222
221
def test_snapshot_list_by_status(self):
223
222
def stub_snapshot_get_all_by_project(context, project_id):
225
fakes.stub_snapshot(1, display_name='backup1',
227
fakes.stub_snapshot(2, display_name='backup2',
229
fakes.stub_snapshot(3, display_name='backup3',
224
stubs.stub_snapshot(1, display_name='backup1',
226
stubs.stub_snapshot(2, display_name='backup2',
228
stubs.stub_snapshot(3, display_name='backup3',
230
229
status='creating'),
232
231
self.stubs.Set(db, 'snapshot_get_all_by_project',
255
254
def test_snapshot_list_by_volume(self):
256
255
def stub_snapshot_get_all_by_project(context, project_id):
258
fakes.stub_snapshot(1, volume_id='vol1', status='creating'),
259
fakes.stub_snapshot(2, volume_id='vol1', status='available'),
260
fakes.stub_snapshot(3, volume_id='vol2', status='available'),
257
stubs.stub_snapshot(1, volume_id='vol1', status='creating'),
258
stubs.stub_snapshot(2, volume_id='vol1', status='available'),
259
stubs.stub_snapshot(3, volume_id='vol2', status='available'),
262
261
self.stubs.Set(db, 'snapshot_get_all_by_project',
263
262
stub_snapshot_get_all_by_project)
284
283
def test_snapshot_list_by_name(self):
285
284
def stub_snapshot_get_all_by_project(context, project_id):
287
fakes.stub_snapshot(1, display_name='backup1'),
288
fakes.stub_snapshot(2, display_name='backup2'),
289
fakes.stub_snapshot(3, display_name='backup3'),
286
stubs.stub_snapshot(1, display_name='backup1'),
287
stubs.stub_snapshot(2, display_name='backup2'),
288
stubs.stub_snapshot(3, display_name='backup3'),
291
290
self.stubs.Set(db, 'snapshot_get_all_by_project',
292
291
stub_snapshot_get_all_by_project)
362
360
def test_snapshot_index_detail_serializer(self):
363
361
serializer = snapshots.SnapshotsTemplate()
364
raw_snapshots = [dict(
366
status='snap1_status',
368
created_at=datetime.datetime.now(),
369
display_name='snap1_name',
370
display_description='snap1_desc',
375
status='snap2_status',
377
created_at=datetime.datetime.now(),
378
display_name='snap2_name',
379
display_description='snap2_desc',
362
raw_snapshots = [dict(id='snap1_id',
363
status='snap1_status',
365
created_at=datetime.datetime.now(),
366
display_name='snap1_name',
367
display_description='snap1_desc',
368
volume_id='vol1_id', ),
370
status='snap2_status',
372
created_at=datetime.datetime.now(),
373
display_name='snap2_name',
374
display_description='snap2_desc',
375
volume_id='vol2_id', )]
382
376
text = serializer.serialize(dict(snapshots=raw_snapshots))