mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 23:27:37 +00:00
Add verify ssl option to nextcloud (#90462)
add verify sssl option to config flow
This commit is contained in:
parent
a33c70e595
commit
b881995efc
@ -10,6 +10,7 @@ from homeassistant.const import (
|
|||||||
CONF_SCAN_INTERVAL,
|
CONF_SCAN_INTERVAL,
|
||||||
CONF_URL,
|
CONF_URL,
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
|
CONF_VERIFY_SSL,
|
||||||
Platform,
|
Platform,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
@ -73,7 +74,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
|
|
||||||
def _connect_nc():
|
def _connect_nc():
|
||||||
return NextcloudMonitor(
|
return NextcloudMonitor(
|
||||||
entry.data[CONF_URL], entry.data[CONF_USERNAME], entry.data[CONF_PASSWORD]
|
entry.data[CONF_URL],
|
||||||
|
entry.data[CONF_USERNAME],
|
||||||
|
entry.data[CONF_PASSWORD],
|
||||||
|
entry.data[CONF_VERIFY_SSL],
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -8,16 +8,17 @@ from nextcloudmonitor import NextcloudMonitor, NextcloudMonitorError
|
|||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigFlow
|
from homeassistant.config_entries import ConfigFlow
|
||||||
from homeassistant.const import CONF_PASSWORD, CONF_URL, CONF_USERNAME
|
from homeassistant.const import CONF_PASSWORD, CONF_URL, CONF_USERNAME, CONF_VERIFY_SSL
|
||||||
from homeassistant.data_entry_flow import FlowResult
|
from homeassistant.data_entry_flow import FlowResult
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DEFAULT_VERIFY_SSL, DOMAIN
|
||||||
|
|
||||||
DATA_SCHEMA_USER = vol.Schema(
|
DATA_SCHEMA_USER = vol.Schema(
|
||||||
{
|
{
|
||||||
vol.Required(CONF_URL): str,
|
vol.Required(CONF_URL): str,
|
||||||
vol.Required(CONF_USERNAME): str,
|
vol.Required(CONF_USERNAME): str,
|
||||||
vol.Required(CONF_PASSWORD): str,
|
vol.Required(CONF_PASSWORD): str,
|
||||||
|
vol.Required(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): bool,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@ -34,6 +35,7 @@ class NextcloudConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
user_input[CONF_URL],
|
user_input[CONF_URL],
|
||||||
user_input[CONF_USERNAME],
|
user_input[CONF_USERNAME],
|
||||||
user_input[CONF_PASSWORD],
|
user_input[CONF_PASSWORD],
|
||||||
|
user_input.get(CONF_VERIFY_SSL, DEFAULT_VERIFY_SSL),
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_step_import(self, user_input: dict[str, Any]) -> FlowResult:
|
async def async_step_import(self, user_input: dict[str, Any]) -> FlowResult:
|
||||||
@ -51,6 +53,7 @@ class NextcloudConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
CONF_URL: user_input[CONF_URL],
|
CONF_URL: user_input[CONF_URL],
|
||||||
CONF_PASSWORD: user_input[CONF_PASSWORD],
|
CONF_PASSWORD: user_input[CONF_PASSWORD],
|
||||||
CONF_USERNAME: user_input[CONF_USERNAME],
|
CONF_USERNAME: user_input[CONF_USERNAME],
|
||||||
|
CONF_VERIFY_SSL: DEFAULT_VERIFY_SSL,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -3,3 +3,4 @@ from datetime import timedelta
|
|||||||
|
|
||||||
DOMAIN = "nextcloud"
|
DOMAIN = "nextcloud"
|
||||||
DEFAULT_SCAN_INTERVAL = timedelta(seconds=60)
|
DEFAULT_SCAN_INTERVAL = timedelta(seconds=60)
|
||||||
|
DEFAULT_VERIFY_SSL = True
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"url": "[%key:common::config_flow::data::url%]",
|
"url": "[%key:common::config_flow::data::url%]",
|
||||||
"username": "[%key:common::config_flow::data::username%]",
|
"username": "[%key:common::config_flow::data::username%]",
|
||||||
"password": "[%key:common::config_flow::data::password%]"
|
"password": "[%key:common::config_flow::data::password%]",
|
||||||
|
"verify_ssl": "[%key:common::config_flow::data::verify_ssl%]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
'password': 'nc_pass',
|
'password': 'nc_pass',
|
||||||
'url': 'nc_url',
|
'url': 'nc_url',
|
||||||
'username': 'nc_user',
|
'username': 'nc_user',
|
||||||
|
'verify_ssl': True,
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
# name: test_user_create_entry
|
# name: test_user_create_entry
|
||||||
@ -11,5 +12,6 @@
|
|||||||
'password': 'nc_pass',
|
'password': 'nc_pass',
|
||||||
'url': 'nc_url',
|
'url': 'nc_url',
|
||||||
'username': 'nc_user',
|
'username': 'nc_user',
|
||||||
|
'verify_ssl': True,
|
||||||
})
|
})
|
||||||
# ---
|
# ---
|
||||||
|
@ -7,7 +7,7 @@ from syrupy.assertion import SnapshotAssertion
|
|||||||
|
|
||||||
from homeassistant.components.nextcloud import DOMAIN
|
from homeassistant.components.nextcloud import DOMAIN
|
||||||
from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER
|
from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER
|
||||||
from homeassistant.const import CONF_PASSWORD, CONF_URL, CONF_USERNAME
|
from homeassistant.const import CONF_PASSWORD, CONF_URL, CONF_USERNAME, CONF_VERIFY_SSL
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.data_entry_flow import FlowResultType
|
from homeassistant.data_entry_flow import FlowResultType
|
||||||
|
|
||||||
@ -15,7 +15,12 @@ from tests.common import MockConfigEntry
|
|||||||
|
|
||||||
pytestmark = pytest.mark.usefixtures("mock_setup_entry")
|
pytestmark = pytest.mark.usefixtures("mock_setup_entry")
|
||||||
|
|
||||||
VALID_CONFIG = {CONF_URL: "nc_url", CONF_USERNAME: "nc_user", CONF_PASSWORD: "nc_pass"}
|
VALID_CONFIG = {
|
||||||
|
CONF_URL: "nc_url",
|
||||||
|
CONF_USERNAME: "nc_user",
|
||||||
|
CONF_PASSWORD: "nc_pass",
|
||||||
|
CONF_VERIFY_SSL: True,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async def test_user_create_entry(
|
async def test_user_create_entry(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user