Code Duplication    Length = 20-22 lines in 5 locations

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

@@ 146-167 (lines=22) @@
143
            params=params,
144
        )
145
146
    def test_api__reset_password_reset__err_400__password_does_not_match(self):
147
        dbsession = get_tm_session(self.session_factory, transaction.manager)
148
        admin = dbsession.query(models.User) \
149
            .filter(models.User.email == '[email protected]') \
150
            .one()
151
        uapi = UserApi(
152
            current_user=admin,
153
            session=dbsession,
154
            config=self.app_config,
155
        )
156
        reset_password_token = uapi.reset_password_notification(admin, do_save=True)  # nopep8
157
        transaction.commit()
158
        params = {
159
            'email': '[email protected]',
160
            'reset_password_token': reset_password_token,
161
            'new_password': 'mynewpassword',
162
            'new_password2': 'anotherpassword',
163
        }
164
        self.testapp.post_json(
165
            '/api/v2/reset_password/modify',
166
            status=400,
167
            params=params,
168
        )
169
@@ 99-120 (lines=22) @@
96
97
class TestResetPasswordModifyEndpoint(FunctionalTest):
98
99
    def test_api__reset_password_reset__ok_204__nominal_case(self):
100
        dbsession = get_tm_session(self.session_factory, transaction.manager)
101
        admin = dbsession.query(models.User) \
102
            .filter(models.User.email == '[email protected]') \
103
            .one()
104
        uapi = UserApi(
105
            current_user=admin,
106
            session=dbsession,
107
            config=self.app_config,
108
        )
109
        reset_password_token = uapi.reset_password_notification(admin, do_save=True)  # nopep8
110
        transaction.commit()
111
        params = {
112
            'email': '[email protected]',
113
            'reset_password_token': reset_password_token,
114
            'new_password': 'mynewpassword',
115
            'new_password2': 'mynewpassword',
116
        }
117
        self.testapp.post_json(
118
            '/api/v2/reset_password/modify',
119
            status=204,
120
            params=params,
121
        )
122
123
    def test_api__reset_password_reset__err_400__invalid_token(self):
@@ 123-143 (lines=21) @@
120
            params=params,
121
        )
122
123
    def test_api__reset_password_reset__err_400__invalid_token(self):
124
        dbsession = get_tm_session(self.session_factory, transaction.manager)
125
        admin = dbsession.query(models.User) \
126
            .filter(models.User.email == '[email protected]') \
127
            .one()
128
        uapi = UserApi(
129
            current_user=admin,
130
            session=dbsession,
131
            config=self.app_config,
132
        )
133
        reset_password_token = 'wrong_token'
134
        params = {
135
            'email': '[email protected]',
136
            'reset_password_token': reset_password_token,
137
            'new_password': 'mynewpassword',
138
            'new_password2': 'mynewpassword',
139
        }
140
        self.testapp.post_json(
141
            '/api/v2/reset_password/modify',
142
            status=401,
143
            params=params,
144
        )
145
146
    def test_api__reset_password_reset__err_400__password_does_not_match(self):
@@ 74-93 (lines=20) @@
71
            params=params,
72
        )
73
74
    def test_api__reset_password_check_token__err_400__invalid_token(self):
75
        dbsession = get_tm_session(self.session_factory, transaction.manager)
76
        admin = dbsession.query(models.User) \
77
            .filter(models.User.email == '[email protected]') \
78
            .one()
79
        uapi = UserApi(
80
            current_user=admin,
81
            session=dbsession,
82
            config=self.app_config,
83
        )
84
        reset_password_token = 'wrong_token'
85
        transaction.commit()
86
        params = {
87
            'email': '[email protected]',
88
            'reset_password_token': reset_password_token
89
        }
90
        self.testapp.post_json(
91
            '/api/v2/reset_password/check_token',
92
            status=401,
93
            params=params,
94
        )
95
96
@@ 52-71 (lines=20) @@
49
50
class TestResetPasswordCheckTokenEndpoint(FunctionalTest):
51
52
    def test_api__reset_password_check_token__ok_204__nominal_case(self):
53
        dbsession = get_tm_session(self.session_factory, transaction.manager)
54
        admin = dbsession.query(models.User) \
55
            .filter(models.User.email == '[email protected]') \
56
            .one()
57
        uapi = UserApi(
58
            current_user=admin,
59
            session=dbsession,
60
            config=self.app_config,
61
        )
62
        reset_password_token = uapi.reset_password_notification(admin, do_save=True) # nopep8
63
        transaction.commit()
64
        params = {
65
            'email': '[email protected]',
66
            'reset_password_token': reset_password_token
67
        }
68
        self.testapp.post_json(
69
            '/api/v2/reset_password/check_token',
70
            status=204,
71
            params=params,
72
        )
73
74
    def test_api__reset_password_check_token__err_400__invalid_token(self):