89cd6a0c49
As part of the split of functional and unit tests we need to isolate the unit tests into a separate directory for having multiple test targets in a sane way. Part of bp:functional-tests-for-nova Change-Id: Id42ba373c1bda6a312b673ab2b489ca56da8c628
80 lines
3.0 KiB
Python
80 lines
3.0 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import datetime
|
|
|
|
# nova.image.glance._translate_from_glance() returns datetime
|
|
# objects, not strings.
|
|
NOW_DATE = datetime.datetime(2010, 10, 11, 10, 30, 22)
|
|
|
|
|
|
def get_image_fixtures():
|
|
"""Returns a set of image fixture dicts for use in unit tests.
|
|
|
|
Returns a set of dicts representing images/snapshots of varying statuses
|
|
that would be returned from a call to
|
|
`glanceclient.client.Client.images.list`. The IDs of the images returned
|
|
start at 123 and go to 131, with the following brief summary of image
|
|
attributes:
|
|
|
|
| ID Type Status Notes
|
|
| ----------------------------------------------------------
|
|
| 123 Public image active
|
|
| 124 Snapshot queued
|
|
| 125 Snapshot saving
|
|
| 126 Snapshot active
|
|
| 127 Snapshot killed
|
|
| 128 Snapshot deleted
|
|
| 129 Snapshot pending_delete
|
|
| 130 Public image active Has no name
|
|
|
|
"""
|
|
|
|
image_id = 123
|
|
|
|
fixtures = []
|
|
|
|
def add_fixture(**kwargs):
|
|
kwargs.update(created_at=NOW_DATE,
|
|
updated_at=NOW_DATE)
|
|
fixtures.append(kwargs)
|
|
|
|
# Public image
|
|
add_fixture(id=str(image_id), name='public image', is_public=True,
|
|
status='active', properties={'key1': 'value1'},
|
|
min_ram="128", min_disk="10", size='25165824')
|
|
image_id += 1
|
|
|
|
# Snapshot for User 1
|
|
uuid = 'aa640691-d1a7-4a67-9d3c-d35ee6b3cc74'
|
|
snapshot_properties = {'instance_uuid': uuid, 'user_id': 'fake'}
|
|
for status in ('queued', 'saving', 'active', 'killed',
|
|
'deleted', 'pending_delete'):
|
|
deleted = False if status != 'deleted' else True
|
|
deleted_at = NOW_DATE if deleted else None
|
|
|
|
add_fixture(id=str(image_id), name='%s snapshot' % status,
|
|
is_public=False, status=status,
|
|
properties=snapshot_properties, size='25165824',
|
|
deleted=deleted, deleted_at=deleted_at)
|
|
image_id += 1
|
|
|
|
# Image without a name
|
|
add_fixture(id=str(image_id), is_public=True, status='active',
|
|
properties={})
|
|
# Image for permission tests
|
|
image_id += 1
|
|
add_fixture(id=str(image_id), is_public=True, status='active',
|
|
properties={}, owner='authorized_fake')
|
|
|
|
return fixtures
|