def test_register(self): response = self.login(username_or_email='bitson', password='******') user_role_id = UserRole.get_max_id() # Para no aumentar la secuencia # de las relaciones por demás sin sentido. self.token = response.json['data']['token'] url = url_for('auth.register', _external=True) data = { 'username': '******', 'email': '*****@*****.**', 'password': '******', 'role': 'user' } response = self.client.post( url, content_type=self.JSON, headers=self.set_api_headers(token=self.token), data=json.dumps(data)) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 201) self.assertIsNotNone(response.json['data']['token']) self.assertIsNotNone(response.json['data']['confirm_email_url']) self.assertIsNotNone(response.json['data']['expiration']) self.assertIsNotNone(User.get_by(username=data['username'])) user = User.get_by(username=data['username']) UserRole.set_sequence_value(value=user_role_id) User.remove_fake(item=user)
def test_change_email_request_invalid_email(self): user = User.get_by(id=1) token = user.generate_auth_token(3600) url = url_for('auth.change_email_request', _external=True) data = {'new_email': '*****@*****.**'} response = self.client.post(url, content_type=self.JSON, headers=self.set_api_headers(token=token), data=json.dumps(data)) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 400) self.assertTrue(response.json['error'] == 'bad request')
def test_change_email(self): user = User.get_by(id=1) user_to_confirm = self.create_user(name='leito') user_to_confirm.set_not_confirmed() token = user.generate_email_change_token(user_to_confirm.email, 3600) url = url_for('auth.change_email', email_token=token, _external=True) response = self.client.get( url, content_type=self.JSON, headers=self.set_api_headers(), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['message']) User.remove_fake(item=user_to_confirm)
def test_change_my_username(self): user = User.get_by(username='******') self.login() url = url_for('auth.change_my_username', _external=True) data = {'username': "".join([user.username, '_edited'])} response = self.client.put( url, content_type=self.JSON, headers=self.set_api_headers(token=self.auth_token, ), data=json.dumps(data), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['message']) user.username, _ = user.username.split('_') db.session.commit()
def test_reset_password(self): user = User.get_by(id=1) token = user.generate_reset_token(3600) url = url_for('auth.reset_password', token=token, _external=True) response = self.client.get( url, content_type=self.JSON, headers=self.set_api_headers(), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['token']) self.assertIsNotNone(response.json['data']['expiration']) self.assertTrue(response.json['data']['url'] == url_for( 'auth.change_password', _external=True)) self.assertIsNotNone(response.json['data']['message'])
def test_change_email_request(self): user = User.get_by(id=1) token = user.generate_auth_token(3600) url = url_for('auth.change_email_request', _external=True) data = {'new_email': '*****@*****.**'} response = self.client.post(url, content_type=self.JSON, headers=self.set_api_headers(token=token), data=json.dumps(data)) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 201) self.assertIsNotNone(response.json['data']['token']) self.assertIsNotNone(response.json['data']['confirm_email_url']) self.assertIsNotNone(response.json['data']['expiration']) user.set_confirmed(commit=False) user.email = '*****@*****.**' db.session.commit()
def test_change_password(self): user = User.get_by(username='******') self.login(username_or_email=user.email) headers = self.set_api_headers(token=self.auth_token) data = {'new_password': '******'} url = url_for('auth.change_password', _external=True) response = self.client.post( url, content_type=self.JSON, headers=headers, data=json.dumps(data), ) response.json = self.get_json_response(response) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.json['data']['message']) user.password = '******' db.session.commit()