def test_invite_user_from_allowed_domain(self): (name, email, passw) = ('user-a', '*****@*****.**', 'bananas') link_template = 'http://altai.example.com/invite?code={{code}}' post_params = { "name": name, "email": email, "password": passw, "invite": True, "link-template": link_template } ConfigDAO.get('invitations', 'enabled').AndReturn(True) ConfigDAO.get('invitations', 'domains-allowed')\ .AndReturn(['example.net', 'example.com']) user_mgr = self.fake_client_set.identity_admin.users user_mgr.list().AndReturn([self.user]) user_mgr.create( name=name, password=passw, email=email, enabled=False).AndReturn('NEW_USER') users._invite_user('NEW_USER', post_params) \ .AndReturn('new-user-dict') self.mox.ReplayAll() data = self._interact(post_params) self.assertEquals(data, 'new-user-dict')
def test_reset_password(self): uid, name, email, code = 'UID', 'NAME', 'EM@IL', 'THE_CODE' params = {'name': 'USERNAME', 'link-template': 'LINK_TEMPLATE'} user = doubles.make(self.mox, doubles.User, name=name, id=uid, email=email, fullname='') token = Token(user_id=uid, email=email, code=code) ConfigDAO.get('password-reset', 'enabled').AndReturn(True) me._find_user(params).AndReturn(user) me.ResetTokensDAO.create(uid, email).AndReturn(token) me.send_reset_password(email, code, name, link_template='LINK_TEMPLATE', greeting='') self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password', data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=204)
def test_invite_user_from_allowed_domain(self): (name, email, passw) = ('user-a', '*****@*****.**', 'bananas') link_template = 'http://altai.example.com/invite?code={{code}}' post_params = { "name": name, "email": email, "password": passw, "invite": True, "link-template": link_template } ConfigDAO.get('invitations', 'enabled').AndReturn(True) ConfigDAO.get('invitations', 'domains-allowed')\ .AndReturn(['example.net', 'example.com']) user_mgr = self.fake_client_set.identity_admin.users user_mgr.list().AndReturn([self.user]) user_mgr.create(name=name, password=passw, email=email, enabled=False).AndReturn('NEW_USER') users._invite_user('NEW_USER', post_params) \ .AndReturn('new-user-dict') self.mox.ReplayAll() data = self._interact(post_params) self.assertEquals(data, 'new-user-dict')
def test_reset_password_disabled(self): params = {'name': 'USERNAME', 'link-template': 'LINK_TEMPLATE'} ConfigDAO.get('password-reset', 'enabled').AndReturn(False) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password', data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=404)
def test_apply_password_reset_disabled(self): params = { 'password': '******' } ConfigDAO.get('password-reset', 'enabled').AndReturn(False) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password/THE_CODE', data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=404)
def test_apply_password_reset_disabled(self): params = {'password': '******'} ConfigDAO.get('password-reset', 'enabled').AndReturn(False) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password/THE_CODE', data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=404)
def test_apply_password_reset_empty(self): params = { } ConfigDAO.get('password-reset', 'enabled').AndReturn(True) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password/code', data=json.dumps(params), content_type='application/json') data = self.check_and_parse_response(rv, status_code=400) self.assertEquals('password', data.get('element-name'))
def test_apply_password_reset_extra(self): params = {'password': '******', 'fullname': 'Cannot Be Set'} ConfigDAO.get('password-reset', 'enabled').AndReturn(True) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password/code', data=json.dumps(params), content_type='application/json') data = self.check_and_parse_response(rv, status_code=400) self.assertEquals('fullname', data.get('element-name'))
def test_reset_password_disabled(self): params = { 'name': 'USERNAME', 'link-template': 'LINK_TEMPLATE' } ConfigDAO.get('password-reset', 'enabled').AndReturn(False) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password', data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=404)
def test_apply_password_reset_complete(self): uid, code = 'UID', 'THE_CODE' token = Token(user_id=uid, code=code, complete=True) params = { 'password': '******' } ConfigDAO.get('password-reset', 'enabled').AndReturn(True) me.ResetTokensDAO.get('THE_CODE').AndReturn(token) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password/%s' % code, data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=404)
def test_apply_password_reset_complete(self): uid, code = 'UID', 'THE_CODE' token = Token(user_id=uid, code=code, complete=True) params = {'password': '******'} ConfigDAO.get('password-reset', 'enabled').AndReturn(True) me.ResetTokensDAO.get('THE_CODE').AndReturn(token) self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password/%s' % code, data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=404)
def test_resend_no_mail(self): ConfigDAO.get('invitations', 'enabled').AndReturn(True) self.fake_client_set.identity_admin.users.get(self.uid)\ .AndReturn(self.user) users.InvitesDAO.create(self.uid, self.user.email)\ .AndReturn(self.invite) users.auth.assert_admin() users.user_to_view(self.user, self.invite, send_code=True)\ .AndReturn('REPLY') self.mox.ReplayAll() data = self.interact({'send-invite-mail': False}) self.assertEquals(data, 'REPLY')
def test_resend_works(self): ConfigDAO.get('invitations', 'enabled').AndReturn(True) self.fake_client_set.identity_admin.users.get(self.uid)\ .AndReturn(self.user) users.InvitesDAO.create(self.uid, self.user.email)\ .AndReturn(self.invite) users.send_invitation(self.user.email, self.invite.code, None, greeting=self.user.fullname) users.user_to_view(self.user, self.invite, send_code=False)\ .AndReturn('REPLY') self.mox.ReplayAll() data = self.interact({}) self.assertEquals(data, 'REPLY')
def test_invites_disabled(self): (name, email, passw) = ('user-a', '*****@*****.**', 'bananas') link_template = 'http://altai.example.com/invite?code={{code}}' ConfigDAO.get('invitations', 'enabled').AndReturn(False) self.mox.ReplayAll() self._interact(expected_status_code=400, data={ "name": name, "email": email, "password": passw, "admin": False, "invite": True, "link-template": link_template })
def get_var(argv): if len(argv) != 3: show_help(argv) group, name = argv[2].split('.', 1) value = ConfigDAO.get(group, name) if value is not None: print json.dumps(value, indent=4, sort_keys=True)
def test_invite_user_from_bad_domain(self): (name, email, passw) = ('user-a', '*****@*****.**', 'bananas') link_template = 'http://altai.example.com/invite?code={{code}}' ConfigDAO.get('invitations', 'enabled').AndReturn(True) ConfigDAO.get('invitations', 'domains-allowed')\ .AndReturn(['example.net', 'griddynamics.net']) self.mox.ReplayAll() self._interact(expected_status_code=403, data={ "name": name, "email": email, "password": passw, "admin": False, "invite": True, "link-template": link_template })
def test_reset_password(self): uid, name, email, code = 'UID', 'NAME', 'EM@IL', 'THE_CODE' params = { 'name': 'USERNAME', 'link-template': 'LINK_TEMPLATE' } user = doubles.make(self.mox, doubles.User, name=name, id=uid, email=email, fullname='') token = Token(user_id=uid, email=email, code=code) ConfigDAO.get('password-reset', 'enabled').AndReturn(True) me._find_user(params).AndReturn(user) me.ResetTokensDAO.create(uid, email).AndReturn(token) me.send_reset_password(email, code, name, link_template='LINK_TEMPLATE', greeting='') self.mox.ReplayAll() rv = self.client.post('/v1/me/reset-password', data=json.dumps(params), content_type='application/json') self.check_and_parse_response(rv, status_code=204)
def test_resend_user_not_found(self): ConfigDAO.get('invitations', 'enabled').AndReturn(True) self.fake_client_set.identity_admin.users.get(self.uid)\ .AndRaise(osc_exc.NotFound('failure')) self.mox.ReplayAll() self.interact({}, expected_status_code=404)
def test_resend_with_invites_disabled(self): ConfigDAO.get('invitations', 'enabled').AndReturn(False) self.mox.ReplayAll() self.interact({}, expected_status_code=400)
def test_set(self): new_value = {"new": "value"} ConfigDAO.set_to(self.group, self.name, new_value) self.assertEquals(new_value, ConfigDAO.get(self.group, self.name))
def test_get_none(self): self.assertEquals(None, ConfigDAO.get(self.group, "non-existing var"))
def test_get(self): self.assertEquals(self.value, ConfigDAO.get(self.group, self.name))
def test_get_none(self): self.assertEquals(None, ConfigDAO.get(self.group, 'non-existing var'))
def test_set(self): new_value = {'new': 'value'} ConfigDAO.set_to(self.group, self.name, new_value) self.assertEquals(new_value, ConfigDAO.get(self.group, self.name))