Coverage for /home/marco/Code/django-simple-captcha/captcha/serializers.py: 100.00%
17 statements
« prev ^ index » next coverage.py v7.6.5, created at 2024-11-15 09:22 +0100
« prev ^ index » next coverage.py v7.6.5, created at 2024-11-15 09:22 +0100
1from rest_framework import serializers
2from rest_framework.fields import empty
4from captcha.validators import captcha_validate
7class CaptchaSerializer(serializers.Serializer):
8 """Serializer captcha code and captcha hashkey"""
10 captcha_code = serializers.CharField(max_length=32, write_only=True, required=True)
11 captcha_hashkey = serializers.CharField(
12 max_length=40, write_only=True, required=True
13 )
15 def run_validation(self, data=empty):
16 values = super().run_validation(data=data)
17 captcha_validate(values["captcha_hashkey"], values["captcha_code"])
18 return values
21class CaptchaModelSerializer(serializers.ModelSerializer):
22 """Model serializer captcha code and captcha hashkey"""
24 captcha_code = serializers.CharField(max_length=32, write_only=True, required=True)
25 captcha_hashkey = serializers.CharField(
26 max_length=40, write_only=True, required=True
27 )
29 def run_validation(self, data=empty):
30 values = super().run_validation(data=data)
31 captcha_validate(values["captcha_hashkey"], values["captcha_code"])
32 return values