def test_precise_only_constraints(self): provider = MachineProvider("blah", CONFIG) cs = yield provider.get_constraint_set() e = self.assertRaises( ConstraintError, cs.parse([]).with_series, "not-precise") self.assertEquals( str(e), "Bad 'ubuntu-series' constraint 'not-precise': MAAS currently " "only provisions machines running precise")
def test_constraints(self): provider = MachineProvider("blah", CONFIG) cs = yield provider.get_constraint_set() self.assertEquals(cs.parse([]), { "provider-type": "maas", "ubuntu-series": None, "maas-name": None}) self.assertEquals(cs.parse(["maas-name=totoro"]), { "provider-type": "maas", "ubuntu-series": None, "maas-name": "totoro"}) bill = cs.parse(["maas-name=bill"]).with_series("precise") ben = cs.parse(["maas-name=ben"]).with_series("precise") nil = cs.parse([]).with_series("precise") self.assertTrue(bill.can_satisfy(bill)) self.assertTrue(bill.can_satisfy(nil)) self.assertTrue(ben.can_satisfy(ben)) self.assertTrue(ben.can_satisfy(nil)) self.assertTrue(nil.can_satisfy(nil)) self.assertFalse(nil.can_satisfy(bill)) self.assertFalse(nil.can_satisfy(ben)) self.assertFalse(ben.can_satisfy(bill)) self.assertFalse(bill.can_satisfy(ben))