todos. Estoy intentando escribir pruebas para la API RESTful implementada usando django-tastypie con http auth auth. Por lo tanto, tengo el siguiente código:cliente de prueba Django http autenticación básica para la solicitud
def http_auth(username, password):
credentials = base64.encodestring('%s:%s' % (username, password)).strip()
auth_string = 'Basic %s' % credentials
return auth_string
class FileApiTest(TestCase):
fixtures = ['test/fixtures/test_users.json']
def setUp(self):
self.extra = {
'HTTP_AUTHORIZATION': http_auth('testuser', 'qwerty')
}
def test_folder_resource(self):
response = self.client.get('/api/1.0/folder/', **self.extra)
self.assertEqual(response.status_code, 200)
def test_folder_resource_post(self):
response = self.client.post('/api/1.0/folder/', **self.extra)
self.assertNotEqual(response.status_code, 401)
petición GET se hace bien, volviendo código de estado 200. Pero petición POST siempre devuelve 401. Estoy seguro de que estoy haciendo algo mal. ¿Algún consejo?
Tal vez verifique su Meta: autorización en su recurso? ¿Qué dice? –
'authorization = DjangoAuthorization()' – dmrz
aw, mierda, quise decir "Autenticación" Eso es lo que estás probando aquí. La diferencia es Autenticación == "¿Quién eres?", Autorización == "¿Puedes hacer esto?" –