0

django テストに関する多くのチュートリアルを読みましたが、関数 insde resource をテストする方法がわかりません。たとえば、サインイン関数と obj_create を使用したこのユーザー リソースです。それらをテストする方法がわからないので、助けていただければ幸いです。ありがとうございます。

クラス UserResource(ModelResource):

school = fields.ToOneField('frittie.app.api.api.LocationResource', 'user')
class Meta:
    queryset = UserProfile.objects.all()
    resource_name = 'User'
    allowed_methods = ['get','post']
    serializer = Serializer(formats=['json', 'plist'])

    authorization= Authorization()
    #models.signals.post_save.connect(create_api_key, sender=User)
    #fields = ['username', 'email']
    def obj_create(self, bundle, request=None, **kwargs):
        if not request.method == "POST":
            raise BadRequest('Object not found or not allowed to create a new one.')
        username, email, password = bundle.data['username'], bundle.data['password'], bundle.data['password'], 
        try:
            bundle.obj = User.objects.create_user(username, email, password)
        except IntegrityError:
            raise BadRequest('That username already exists')
        return bundle

    def signin(self, request, **kwargs):
        self.method_check(request, allowed=['post'])
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)

        if user is not None:
            if user.is_active:
                login(request, user)
                return self.create_response(request, {'success': True})
            else:
                # Return a 'disabled account' error message
                return self.create_response(request, {'success': False})
        else:
            # Return an 'invalid login' error message.
            return self.create_response(request, {'success': False})
4

1 に答える 1