Update unit tests for Image model v1
The metatests were out of date. Change-Id: I63fe55ee4a2a4e13d3236e5c0e733b74a2c44db9
This commit is contained in:
parent
09b6a73b77
commit
8bbec6fdf0
@ -56,7 +56,7 @@ class Image(AutoMarshallingModel):
|
||||
@return: True if Image objects are equal, False otherwise
|
||||
@rtype: bool
|
||||
"""
|
||||
return EqualityTools.are_objects_equal(self, other)
|
||||
return EqualityTools.are_objects_equal(self, other, '_log')
|
||||
|
||||
def __ne__(self, other):
|
||||
"""
|
||||
@ -66,7 +66,7 @@ class Image(AutoMarshallingModel):
|
||||
@return: True if Image objects are not equal, False otherwise
|
||||
@rtype: bool
|
||||
"""
|
||||
return not self == other
|
||||
return not self.__eq__(other)
|
||||
|
||||
def __repr__(self):
|
||||
values = []
|
||||
|
8
metatests/images/v1_0/data/image.json
Normal file
8
metatests/images/v1_0/data/image.json
Normal file
@ -0,0 +1,8 @@
|
||||
{"image": {
|
||||
"name": "cirros-0.3.1-x86_64-uec",
|
||||
"container_format": "ami",
|
||||
"disk_format": "ami",
|
||||
"checksum": "f8a2eeee2dc65b3d9b6e63678955bd83",
|
||||
"id": "48dd25eb-ada4-47e7-8b8c-9547c9263b52",
|
||||
"size": 25165824
|
||||
}}
|
26
metatests/images/v1_0/data/images.json
Normal file
26
metatests/images/v1_0/data/images.json
Normal file
@ -0,0 +1,26 @@
|
||||
{"images": [
|
||||
{
|
||||
"name": "cirros-0.3.1-x86_64-uec",
|
||||
"container_format": "ami",
|
||||
"disk_format": "ami",
|
||||
"checksum": "f8a2eeee2dc65b3d9b6e63678955bd83",
|
||||
"id": "48dd25eb-ada4-47e7-8b8c-9547c9263b52",
|
||||
"size": 25165824
|
||||
},
|
||||
{
|
||||
"name": "cirros-0.3.1-x86_64-uec-ramdisk",
|
||||
"container_format": "ari",
|
||||
"disk_format": "ari",
|
||||
"checksum": "69c33642f44ca552ba4bb8b66ad97e85",
|
||||
"id": "ba740a49-2b27-45a2-9fc6-d142b44698a9",
|
||||
"size": 3714968
|
||||
},
|
||||
{
|
||||
"name": "cirros-0.3.1-x86_64-uec-kernel",
|
||||
"container_format": "aki",
|
||||
"disk_format": "aki",
|
||||
"checksum": "c352f4e7121c6eae958bc1570324f17e",
|
||||
"id": "4057ba81-47da-406f-aa92-09bcb5b6ddcc",
|
||||
"size": 4955792
|
||||
}
|
||||
]}
|
@ -1,59 +1,34 @@
|
||||
import re
|
||||
import json
|
||||
import os
|
||||
from copy import deepcopy
|
||||
from datetime import datetime
|
||||
from unittest import TestCase
|
||||
|
||||
from cloudcafe.images.v1_0.models.image import Image
|
||||
from cloudcafe.images.v1_0.models.member import Member
|
||||
from cloudcafe.images.v1.models.image import Image
|
||||
from cloudcafe.images.v1.models.member import Member
|
||||
|
||||
|
||||
class ImageTest(TestCase):
|
||||
class TestImage(object):
|
||||
"""@summary: Testing the behaviors of the image model..."""
|
||||
|
||||
@classmethod
|
||||
def setUp(self):
|
||||
self.raw_str = (
|
||||
'{"images": '
|
||||
'[{"image":{"status": "active", '
|
||||
'"name": "precise", '
|
||||
'"deleted": false, '
|
||||
'"container_format": "bare", '
|
||||
'"created_at": "2013-04-29T19:32:56", '
|
||||
'"disk_format": "qcow2", '
|
||||
'"updated_at": "2013-04-29T19:32:56", '
|
||||
'"properties": {}, '
|
||||
'"min_disk": 0, '
|
||||
'"protected": false, '
|
||||
'"id": "46fd5b5c-b925-4316-a878-63cbbe7f0030", '
|
||||
'"checksum": null, '
|
||||
'"owner": "bd7531a57d3a47538fae1b89c169b293", '
|
||||
'"is_public": true, '
|
||||
'"deleted_at": null, '
|
||||
'"min_ram": 0, '
|
||||
'"size": 252116992}}]}')
|
||||
def setup_class(cls):
|
||||
cls.raw_image_str = open(os.path.join(
|
||||
os.path.dirname(__file__), '../data/image.json')).read()
|
||||
cls.raw_images_str = open(os.path.join(
|
||||
os.path.dirname(__file__), '../data/images.json')).read()
|
||||
|
||||
self.image_one = Image(
|
||||
id="46fd5b5c-b925-4316-a878-63cbbe7f0030",
|
||||
status="active",
|
||||
name="precise",
|
||||
deleted=False,
|
||||
container_format="bare",
|
||||
created_at=datetime.strptime("2013-04-29T19:32:56",
|
||||
'%Y-%m-%dT%H:%M:%S'),
|
||||
disk_format="qcow2",
|
||||
updated_at=datetime.strptime("2013-04-29T19:32:56",
|
||||
'%Y-%m-%dT%H:%M:%S'),
|
||||
owner="bd7531a57d3a47538fae1b89c169b293",
|
||||
protected=False,
|
||||
min_ram=0,
|
||||
checksum=None,
|
||||
min_disk=0,
|
||||
is_public=True,
|
||||
deleted_at=None,
|
||||
properties={},
|
||||
size=252116992)
|
||||
cls._dict = json.loads(cls.raw_image_str).get('image')
|
||||
|
||||
self.image_two = Image(
|
||||
id="c7dd539e-5077-49e8-bc4d-0359ba051122",
|
||||
cls.image_one = Image(
|
||||
id_=cls._dict.get('id'),
|
||||
name=cls._dict.get('name'),
|
||||
container_format=cls._dict.get('container_format'),
|
||||
checksum=cls._dict.get('checksum'),
|
||||
size=cls._dict.get('size'),
|
||||
disk_format=cls._dict.get('disk_format'))
|
||||
|
||||
cls.image_two = Image(
|
||||
id_="c7dd539e-5077-49e8-bc4d-0359ba051122",
|
||||
status="active",
|
||||
name="precise",
|
||||
deleted="False",
|
||||
@ -71,46 +46,17 @@ class ImageTest(TestCase):
|
||||
properties={},
|
||||
size=252116992)
|
||||
|
||||
self._dict = {
|
||||
'id': self.image_one.id,
|
||||
'status': self.image_one.status,
|
||||
'name': self.image_one.name,
|
||||
'deleted': self.image_one.deleted,
|
||||
'container_format': self.image_one.container_format,
|
||||
'created_at': "2013-04-29T19:32:56",
|
||||
'disk_format': self.image_one.disk_format,
|
||||
'updated_at': "2013-04-29T19:32:56",
|
||||
'owner': self.image_one.owner,
|
||||
'protected': self.image_one.protected,
|
||||
'min_ram': self.image_one.min_ram,
|
||||
'checksum': self.image_one.checksum,
|
||||
'min_disk': self.image_one.min_disk,
|
||||
'is_public': self.image_one.is_public,
|
||||
'deleted_at': self.image_one.deleted_at,
|
||||
'properties': self.image_one.properties,
|
||||
'size': self.image_one.size
|
||||
}
|
||||
|
||||
def test_positive_equality_of_images(self):
|
||||
assert self.image_one == self.image_one
|
||||
assert not self.image_one == (self.image_two)
|
||||
assert self.image_one == deepcopy(self.image_one)
|
||||
|
||||
def test_negative_equality_of_images(self):
|
||||
assert self.image_one != self.image_two
|
||||
assert not self.image_one != self.image_one
|
||||
assert self.image_one != deepcopy(self.image_two)
|
||||
|
||||
def test_dict_to_image(self):
|
||||
def test_dict_to_obj(self):
|
||||
assert Image._dict_to_obj(self._dict) == self.image_one
|
||||
|
||||
def test_image_string_representations(self):
|
||||
regex = r"""(?x)\[(\s?\w*\:\s(\d{4}-\d{2}-\d{2}\s\d{2}:
|
||||
\d{2}:\d{2}\.\d{6}|[\w\d\-\{\}]*)\,?)*\s\]"""
|
||||
matches = re.match(regex, self.image_one.__repr__())
|
||||
assert matches is not None
|
||||
|
||||
def test_json_to_image(self):
|
||||
assert len(Image._json_to_obj(self.raw_str)) == 1
|
||||
assert Image._json_to_obj(self.raw_str)[0] == self.image_one
|
||||
def test_json_to_obj(self):
|
||||
assert Image._json_to_obj(self.raw_image_str) == self.image_one
|
||||
|
||||
def test_add_member_to_an_image(self):
|
||||
member1 = Member(member_id='1')
|
||||
@ -121,18 +67,19 @@ class ImageTest(TestCase):
|
||||
assert member1 in self.image_one.members_list
|
||||
|
||||
def test_remove_member_from_an_image(self):
|
||||
image = Image._json_to_obj(self.raw_image_str)
|
||||
member1 = Member(member_id='1')
|
||||
member2 = Member(member_id='2')
|
||||
|
||||
self.image_one.add_member(member1)
|
||||
self.image_one.add_member(member2)
|
||||
assert len(self.image_one.members_list) == 2
|
||||
image.add_member(member1)
|
||||
image.add_member(member2)
|
||||
assert len(image.members_list) == 2
|
||||
|
||||
self.image_one.delete_member(member1)
|
||||
image.delete_member(member1)
|
||||
|
||||
assert len(self.image_one.members_list) == 1
|
||||
assert member1 not in self.image_one.members_list
|
||||
assert member2 in self.image_one.members_list
|
||||
assert len(image.members_list) == 1
|
||||
assert member1 not in image.members_list
|
||||
assert member2 in image.members_list
|
||||
|
||||
def test_replace_members_list_for_an_image(self):
|
||||
member1 = Member(member_id='1')
|
||||
|
Loading…
x
Reference in New Issue
Block a user