          response = self.non_csrf_client.post('/', {'example': 'example'})
          self.assertEqual(response.status_code, 200)
  
      def test_post_form_session_auth_failing(self):
          """Ensure POSTing form over session authentication without logged in user fails."""
          response = self.csrf_client.post('/', {'example': 'example'})
          self.assertEqual(response.status_code, 403)
 
</s> remove         return {'a':1, 'b':2, 'c':3}
 </s> add         return {'a': 1, 'b': 2, 'c': 3}

    def put(self, request):
        return {'a': 1, 'b': 2, 'c': 3} </s> remove from djangorestframework.compat import RequestFactory
 </s> add  </s> remove from django.contrib.auth import login
 </s> add 
    def test_put_form_session_auth_passing(self):
        """Ensure PUTting form over session authentication with logged in user and CSRF token passes."""
        self.non_csrf_client.login(username=self.username, password=self.password)
        response = self.non_csrf_client.put('/', {'example': 'example'})
        self.assertEqual(response.status_code, 200)

          response = self.non_csrf_client.post('/', {'example': 'example'})
          self.assertEqual(response.status_code, 200)
  
    def test_put_form_session_auth_passing(self):
        """Ensure PUTting form over session authentication with logged in user and CSRF token passes."""
        self.non_csrf_client.login(username=self.username, password=self.password)
        response = self.non_csrf_client.put('/', {'example': 'example'})
        self.assertEqual(response.status_code, 200)

      def test_post_form_session_auth_failing(self):
          """Ensure POSTing form over session authentication without logged in user fails."""
          response = self.csrf_client.post('/', {'example': 'example'})
          self.assertEqual(response.status_code, 403)
keep keep add keep keep keep keep
 Add test for PUT with session auth+csrf 
djangorestframework/tests/authentication.py