def test_user_project_manager__logged_in_as_admin(self): httpretty.enable() from osmtm.models import User, DBSession import transaction userid = 5463 username = u'simon_user' user = User(userid, username) DBSession.add(user) DBSession.flush() transaction.commit() httpretty.register_uri( httpretty.GET, "http://www.openstreetmap.org/api/0.6/user/%s" % userid, body='<?xml version="1.0" encoding="UTF-8"?>' + '<osm> <user display_name="%s"></user></osm>' % username, content_type='application/xml; charset=utf-8') headers = self.login_as_admin() res = self.testapp.get('/user/%d/project_manager' % userid, headers=headers, status=302) res2 = res.follow(headers=headers, status=200) self.failUnless('This user is a project manager' in res2.body) DBSession.delete(user) transaction.commit()
def test_user__username_change(self): httpretty.enable() from osmtm.models import User, DBSession import transaction userid = 11 username = u'new_user' user = User(userid, username) DBSession.add(user) DBSession.flush() transaction.commit() new_username = username + '_changed' httpretty.register_uri( httpretty.GET, "http://www.openstreetmap.org/api/0.6/user/%s" % userid, body='<?xml version="1.0" encoding="UTF-8"?>' + '<osm> <user display_name="%s"></user></osm>' % new_username, content_type='application/xml; charset=utf-8') self.testapp.get('/user/%s' % username, status=302) user = DBSession.query(User).get(userid) self.assertEqual(user.username, new_username) DBSession.delete(user) transaction.commit()
def test_user_admin__logged_in_as_admin(self): from osmtm.models import User, DBSession import transaction userid = 5463 username = u'dude_user' user = User(userid, username, False) DBSession.add(user) DBSession.flush() transaction.commit() headers = self.login_as_admin() res = self.testapp.get('/user/%d/admin' % userid, headers=headers, status=302) res2 = res.follow(headers=headers, status=200) self.failUnless('dude_user' in res2.body) self.failUnless('This user is an administrator' in res2.body) DBSession.delete(user) transaction.commit()
def test_label_edit__submitted(self): import transaction from osmtm.models import DBSession, Label headers = self.login_as_admin() label = Label() label.name = 'some name' DBSession.add(label) DBSession.flush() label_id = label.id transaction.commit() self.testapp.post('/label/%s/edit' % label_id, headers=headers, params={ 'form.submitted': True, 'name': 'changed_name', 'color': '#ff0000', }, status=302) self.assertEqual(DBSession.query(Label).get(label_id).name, u'changed_name') DBSession.delete(label) transaction.commit()