def create_user(request): if request.method == 'POST': user_serializer = UserSerializer(data=request.POST) if user_serializer.is_valid(): user_serializer.create(user_serializer.data) return JsonResponse(user_serializer.data, status=201) return JsonResponse(user_serializer.errors, status=400)
def test_create(self): """ Test whether overriden create method takes care of the password hashing and creates a welcome file for the user in its personal storage space. """ user_serializer = UserSerializer() validated_data = { 'username': self.username, 'password': self.password, 'email': self.email } with mock.patch.object(SwiftManager, 'upload_obj', return_value=None) as upload_obj_mock: user = user_serializer.create(validated_data) self.assertEqual(user.username, self.username) self.assertEqual(user.email, self.email) self.assertNotEqual(user.password, self.password) self.assertTrue(user.check_password(self.password)) welcome_file_path = '%s/uploads/welcome.txt' % self.username welcome_file = UploadedFile.objects.get(owner=user) self.assertEqual(welcome_file.fname.name, welcome_file_path) upload_obj_mock.assert_called_with(welcome_file_path, mock.ANY, content_type='text/plain')
def post(self, request): serializer = UserSerializer(data=request.POST) if serializer.is_valid(): user = serializer.create(serializer.validated_data) token = sha256(user.email).hexdigest() user.mqtt_token = token user.set_password(request.POST.get("password")) user.save() return Response({"Success": "User Created"}) else: return Response(serializer.errors, status=400)
def test_create(self): """ Test whether overriden create method takes care of the password hashing. """ user_serializer = UserSerializer() validated_data = {'username': self.username, 'password': self.password, 'email': self.email} user = user_serializer.create(validated_data) self.assertEqual(user.username, self.username) self.assertEqual(user.email, self.email) self.assertNotEqual(user.password, self.password) self.assertTrue(user.check_password(self.password))
def test__create__encrypt_password__on_registration(self) -> None: serializer = UserSerializer() password = '******' data = { 'email': '*****@*****.**', 'password': password, 'username': '******' } user = serializer.create(data) self.assertIsNotNone(user.password) self.assertNotEqual(user.password, password)
def create(self, validated_data): # user_data = validated_data.pop('email','password') #person_data = validated_data.pop('first_name','surname','phone', 'date_of_birth','gender') user = UserSerializer.create(UserSerializer(), validated_data=validated_data.pop('user')) print(user) person = Person.objects.create( user=user, first_name=validated_data.get('first_name'), surname=validated_data.get('surname'), phone=validated_data.get('phone'), date_of_birth=validated_data.get('date_of_birth'), gender=validated_data.get('gender')) return person
def test_user_creation(self): data = {"username": "******", "email": "*****@*****.**", "password": "******", "first_name": "tester", "last_name": "testington"} serializer = UserSerializer(data=data) self.assertTrue(serializer.is_valid(), msg=serializer.errors) user = serializer.create(serializer.validated_data) self.assertEqual(data['username'], user.username) self.assertEqual(data['email'], user.email) self.assertEqual(data['first_name'], user.first_name) self.assertEqual(data['last_name'], user.last_name)
def create(self, validated_data): user_serializer = UserSerializer() user = user_serializer.create(validated_data['user']) tenant = Tenant(user=user) tenant.save() return tenant