192
192
cs2 = yield provider.get_constraint_set()
193
193
self.assertIsInstance(cs2, ConstraintSet)
194
194
self.assertEqual(cs, cs2)
196
def create_constraint_set(self):
197
self.expect_nova_get("flavors",
198
response={'flavors': self.default_flavors})
200
provider = self.get_provider()
201
return provider.get_constraint_set()
204
def test_parse_scheduler_hints_one(self):
205
cs = yield self.create_constraint_set()
206
c = cs.parse(["os-scheduler-hints={\"hint-key\": \"hint-val\"}"])
207
self.assertEqual({"hint-key": "hint-val"}, c["os-scheduler-hints"])
210
def test_parse_scheduler_hints_bad_value(self):
211
cs = yield self.create_constraint_set()
212
err = self.assertRaises(errors.ConstraintError,
213
cs.parse, ["os-scheduler-hints=notjson"])
214
self.assertRegexpMatches(str(err),
215
"Bad 'os-scheduler-hints' constraint 'notjson': .*")
218
def test_parse_scheduler_hints_bad_array(self):
219
cs = yield self.create_constraint_set()
220
err = self.assertRaises(errors.ConstraintError,
221
cs.parse, ["os-scheduler-hints=[]"])
222
self.assertRegexpMatches(str(err),
223
"Bad 'os-scheduler-hints' constraint '\\[\\]': .*")