Пример #1
0
    def test_usermodif(self):
        add_user("user1")
        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'SAVE': 'YES', 'user_actif': '3', "is_staff": '1',
                                          "is_superuser": '******', "first_name": 'foo', "last_name": 'SUPER', "email": '*****@*****.**'}, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')
        self.assertEqual(len(self.json_context), 6)
        self.assertEqual(self.json_context['user_actif'], '3')
        self.assertEqual(self.json_context['is_staff'], '1')
        self.assertEqual(self.json_context['is_superuser'], 'o')
        self.assertEqual(self.json_context['first_name'], 'foo')
        self.assertEqual(self.json_context['last_name'], 'SUPER')
        self.assertEqual(self.json_context['email'], '*****@*****.**')

        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'user_actif': '3'}, False)
        self.assert_json_equal('CHECK', "is_staff", '1')
        self.assert_json_equal('CHECK', "is_superuser", '1')
        self.assert_json_equal('EDIT', "first_name", 'foo')
        self.assert_json_equal('EDIT', "last_name", 'SUPER')
        self.assert_json_equal('EDIT', "email", '*****@*****.**')

        self.factory.xfer = AudiLogConfig()
        self.calljson('/CORE/audiLogConfig', {'type_selected': 'CORE.lucteriosuser'}, False)
        self.assert_count_equal('lucterioslogentry', 0)
Пример #2
0
    def test_useraddsave(self):
        group = LucteriosGroup.objects.create(name="my_group")
        group.permissions.set(Permission.objects.filter(id__in=[1, 3]))
        group.save()

        add_user("user1")
        add_user("user2")
        self.factory.xfer = UsersEdit()
        self.calljson(
            '/CORE/usersEdit', {
                'SAVE': 'YES',
                'username': '******',
                "is_staff": '0',
                "is_superuser": '******',
                "first_name": 'my',
                "last_name": 'BIG',
                "email": '*****@*****.**',
                'groups': '1',
                'user_permissions': '7;9;11'
            }, False)

        self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')
        self.assertEqual(len(self.json_context), 8)
        self.assertEqual(self.json_context['username'], 'newuser')
        self.assertEqual(self.json_context['is_staff'], '0')
        self.assertEqual(self.json_context['is_superuser'], '1')
        self.assertEqual(self.json_context['first_name'], 'my')
        self.assertEqual(self.json_context['last_name'], 'BIG')
        self.assertEqual(self.json_context['email'], '*****@*****.**')
        self.assertEqual(self.json_context['groups'], '1')
        self.assertEqual(self.json_context['user_permissions'], '7;9;11')

        self.assertEqual(5, len(LucteriosUser.objects.all()))

        user = LucteriosUser.objects.get(id=5)
        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'user_actif': '5'}, False)
        self.assertEqual(user.username, 'newuser')
        self.assertEqual(user.date_joined.strftime('%d %m %Y'),
                         date.today().strftime('%d %m %Y'))
        self.assertEqual(user.last_login.strftime('%d %m %Y'),
                         date.today().strftime('%d %m %Y'))
        self.assertEqual(user.is_staff, False)
        self.assertEqual(user.is_superuser, True)
        self.assertEqual(user.first_name, 'my')
        self.assertEqual(user.last_name, 'BIG')
        self.assertEqual(user.email, '*****@*****.**')
        groups = user.groups.all().order_by('id')
        self.assertEqual(len(groups), 1)
        self.assertEqual(groups[0].id, 1)
        perms = user.user_permissions.all().order_by('id')
        self.assertEqual(len(perms), 3)
        self.assertEqual(perms[0].id, 7)
        self.assertEqual(perms[1].id, 9)
        self.assertEqual(perms[2].id, 11)
Пример #3
0
 def fillresponse(self):
     img = XferCompImage('img')
     img.set_value(get_icon_path('lucterios.contacts/images/account.png'))
     img.set_location(0, 0, 1, 2)
     self.add_component(img)
     lab = XferCompLabelForm("title")
     lab.set_value_as_title(_('View my account.'))
     lab.set_location(1, 0, 2)
     self.add_component(lab)
     try:
         self.item = Individual.objects.get(user=self.request.user)
         self.item = self.item.get_final_child()
         self.model = Individual
         self.field_id = 'individual'
         self.params['individual'] = six.text_type(self.item.id)
         self.add_action(AccountAddModify.get_action(_("Edit"), "images/edit.png"), close=CLOSE_NO)
         is_individual = True
     except ObjectDoesNotExist:
         self.item = LucteriosUser.objects.get(id=self.request.user.id)
         self.add_action(UsersEdit.get_action(_("Edit"), "images/edit.png"),
                         close=CLOSE_NO, params={'user_actif': six.text_type(self.request.user.id)})
         is_individual = False
     self.fill_from_model(1, 1, True)
     if is_individual:
         legal_entities = LegalEntity.objects.filter(responsability__individual=self.item).exclude(id=1)
         if len(legal_entities) == 1:
             self.add_legalentity(legal_entities[0])
         elif len(legal_entities) > 1:
             self.add_legalentities(legal_entities)
         signal_and_lock.Signal.call_signal("add_account", self.item, self)
     self.add_action(WrapAction(_("Close"), "images/close.png"))
Пример #4
0
    def test_useradd(self):
        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {}, False)
        self.assert_observer('core.custom', 'CORE', 'usersEdit')
        self.assertEqual(self.json_meta['title'], 'Ajouter un utilisateur')
        self.assertEqual(len(self.json_context), 0)
        self.assertEqual(len(self.json_actions), 2)
        self.assert_count_equal('', 15)
        self.assert_action_equal(self.json_actions[0], ('Ok', 'images/ok.png', 'CORE', 'usersEdit', 1, 1, 1, {'SAVE': 'YES'}))
        self.assert_action_equal(self.json_actions[1], ('Annuler', 'images/cancel.png'))

        self.assert_json_equal('IMAGE', "img", '/static/lucterios.CORE/images/user.png')
        self.assert_coordcomp_equal("img", (0, 0, 1, 6))

        self.assert_coordcomp_equal("username", (1, 0, 1, 1))
        self.assert_attrib_equal("username", 'needed', 'True')
        self.assert_attrib_equal("username", 'description', "nom d'utilisateur")

        self.assert_json_equal('TAB', '__tab_1', "Informations")

        self.assert_comp_equal(('LABELFORM', "is_active"), True, (0, 0, 1, 1, 1))
        self.assert_comp_equal(('CHECK', "is_staff"), '0', (0, 1, 1, 1, 1))
        self.assert_comp_equal(('CHECK', "is_superuser"), '0', (0, 2, 1, 1, 1))
        self.assert_comp_equal(('EDIT', "first_name"), '', (0, 3, 1, 1, 1))
        self.assert_attrib_equal('first_name', 'needed', 'False')
        self.assert_comp_equal(('EDIT', "last_name"), '', (0, 4, 1, 1, 1))
        self.assert_comp_equal(('EDIT', "email"), '', (0, 5, 1, 1, 1))
        self.assert_comp_equal(('CHECK', "password_change"), '0', (0, 6, 1, 1, 1))
        self.assert_comp_equal(('PASSWD', "password1"), '', (0, 7, 1, 1))
        self.assert_comp_equal(('PASSWD', "password2"), '', (0, 8, 1, 1))

        self.assert_json_equal('TAB', '__tab_2', "Permissions")
        self.assert_comp_equal(('CHECKLIST', "groups"), [], (0, 0, 3, 1))
        self.assert_comp_equal(('CHECKLIST', "user_permissions"), [], (0, 1, 3, 1))
Пример #5
0
 def test_user_withconfig(self):
     configSMTP('localhost', 1025)
     self.factory.xfer = UsersEdit()
     self.call('/CORE/usersEdit', {}, False)
     self.assert_observer('core.custom', 'CORE', 'usersEdit')
     self.assert_count_equal('COMPONENTS/*', 30)
     self.assert_attrib_equal('COMPONENTS/CHECK[@name="password_generate"]',
                              "description",
                              "Générer un nouveau mot de passe?")
Пример #6
0
    def test_auditlog_user(self):
        LucteriosAuditlogModelRegistry.set_state_packages(['CORE'])

        self.factory.xfer = AudiLogConfig()
        self.calljson('/CORE/audiLogConfig',
                      {'type_selected': 'CORE.lucteriosuser'}, False)
        self.assert_count_equal('lucterioslogentry', 0)

        self.factory.xfer = UsersList()
        self.calljson('/CORE/usersList', {}, False)
        self.assert_observer('core.custom', 'CORE', 'usersList')
        self.assert_count_equal('user_actif', 2)
        self.assert_count_equal('user_inactif', 0)

        self.factory.xfer = UsersEdit()
        self.calljson(
            '/CORE/usersEdit', {
                'SAVE': 'YES',
                'username': '******',
                'first_name': 'John',
                'last_name': 'Doe',
                'user_permissions': '1;3;4'
            }, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')

        self.factory.xfer = AudiLogConfig()
        self.calljson('/CORE/audiLogConfig',
                      {'type_selected': 'CORE.lucteriosuser'}, False)
        self.assert_count_equal('lucterioslogentry', 1)

        self.factory.xfer = UsersDisabled()
        self.calljson('/CORE/usersDisabled', {'user_actif': '3'}, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersDisabled')

        self.factory.xfer = AudiLogConfig()
        self.calljson('/CORE/audiLogConfig',
                      {'type_selected': 'CORE.lucteriosuser'}, False)
        self.assert_count_equal('lucterioslogentry', 2)

        self.factory.xfer = UsersDelete()
        self.calljson('/CORE/usersDelete', {
            'user_actif': '3',
            "CONFIRME": 'YES'
        }, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersDelete')

        self.factory.xfer = AudiLogConfig()
        self.calljson('/CORE/audiLogConfig',
                      {'type_selected': 'CORE.lucteriosuser'}, False)
        self.assert_count_equal('lucterioslogentry', 3)
        self.assert_json_equal('', 'lucterioslogentry/@0/action', 2)
        self.assert_json_equal('', 'lucterioslogentry/@0/object_repr', "abc")
        self.assert_json_equal('', 'lucterioslogentry/@1/action', 1)
        self.assert_json_equal('', 'lucterioslogentry/@1/object_repr', "abc")
        self.assert_json_equal('', 'lucterioslogentry/@2/action', 0)
        self.assert_json_equal('', 'lucterioslogentry/@2/object_repr', "abc")
Пример #7
0
    def test_userpassword(self):
        user = add_user("user1")
        user.set_password('user')
        user.save()

        user = LucteriosUser.objects.get(id=3)
        self.assertTrue(user.check_password('user'), 'init')

        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'SAVE': 'YES', 'user_actif': '3',
                                          'password_change': 'o', 'password1': 'abc', 'password2': '132'}, False)
        self.assert_observer('core.exception', 'CORE', 'usersEdit')
        self.assert_json_equal('', 'message', 'Les mots de passes sont différents!')
        self.assert_json_equal('', 'code', '3')

        user = LucteriosUser.objects.get(id=3)
        self.assertTrue(user.check_password('user'), 'after different')

        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'SAVE': 'YES', 'user_actif': '3',
                                          'password_change': 'n', 'password1': '', 'password2': ''}, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')
        user = LucteriosUser.objects.get(id=3)
        self.assertTrue(user.check_password('user'), 'after empty')

        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'SAVE': 'YES', 'user_actif': '3',
                                          'password_change': 'o', 'password1': 'abc', 'password2': 'abc'}, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')
        user = LucteriosUser.objects.get(id=3)
        self.assertTrue(user.check_password('abc'), 'success after change')
        self.assertFalse(user.check_password('user'), 'wrong after change')

        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'SAVE': 'YES', 'user_actif': '3',
                                          'password_change': 'o', 'password1': '', 'password2': ''}, False)
        self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')
        user = LucteriosUser.objects.get(id=3)
        self.assertTrue(user.check_password(''), 'success after change')
        self.assertFalse(user.check_password('abc'), 'wrong1 after change')
        self.assertFalse(user.check_password('user'), 'wrong2 after change')
Пример #8
0
    def test_useredit(self):
        add_user("user1")
        self.factory.xfer = UsersEdit()
        self.calljson('/CORE/usersEdit', {'user_actif': '3'}, False)
        self.assert_observer('core.custom', 'CORE', 'usersEdit')
        self.assertEqual(self.json_meta['title'], 'Modifier un utilisateur')
        self.assertEqual(self.json_context['user_actif'], '3')
        self.assertEqual(len(self.json_actions), 3)
        self.assert_action_equal(
            self.json_actions[0],
            ('Ok', 'images/ok.png', 'CORE', 'usersEdit', 1, 1, 1, {
                'SAVE': 'YES'
            }))
        self.assert_action_equal(self.json_actions[1],
                                 ('Désactiver', 'images/delete.png', 'CORE',
                                  'usersDisabled', 0, 1, 1))
        self.assert_action_equal(self.json_actions[2],
                                 ('Annuler', 'images/cancel.png'))

        self.assert_json_equal('IMAGE', "img",
                               '/static/lucterios.CORE/images/user.png')
        self.assert_coordcomp_equal("img", (0, 0, 1, 6))

        self.assert_coordcomp_equal('username', (1, 0, 1, 1))
        self.assert_json_equal('LABELFORM', "username", 'user1')
        self.assert_coordcomp_equal('date_joined', (0, 1, 1, 1))
        self.assert_json_equal('LABELFORM', "date_joined",
                               date.today().isoformat(), True)
        self.assert_coordcomp_equal('last_login', (0, 2, 1, 1))
        self.assert_json_equal('LABELFORM', "last_login",
                               date.today().isoformat(), True)

        self.assert_json_equal('TAB', '__tab_1', "Informations")

        self.assert_json_equal('CHECK', "is_staff", '0')
        self.assert_json_equal('CHECK', "is_superuser", '0')
        self.assert_json_equal('EDIT', "first_name", 'user1')
        self.assert_json_equal('EDIT', "last_name", 'USER1')
        self.assert_json_equal('EDIT', "email", '')

        self.assert_json_equal('CHECK', "password_change", "0")
        self.assert_json_equal('PASSWD', "password1", '')
        self.assert_json_equal('PASSWD', "password2", '')

        self.assert_json_equal('TAB', '__tab_2', "Permissions")
        self.assert_comp_equal(('CHECKLIST', "groups"), [], (0, 0, 3, 1))
        self.assert_comp_equal(('CHECKLIST', "user_permissions"), [],
                               (0, 1, 3, 1))
Пример #9
0
 def test_user_change_password(self):
     configSMTP('localhost', 1025)
     self.assertEqual(0, self.server.count())
     self.factory.xfer = UsersEdit()
     self.call(
         '/CORE/usersEdit', {
             'SAVE': 'YES',
             'user_actif': '1',
             "password_generate": 'o',
             "email": '*****@*****.**'
         }, False)
     self.assert_observer('core.acknowledge', 'CORE', 'usersEdit')
     self.assertEqual(1, self.server.count())
     msg, = self.server.check_first_message('Mot de passe de connexion', 1)
     self.assertEqual('text/plain', msg.get_content_type())
     self.assertEqual('base64', msg.get('Content-Transfer-Encoding', ''))
     content_msg = decode_b64(msg.get_payload())
     self.assertEqual(
         'Confirmation de connexion à votre application:\nAlias:admin\nMot de passe:',
         decode_b64(msg.get_payload())[:72])
     password = content_msg[72:].strip()
     user = LucteriosUser.objects.get(id=1)
     self.assertTrue(user.check_password(password), content_msg)
Пример #10
0
 def fillresponse(self):
     img = XferCompImage('img')
     img.set_value(get_icon_path('lucterios.contacts/images/account.png'))
     img.set_location(0, 0, 1, 2)
     self.add_component(img)
     lab = XferCompLabelForm("title")
     lab.set_value_as_title(_('View my account.'))
     lab.set_location(1, 0, 2)
     self.add_component(lab)
     try:
         self.item = Individual.objects.get(user=self.request.user)
         self.item = self.item.get_final_child()
         self.model = Individual
         self.field_id = 'individual'
         self.params['individual'] = six.text_type(self.item.id)
         self.add_action(AccountAddModify.get_action(
             _("Edit"), "images/edit.png"),
                         close=CLOSE_NO)
         is_individual = True
     except ObjectDoesNotExist:
         self.item = LucteriosUser.objects.get(id=self.request.user.id)
         self.add_action(
             UsersEdit.get_action(_("Edit"), "images/edit.png"),
             close=CLOSE_NO,
             params={'user_actif': six.text_type(self.request.user.id)})
         is_individual = False
     self.fill_from_model(1, 1, True)
     if is_individual:
         legal_entities = LegalEntity.objects.filter(
             responsability__individual=self.item).exclude(id=1)
         if len(legal_entities) == 1:
             self.add_legalentity(legal_entities[0])
         elif len(legal_entities) > 1:
             self.add_legalentities(legal_entities)
         signal_and_lock.Signal.call_signal("add_account", self.item, self)
     self.add_action(WrapAction(_("Close"), "images/close.png"))
Пример #11
0
 def test_user_withoutconfig(self):
     configSMTP('', 25)
     self.factory.xfer = UsersEdit()
     self.call('/CORE/usersEdit', {}, False)
     self.assert_observer('core.custom', 'CORE', 'usersEdit')
     self.assert_count_equal('COMPONENTS/*', 29)