Code Duplication    Length = 58-62 lines in 5 locations

backend/tracim_backend/tests/functional/test_user.py 5 locations

@@ 4825-4886 (lines=62) @@
4822
        assert res['user_id'] == user_id
4823
        assert res['profile'] == 'administrators'
4824
4825
    def test_api__set_user_info__err_403__user_itself(self):
4826
        dbsession = get_tm_session(self.session_factory, transaction.manager)
4827
        admin = dbsession.query(models.User) \
4828
            .filter(models.User.email == '[email protected]') \
4829
            .one()
4830
        uapi = UserApi(
4831
            current_user=admin,
4832
            session=dbsession,
4833
            config=self.app_config,
4834
        )
4835
        gapi = GroupApi(
4836
            current_user=admin,
4837
            session=dbsession,
4838
            config=self.app_config,
4839
        )
4840
        groups = [gapi.get_one_with_name('users')]
4841
        test_user = uapi.create_user(
4842
            email='[email protected]',
4843
            password='pass',
4844
            name='bob',
4845
            groups=groups,
4846
            timezone='Europe/Paris',
4847
            lang='fr',
4848
            do_save=True,
4849
            do_notify=False,
4850
        )
4851
        uapi.save(test_user)
4852
        transaction.commit()
4853
        user_id = int(test_user.user_id)
4854
4855
        self.testapp.authorization = (
4856
            'Basic',
4857
            (
4858
                '[email protected]',
4859
                'pass',
4860
            )
4861
        )
4862
        # check before
4863
        res = self.testapp.get(
4864
            '/api/v2/users/{}'.format(user_id),
4865
            status=200
4866
        )
4867
        res = res.json_body
4868
        assert res['user_id'] == user_id
4869
        assert res['profile'] == 'users'
4870
        # Set params
4871
        params = {
4872
            'profile': 'administrators',
4873
        }
4874
        self.testapp.put_json(
4875
            '/api/v2/users/{}/profile'.format(user_id),
4876
            params=params,
4877
            status=403,
4878
        )
4879
        # Check After
4880
        res = self.testapp.get(
4881
            '/api/v2/users/{}'.format(user_id),
4882
            status=200
4883
        )
4884
        res = res.json_body
4885
        assert res['user_id'] == user_id
4886
        assert res['profile'] == 'users'
4887
4888
    def test_api__set_user_email__err_403__other_normal_user(self):
4889
        dbsession = get_tm_session(self.session_factory, transaction.manager)
@@ 4762-4823 (lines=62) @@
4759
    """
4760
    fixtures = [BaseFixture]
4761
4762
    def test_api__set_user_info__ok_200__admin(self):
4763
        dbsession = get_tm_session(self.session_factory, transaction.manager)
4764
        admin = dbsession.query(models.User) \
4765
            .filter(models.User.email == '[email protected]') \
4766
            .one()
4767
        uapi = UserApi(
4768
            current_user=admin,
4769
            session=dbsession,
4770
            config=self.app_config,
4771
        )
4772
        gapi = GroupApi(
4773
            current_user=admin,
4774
            session=dbsession,
4775
            config=self.app_config,
4776
        )
4777
        groups = [gapi.get_one_with_name('users')]
4778
        test_user = uapi.create_user(
4779
            email='[email protected]',
4780
            password='pass',
4781
            name='bob',
4782
            groups=groups,
4783
            timezone='Europe/Paris',
4784
            lang='fr',
4785
            do_save=True,
4786
            do_notify=False,
4787
        )
4788
        uapi.save(test_user)
4789
        transaction.commit()
4790
        user_id = int(test_user.user_id)
4791
4792
        self.testapp.authorization = (
4793
            'Basic',
4794
            (
4795
                '[email protected]',
4796
                '[email protected]'
4797
            )
4798
        )
4799
        # check before
4800
        res = self.testapp.get(
4801
            '/api/v2/users/{}'.format(user_id),
4802
            status=200
4803
        )
4804
        res = res.json_body
4805
        assert res['user_id'] == user_id
4806
        assert res['profile'] == 'users'
4807
        # Set params
4808
        params = {
4809
            'profile': 'administrators',
4810
        }
4811
        self.testapp.put_json(
4812
            '/api/v2/users/{}/profile'.format(user_id),
4813
            params=params,
4814
            status=204,
4815
        )
4816
        # Check After
4817
        res = self.testapp.get(
4818
            '/api/v2/users/{}'.format(user_id),
4819
            status=200
4820
        )
4821
        res = res.json_body
4822
        assert res['user_id'] == user_id
4823
        assert res['profile'] == 'administrators'
4824
4825
    def test_api__set_user_info__err_403__user_itself(self):
4826
        dbsession = get_tm_session(self.session_factory, transaction.manager)
@@ 5181-5238 (lines=58) @@
5178
            status=403,
5179
        )
5180
5181
    def test_api_disable_user__ok_200__user_itself(self):
5182
        dbsession = get_tm_session(self.session_factory, transaction.manager)
5183
        admin = dbsession.query(models.User) \
5184
            .filter(models.User.email == '[email protected]') \
5185
            .one()
5186
        uapi = UserApi(
5187
            current_user=admin,
5188
            session=dbsession,
5189
            config=self.app_config,
5190
        )
5191
        gapi = GroupApi(
5192
            current_user=admin,
5193
            session=dbsession,
5194
            config=self.app_config,
5195
        )
5196
        groups = [gapi.get_one_with_name('users')]
5197
        test_user = uapi.create_user(
5198
            email='[email protected]',
5199
            password='pass',
5200
            name='bob',
5201
            groups=groups,
5202
            timezone='Europe/Paris',
5203
            lang='fr',
5204
            do_save=True,
5205
            do_notify=False,
5206
        )
5207
        uapi.enable(test_user, do_save=True)
5208
        uapi.save(test_user)
5209
        transaction.commit()
5210
        user_id = int(test_user.user_id)
5211
5212
        self.testapp.authorization = (
5213
            'Basic',
5214
            (
5215
                '[email protected]',
5216
                'pass'
5217
            )
5218
        )
5219
        # check before
5220
        res = self.testapp.get(
5221
            '/api/v2/users/{}'.format(user_id),
5222
            status=200
5223
        )
5224
        res = res.json_body
5225
        assert res['user_id'] == user_id
5226
        assert res['is_active'] is True
5227
        self.testapp.put_json(
5228
            '/api/v2/users/{}/disable'.format(user_id),
5229
            status=403,
5230
        )
5231
        # Check After
5232
        res = self.testapp.get(
5233
            '/api/v2/users/{}'.format(user_id),
5234
            status=200
5235
        )
5236
        res = res.json_body
5237
        assert res['user_id'] == user_id
5238
        assert res['is_active'] is True
5239
@@ 5014-5071 (lines=58) @@
5011
        assert res['user_id'] == user_id
5012
        assert res['is_active'] is True
5013
5014
    def test_api_disable_user__ok_200__admin(self):
5015
        dbsession = get_tm_session(self.session_factory, transaction.manager)
5016
        admin = dbsession.query(models.User) \
5017
            .filter(models.User.email == '[email protected]') \
5018
            .one()
5019
        uapi = UserApi(
5020
            current_user=admin,
5021
            session=dbsession,
5022
            config=self.app_config,
5023
        )
5024
        gapi = GroupApi(
5025
            current_user=admin,
5026
            session=dbsession,
5027
            config=self.app_config,
5028
        )
5029
        groups = [gapi.get_one_with_name('users')]
5030
        test_user = uapi.create_user(
5031
            email='[email protected]',
5032
            password='pass',
5033
            name='bob',
5034
            groups=groups,
5035
            timezone='Europe/Paris',
5036
            lang='fr',
5037
            do_save=True,
5038
            do_notify=False,
5039
        )
5040
        uapi.enable(test_user, do_save=True)
5041
        uapi.save(test_user)
5042
        transaction.commit()
5043
        user_id = int(test_user.user_id)
5044
5045
        self.testapp.authorization = (
5046
            'Basic',
5047
            (
5048
                '[email protected]',
5049
                '[email protected]'
5050
            )
5051
        )
5052
        # check before
5053
        res = self.testapp.get(
5054
            '/api/v2/users/{}'.format(user_id),
5055
            status=200
5056
        )
5057
        res = res.json_body
5058
        assert res['user_id'] == user_id
5059
        assert res['is_active'] is True
5060
        self.testapp.put_json(
5061
            '/api/v2/users/{}/disable'.format(user_id),
5062
            status=204,
5063
        )
5064
        # Check After
5065
        res = self.testapp.get(
5066
            '/api/v2/users/{}'.format(user_id),
5067
            status=200
5068
        )
5069
        res = res.json_body
5070
        assert res['user_id'] == user_id
5071
        assert res['is_active'] is False
5072
5073
    def test_api_enable_user__err_403__other_account(self):
5074
        dbsession = get_tm_session(self.session_factory, transaction.manager)
@@ 4955-5012 (lines=58) @@
4952
    """
4953
    fixtures = [BaseFixture]
4954
4955
    def test_api_enable_user__ok_200__admin(self):
4956
        dbsession = get_tm_session(self.session_factory, transaction.manager)
4957
        admin = dbsession.query(models.User) \
4958
            .filter(models.User.email == '[email protected]') \
4959
            .one()
4960
        uapi = UserApi(
4961
            current_user=admin,
4962
            session=dbsession,
4963
            config=self.app_config,
4964
        )
4965
        gapi = GroupApi(
4966
            current_user=admin,
4967
            session=dbsession,
4968
            config=self.app_config,
4969
        )
4970
        groups = [gapi.get_one_with_name('users')]
4971
        test_user = uapi.create_user(
4972
            email='[email protected]',
4973
            password='pass',
4974
            name='bob',
4975
            groups=groups,
4976
            timezone='Europe/Paris',
4977
            lang='fr',
4978
            do_save=True,
4979
            do_notify=False,
4980
        )
4981
        uapi.disable(test_user, do_save=True)
4982
        uapi.save(test_user)
4983
        transaction.commit()
4984
        user_id = int(test_user.user_id)
4985
4986
        self.testapp.authorization = (
4987
            'Basic',
4988
            (
4989
                '[email protected]',
4990
                '[email protected]'
4991
            )
4992
        )
4993
        # check before
4994
        res = self.testapp.get(
4995
            '/api/v2/users/{}'.format(user_id),
4996
            status=200
4997
        )
4998
        res = res.json_body
4999
        assert res['user_id'] == user_id
5000
        assert res['is_active'] is False
5001
        self.testapp.put_json(
5002
            '/api/v2/users/{}/enable'.format(user_id),
5003
            status=204,
5004
        )
5005
        # Check After
5006
        res = self.testapp.get(
5007
            '/api/v2/users/{}'.format(user_id),
5008
            status=200
5009
        )
5010
        res = res.json_body
5011
        assert res['user_id'] == user_id
5012
        assert res['is_active'] is True
5013
5014
    def test_api_disable_user__ok_200__admin(self):
5015
        dbsession = get_tm_session(self.session_factory, transaction.manager)