SSAMKO의 개발 이야기

[Django] Test 코드 작성시 header 추가하기 본문

Django

[Django] Test 코드 작성시 header 추가하기

SSAMKO 2021. 1. 15. 07:42
반응형

Django를 API서버로만 이용할 때, 외부 사용자들에게 header를 통해 인증정보를 받아야 할 경우가 있다. 

이때, Test코드에서도 이를 처리해야 하는데,

TestCase의 client에서 요청을 보낼때, 

from django.urls import reverse
from django.test import TestCase

class AircodeAPITests(TestCase):

	def test_schedule(self):
    	url = reverse("send_schedule")
    	header = {'HTTP_TOKEN':'afaew$@m#iow23!3@29fafewm@*'}
	    response = self.client.post(url, **header)
    

위와 같이 client.post() 혹은 client.get()에 **header 형식으로 보내면

{...
'TOKEN':'afaew$@m#iow23!3@29fafewm@*'
...}

header에 위와같은 형식으로 보내지게 된다. HTTP_ 라고 시작하는 key를 HTTP_를 떼고 header에 실어서 보내기 때문에,

반드시 앞에 HTTP_를 붙여서 요청해야 한다.

반응형
Comments