def edit(real_user, user, file, **kwargs): """ Editing of the campaigns. Supports editing one param at a time. Uses the FieldEditor paradigm. """ editor = Editor(file) editor.edit(real_user, user, file, **kwargs) Session.flush() Session.refresh(file) return file
def edit(real_user, user, change, **kwargs): """ Editing of the campaigns. Supports editing one param at a time. Uses the FieldEditor paradigm. """ editor = Editor() editor.edit(real_user, user, change, **kwargs) Session.flush() Session.refresh(change) return change
def test_all(self): a = fh.create_user(is_admin=True) org_owner = fh.create_user() inviteme = fh.create_user(email="*****@*****.**") org = fh.create_organization(user=org_owner, subdomain='cats', name='CATS!') project = fh.create_project(user=org_owner, organization=org, name=u"helloooo") change = project.add_change(org_owner, u"/main/project/arnold/foobar.gif", file_path('ffcc00.gif'), u"this is a new change") file = change.entity self.flush() email = '*****@*****.**' #invite user not in the system to file invite = api.invite.create(a, org_owner, email, entity=file) #based on email only assert self.throws_exception(lambda: api.invite.create(a, org_owner, email, entity=file)).code == err.DUPLICATE assert invite.role == APP_ROLE_READ assert invite.invited_user == None assert invite.user == org_owner assert invite.invited_email == email assert invite.object == file emails = self.get_sent_mails() assert len(emails) == 1 assert api.invite.get(invite.eid) == invite #need to create a new user to accept u = fh.create_user(email=email, username=email) self.flush() api.invite.accept(u, u, invite.eid) self.flush() Session.refresh(invite) assert invite.invited_user == u assert invite.status == STATUS_APPROVED #invite user in system to proj invite = api.invite.create(org_owner, org_owner, email, project=project) assert invite.invited_user == u assert invite.invited_email == email assert invite.object == project emails = self.get_sent_mails() assert len(emails) == 2 api.invite.reject(u, u, invite.eid) self.flush() Session.refresh(invite) assert invite.invited_user == u assert invite.status == STATUS_REJECTED #invite user in system to org invite = api.invite.create(org_owner, org_owner, email, organization=org, role=APP_ROLE_WRITE) assert invite.object == org emails = self.get_sent_mails() assert len(emails) == 3 # FAIL #already invited assert self.throws_exception(lambda: api.invite.create(a, org_owner, email, entity=file)).code == err.DUPLICATE #no params ex = self.throws_exception(lambda: api.invite.create(org_owner, org_owner, email)).code assert ex# == err.NOT_FOUND #not in org at all assert self.throws_exception(lambda: api.invite.create(inviteme, inviteme, email, organization=org)).code == err.FORBIDDEN #in org as writer assert self.throws_exception(lambda: api.invite.create(u, u, email, entity=file)).code == err.FORBIDDEN #validation assert 'email' in self.throws_exception(lambda: api.invite.create(org_owner, org_owner, '', entity=file)).error_dict
def test_all(self): a = fh.create_user(is_admin=True) org_owner = fh.create_user() inviteme = fh.create_user(email="*****@*****.**") org = fh.create_organization(user=org_owner, subdomain='cats', name='CATS!') project = fh.create_project(user=org_owner, organization=org, name=u"helloooo") change = project.add_change(org_owner, u"/main/project/arnold/foobar.gif", file_path('ffcc00.gif'), u"this is a new change") file = change.entity self.flush() email = '*****@*****.**' #invite user not in the system to file invite = api.invite.create(a, org_owner, email, entity=file) #based on email only assert self.throws_exception(lambda: api.invite.create( a, org_owner, email, entity=file)).code == err.DUPLICATE assert invite.role == APP_ROLE_READ assert invite.invited_user == None assert invite.user == org_owner assert invite.invited_email == email assert invite.object == file emails = self.get_sent_mails() assert len(emails) == 1 assert api.invite.get(invite.eid) == invite #need to create a new user to accept u = fh.create_user(email=email, username=email) self.flush() api.invite.accept(u, u, invite.eid) self.flush() Session.refresh(invite) assert invite.invited_user == u assert invite.status == STATUS_APPROVED #invite user in system to proj invite = api.invite.create(org_owner, org_owner, email, project=project) assert invite.invited_user == u assert invite.invited_email == email assert invite.object == project emails = self.get_sent_mails() assert len(emails) == 2 api.invite.reject(u, u, invite.eid) self.flush() Session.refresh(invite) assert invite.invited_user == u assert invite.status == STATUS_REJECTED #invite user in system to org invite = api.invite.create(org_owner, org_owner, email, organization=org, role=APP_ROLE_WRITE) assert invite.object == org emails = self.get_sent_mails() assert len(emails) == 3 # FAIL #already invited assert self.throws_exception(lambda: api.invite.create( a, org_owner, email, entity=file)).code == err.DUPLICATE #no params ex = self.throws_exception( lambda: api.invite.create(org_owner, org_owner, email)).code assert ex # == err.NOT_FOUND #not in org at all assert self.throws_exception(lambda: api.invite.create( inviteme, inviteme, email, organization=org)).code == err.FORBIDDEN #in org as writer assert self.throws_exception(lambda: api.invite.create( u, u, email, entity=file)).code == err.FORBIDDEN #validation assert 'email' in self.throws_exception(lambda: api.invite.create( org_owner, org_owner, '', entity=file)).error_dict