def test_enable_preserved(self, user): user.make_preserved_user() command = user.make_enable_command() with raises_exact(errors.MidairCollision( message=u'change collided with another change')): command() user.delete()
raise errors.NotFound(reason=arg_desc) except ldap.ALREADY_EXISTS, e: raise errors.DuplicateEntry() except ldap.CONSTRAINT_VIOLATION, e: # This error gets thrown by the uniqueness plugin if info.startswith('Another entry with the same attribute value already exists'): raise errors.DuplicateEntry() else: raise errors.DatabaseError(desc=desc,info=info) except ldap.INSUFFICIENT_ACCESS, e: raise errors.ACIError(info=info) except ldap.NO_SUCH_ATTRIBUTE: # this is raised when a 'delete' attribute isn't found. # it indicates the previous attribute was removed by another # update, making the oldentry stale. raise errors.MidairCollision() except ldap.ADMINLIMIT_EXCEEDED, e: raise errors.LimitsExceeded() except ldap.SIZELIMIT_EXCEEDED, e: raise errors.LimitsExceeded() except ldap.TIMELIMIT_EXCEEDED, e: raise errors.LimitsExceeded() except ldap.LDAPError, e: raise errors.DatabaseError(desc=desc,info=info) def __wait_for_connection(self, timeout): lurl = ldapurl.LDAPUrl(self.uri) if lurl.urlscheme == 'ldapi': wait_for_open_socket(lurl.hostport, timeout) else: (host,port) = lurl.hostport.split(':')