Revision f7e38cbb kamaki/clients/tests.py

b/kamaki/clients/tests.py
31 31
# interpreted as representing official policies, either expressed
32 32
# or implied, of GRNET S.A.
33 33

  
34
import gevent.monkey
35
#Monkey-patch everything for gevent early on
34
import gevent.monkey #Monkey-patch everything for gevent early on
36 35
gevent.monkey.patch_all()
37 36

  
38 37
from argparse import ArgumentParser
......
69 68

  
70 69
class testImage(unittest.TestCase):
71 70
	def setUp(self):
72
		url = 'https://plankton.okeanos.grnet.gr'
71
		url = 'https://cyclades.okeanos.grnet.gr/plankton'
73 72
		token = 'Kn+G9dfmlPLR2WFnhfBOow=='
74 73
		self.client = image(url, token)
75 74

  
76 75
	def tearDown(self):
77 76
		pass
78 77

  
78
	def assert_dicts_are_deeply_equal(self, d1, d2):
79
		for k,v in d1.items():
80
			self.assertTrue(d2.has_key(k))
81
			if isinstance(v, dict):
82
				self.assert_dicts_are_deeply_equal(v, d2[k])
83
			else:
84
				self.assertEqual(unicode(v), unicode(d2[k]))	
85

  
79 86
	def test_list_public(self):
87
		"""Test list_public"""
80 88
		r = self.client.list_public()
81
		print(r)
89
		r0 = self.client.list_public(order='-')
90
		self.assertTrue(len(r)>0)
91
		for img in r:
92
			for term in ('status',
93
				'name', 
94
				'container_format', 
95
				'disk_format', 
96
				'id', 
97
				'size'):
98
				self.assertTrue(img.has_key(term))
99
		self.assertTrue(len(r), len(r0))
100
		r0.reverse()
101
		for i, img in enumerate(r):
102
			self.assert_dicts_are_deeply_equal(img, r0[i])
103
		r1 = self.client.list_public(detail=True)
104
		for img in r1:
105
			for term in ('status',
106
				'name',
107
				'checksum',
108
				'created_at',
109
				'disk_format',
110
				'updated_at',
111
				'id',
112
				'location',
113
				'container_format',
114
				'owner',
115
				'is_public',
116
				'deleted_at',
117
				'properties',
118
				'size'):
119
				self.assertTrue(img.has_key(term))
120
				for interm in ('kernel',
121
					'osfamily',
122
					'users',
123
					'gui',
124
					'sortorder',
125
					'os',
126
					'root_partition',
127
					'description'):
128
					self.assertTrue(img['properties'].has_key(interm))
129
		size_max = 1000000000
130
		r2 = self.client.list_public(filters=dict(size_max=size_max))
131
		self.assertTrue(len(r2) <= len(r))
132
		for img in r2:
133
			self.assertTrue(int(img['size'])<=size_max)
134

  
135
	def test_get_meta(self):
136
		"""Test get_meta"""
137
		pass
82 138

  
83 139
class testCyclades(unittest.TestCase):
84 140
	"""Set up a Cyclades thorough test"""

Also available in: Unified diff