def validate(self): scoped = 'tenant' in self.token catalog = self.root.get('serviceCatalog') if catalog and not scoped: msg = 'You cannot have a service catalog on an unscoped token' raise exception.FixtureValidationError(msg) if scoped and not self.user.get('roles'): msg = 'You must have roles on a token to scope it' raise exception.FixtureValidationError(msg)
def validate(self): project = self.root.get('project') domain = self.root.get('domain') trust = self.root.get('OS-TRUST:trust') catalog = self.root.get('catalog') roles = self.root.get('roles') scoped = project or domain or trust if sum((bool(project), bool(domain), bool(trust))) > 1: msg = 'You cannot scope to multiple targets' raise exception.FixtureValidationError(msg) if catalog and not scoped: msg = 'You cannot have a service catalog on an unscoped token' raise exception.FixtureValidationError(msg) if scoped and not self.user.get('roles'): msg = 'You must have roles on a token to scope it' raise exception.FixtureValidationError(msg) if bool(scoped) != bool(roles): msg = 'You must be scoped to have roles and vice-versa' raise exception.FixtureValidationError(msg)