def test_delete(self): """Testa delete contatto""" environ = {'REMOTE_USER': '******'} resp = self.app.post('/save', extra_environ=environ, status=200) form = resp.form form['nome'] = 'manager' form['telefono'] = '123456' form.submit(extra_environ=environ) contatti = DBSession.query(Contatto).all() last = contatti[-1] self.app.get('/delete?item_id={}'.format(last.id), extra_environ=environ, status=302) contatti = DBSession.query(Contatto).all() contatto2 = contatti[-1] ok_(last != contatto2) resp = self.app.post('/delete?item_id=999', extra_environ=environ, status=302) ok_('Set-Cookie:', 'Il contatto non esiste' in resp.headers) resp = self.app.post('/save', extra_environ=environ, status=200) form = resp.form form['nome'] = 'manager' form['telefono'] = '123456' form.submit(extra_environ=environ) contatti = DBSession.query(Contatto).all() last = contatti[-1] environ = {'REMOTE_USER': '******'} resp = self.app.get('/delete?item_id={}'.format(last.id), extra_environ=environ, status=302) ok_('Set-Cookie:', 'Non puoi eliminare questo contatto' in resp.headers)
def delete(self, item_id): """Elimina contatto""" if not DBSession.query(exists().where(Contatto.id == item_id)).scalar(): flash(_("Il contatto non esiste")) redirect('/index') if DBSession.query(Contatto).get(item_id) in request.identity['user'].contacts: contatto = DBSession.query(Contatto).get(item_id) DBSession.delete(contatto) redirect('/index') else: flash(_("Non puoi eliminare questo contatto")) redirect('/index')
def setting(self, **kw): try: user = DBSession.query(User)\ .filter_by(user_id=request.identity['user'].user_id).one() return dict(page='setting', user=user) except: return dict(page='setting')
def test_esponi(self): """Testa se il response di esponi è corretto""" environ = {'REMOTE_USER': '******'} resp = self.app.get('/esponi', extra_environ=environ, status=200) contatto1 = DBSession.query(Contatto).first() string = '"phone": "{}", "id": {}, "name": "{}"'.format( contatto1.phone, contatto1.id, contatto1.name) resp.mustcontain(string)
def test_index(self): """Testa il response di index""" res = self.app.get('/index', ) ok_(res.location.startswith('http://localhost/login')) "Testa il response da loggati" environ = {'REMOTE_USER': '******'} resp = self.app.get('/index', extra_environ=environ, status=200) contatto1 = DBSession.query(Contatto).first() msg1 = "<td>{}</td><td>{}</td>".format(contatto1.name, contatto1.phone) resp.mustcontain(msg1)
def index(self, **kw): """handle index page""" if not request.identity: redirect('/login') data = DBSession.query(Contatto).filter_by(owner=request.identity['user'].user_id) ordering = kw.get('ordercol') if ordering and ordering[0] == '+': data = data.order_by(asc(ordering[1:])) elif ordering and ordering[0] == '-': data = data.order_by(desc(ordering[1:])) return dict(page='index', grid=tabella, data=data)
def search(self, search): if not search: redirect('/home') else: try: contact = DBSession.query(Rubrica).\ filter(Rubrica.parent_id==request.identity['user'].user_id). \ filter(Rubrica.user_name.like(f"%{search}%")).\ order_by(Rubrica.user_name).all() return dict(page='home', contact=contact) except: redirect('/home')
def test_save(self): """Testa il save dei contatti""" environ = {'REMOTE_USER': '******'} resp = self.app.post('/save', extra_environ=environ, status=200) form = resp.form form['nome'] = 'manager' form['telefono'] = '123456' form.submit(extra_environ=environ) contatti = DBSession.query(Contatto).all() last = contatti[-1] eq_(last.name, 'manager') eq_(last.phone, '123456') "Testa input errato" environ = {'REMOTE_USER': '******'} resp = self.app.post('/save', extra_environ=environ, status=200) form = resp.form form['nome'] = '123' form['telefono'] = 'abc' form.submit(extra_environ=environ, status=200) contatto = DBSession.query(Contatto).all() last = contatto[-1] ok_(last.name != '123')
def setUp(self): """Setup test fixture for each model test method.""" try: new_attrs = {} new_attrs.update(self.attrs) new_attrs.update(self.do_get_dependencies()) self.obj = self.klass(**new_attrs) DBSession.add(self.obj) DBSession.flush() return self.obj except: DBSession.rollback() raise
def download(self): """Download della rubrica""" data = DBSession.query(Contatto).filter_by(owner=request.identity['user'].user_id).all() response.content_type = 'applications/json' response.headerlist.append(('Content-Disposition', 'attachment;filename=rubrica.json')) return dict(data=data)
def by_email_address(cls, email): """Return the user object whose email address is ``email``.""" return DBSession.query(cls).filter_by(email_address=email).first()
def by_user_name(cls, username): """Return the user object whose user name is ``username``.""" return DBSession.query(cls).filter_by(user_name=username).first()
def esponi(self): """Espone la rubrica in formato JSON""" data = DBSession.query(Contatto).filter_by(owner=request.identity['user'].user_id).all() return dict(data=data)
def home(self, *args): contact = DBSession.query(Rubrica).\ filter_by(parent_id=request.identity['user'].user_id).\ order_by(Rubrica.user_name).all() return dict(page='home', contact=contact)
def jp(self): contact = DBSession.query(Rubrica.user_name, Rubrica.user_Number).\ filter_by(parent_id=request.identity['user'].user_id).all() return dict(contact=contact)
def save(self, **kw): """Salva il contatto aggiunto con add""" contatto = Contatto(name=kw['nome'], phone=kw['telefono']) request.identity['user'].contacts.append(contatto) DBSession.add(contatto) redirect('/index')
def tearDown(self): """Tear down test fixture for each model test method.""" DBSession.rollback()
def test_query_obj(self): """Model objects can be queried""" obj = DBSession.query(self.klass).one() for key, value in self.attrs.items(): eq_(getattr(obj, key), value)
def delete(self, id): obj = DBSession.query(Rubrica).filter_by(user_id=id).one() model.DBSession.delete(obj) model.DBSession.flush() redirect('/home')