Ejemplo n.º 1
0
    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')
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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')
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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'))
Ejemplo n.º 8
0
    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'))
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
    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)
Ejemplo n.º 12
0
    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')
Ejemplo n.º 13
0
    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')
Ejemplo n.º 14
0
    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')
Ejemplo n.º 15
0
    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
        })
Ejemplo n.º 16
0
    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
                       })
Ejemplo n.º 17
0
    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')
Ejemplo n.º 18
0
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)
Ejemplo n.º 19
0
    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
        })
Ejemplo n.º 20
0
    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
                       })
Ejemplo n.º 21
0
    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)
Ejemplo n.º 22
0
 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)
Ejemplo n.º 23
0
    def test_resend_with_invites_disabled(self):
        ConfigDAO.get('invitations', 'enabled').AndReturn(False)

        self.mox.ReplayAll()
        self.interact({}, expected_status_code=400)
Ejemplo n.º 24
0
 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)
Ejemplo n.º 25
0
 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))
Ejemplo n.º 26
0
 def test_get_none(self):
     self.assertEquals(None, ConfigDAO.get(self.group, "non-existing var"))
Ejemplo n.º 27
0
 def test_get(self):
     self.assertEquals(self.value, ConfigDAO.get(self.group, self.name))
Ejemplo n.º 28
0
 def test_get(self):
     self.assertEquals(self.value, ConfigDAO.get(self.group, self.name))
Ejemplo n.º 29
0
 def test_get_none(self):
     self.assertEquals(None, ConfigDAO.get(self.group, 'non-existing var'))
Ejemplo n.º 30
0
 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))
Ejemplo n.º 31
0
    def test_resend_with_invites_disabled(self):
        ConfigDAO.get('invitations', 'enabled').AndReturn(False)

        self.mox.ReplayAll()
        self.interact({}, expected_status_code=400)