Use constants for HTTP headers (#10313)
* Use constants for HTTP headers * Fix ordering * Move 'no-cache' to platform
This commit is contained in:
parent
e64803e701
commit
de9d19d6f4
36 changed files with 408 additions and 444 deletions
|
@ -1,19 +1,23 @@
|
|||
"""The tests for the Home Assistant HTTP component."""
|
||||
import asyncio
|
||||
|
||||
from aiohttp.hdrs import (
|
||||
ORIGIN, ACCESS_CONTROL_ALLOW_ORIGIN, ACCESS_CONTROL_ALLOW_HEADERS,
|
||||
ACCESS_CONTROL_REQUEST_METHOD, ACCESS_CONTROL_REQUEST_HEADERS,
|
||||
CONTENT_TYPE)
|
||||
import requests
|
||||
|
||||
from homeassistant import setup, const
|
||||
import homeassistant.components.http as http
|
||||
|
||||
from tests.common import get_test_instance_port, get_test_home_assistant
|
||||
|
||||
from homeassistant import const, setup
|
||||
import homeassistant.components.http as http
|
||||
|
||||
API_PASSWORD = 'test1234'
|
||||
SERVER_PORT = get_test_instance_port()
|
||||
HTTP_BASE = '127.0.0.1:{}'.format(SERVER_PORT)
|
||||
HTTP_BASE_URL = 'http://{}'.format(HTTP_BASE)
|
||||
HA_HEADERS = {
|
||||
const.HTTP_HEADER_HA_AUTH: API_PASSWORD,
|
||||
const.HTTP_HEADER_CONTENT_TYPE: const.CONTENT_TYPE_JSON,
|
||||
CONTENT_TYPE: const.CONTENT_TYPE_JSON,
|
||||
}
|
||||
CORS_ORIGINS = [HTTP_BASE_URL, HTTP_BASE]
|
||||
|
||||
|
@ -64,9 +68,9 @@ class TestCors:
|
|||
"""Test cross origin resource sharing with password in url."""
|
||||
req = requests.get(_url(const.URL_API),
|
||||
params={'api_password': API_PASSWORD},
|
||||
headers={const.HTTP_HEADER_ORIGIN: HTTP_BASE_URL})
|
||||
headers={ORIGIN: HTTP_BASE_URL})
|
||||
|
||||
allow_origin = const.HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
allow_origin = ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
|
||||
assert req.status_code == 200
|
||||
assert req.headers.get(allow_origin) == HTTP_BASE_URL
|
||||
|
@ -75,11 +79,11 @@ class TestCors:
|
|||
"""Test cross origin resource sharing with password in header."""
|
||||
headers = {
|
||||
const.HTTP_HEADER_HA_AUTH: API_PASSWORD,
|
||||
const.HTTP_HEADER_ORIGIN: HTTP_BASE_URL
|
||||
ORIGIN: HTTP_BASE_URL
|
||||
}
|
||||
req = requests.get(_url(const.URL_API), headers=headers)
|
||||
|
||||
allow_origin = const.HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
allow_origin = ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
|
||||
assert req.status_code == 200
|
||||
assert req.headers.get(allow_origin) == HTTP_BASE_URL
|
||||
|
@ -91,8 +95,8 @@ class TestCors:
|
|||
}
|
||||
req = requests.get(_url(const.URL_API), headers=headers)
|
||||
|
||||
allow_origin = const.HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
allow_headers = const.HTTP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS
|
||||
allow_origin = ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
allow_headers = ACCESS_CONTROL_ALLOW_HEADERS
|
||||
|
||||
assert req.status_code == 200
|
||||
assert allow_origin not in req.headers
|
||||
|
@ -101,14 +105,14 @@ class TestCors:
|
|||
def test_cors_preflight_allowed(self):
|
||||
"""Test cross origin resource sharing preflight (OPTIONS) request."""
|
||||
headers = {
|
||||
const.HTTP_HEADER_ORIGIN: HTTP_BASE_URL,
|
||||
'Access-Control-Request-Method': 'GET',
|
||||
'Access-Control-Request-Headers': 'x-ha-access'
|
||||
ORIGIN: HTTP_BASE_URL,
|
||||
ACCESS_CONTROL_REQUEST_METHOD: 'GET',
|
||||
ACCESS_CONTROL_REQUEST_HEADERS: 'x-ha-access'
|
||||
}
|
||||
req = requests.options(_url(const.URL_API), headers=headers)
|
||||
|
||||
allow_origin = const.HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
allow_headers = const.HTTP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS
|
||||
allow_origin = ACCESS_CONTROL_ALLOW_ORIGIN
|
||||
allow_headers = ACCESS_CONTROL_ALLOW_HEADERS
|
||||
|
||||
assert req.status_code == 200
|
||||
assert req.headers.get(allow_origin) == HTTP_BASE_URL
|
||||
|
@ -158,7 +162,7 @@ def test_registering_view_while_running(hass, test_client):
|
|||
|
||||
@asyncio.coroutine
|
||||
def test_api_base_url_with_domain(hass):
|
||||
"""Test setting api url."""
|
||||
"""Test setting API URL."""
|
||||
result = yield from setup.async_setup_component(hass, 'http', {
|
||||
'http': {
|
||||
'base_url': 'example.com'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue