Add verify ssl option to nextcloud (#90462)

add verify sssl option to config flow
This commit is contained in:
Michael 2023-03-29 19:36:42 +02:00 committed by GitHub
parent a33c70e595
commit b881995efc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 6 deletions

View File

@ -10,6 +10,7 @@ from homeassistant.const import (
CONF_SCAN_INTERVAL,
CONF_URL,
CONF_USERNAME,
CONF_VERIFY_SSL,
Platform,
)
from homeassistant.core import HomeAssistant
@ -73,7 +74,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
def _connect_nc():
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:

View File

@ -8,16 +8,17 @@ from nextcloudmonitor import NextcloudMonitor, NextcloudMonitorError
import voluptuous as vol
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 .const import DOMAIN
from .const import DEFAULT_VERIFY_SSL, DOMAIN
DATA_SCHEMA_USER = vol.Schema(
{
vol.Required(CONF_URL): str,
vol.Required(CONF_USERNAME): str,
vol.Required(CONF_PASSWORD): str,
vol.Required(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): bool,
}
)
_LOGGER = logging.getLogger(__name__)
@ -34,6 +35,7 @@ class NextcloudConfigFlow(ConfigFlow, domain=DOMAIN):
user_input[CONF_URL],
user_input[CONF_USERNAME],
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:
@ -51,6 +53,7 @@ class NextcloudConfigFlow(ConfigFlow, domain=DOMAIN):
CONF_URL: user_input[CONF_URL],
CONF_PASSWORD: user_input[CONF_PASSWORD],
CONF_USERNAME: user_input[CONF_USERNAME],
CONF_VERIFY_SSL: DEFAULT_VERIFY_SSL,
}
)

View File

@ -3,3 +3,4 @@ from datetime import timedelta
DOMAIN = "nextcloud"
DEFAULT_SCAN_INTERVAL = timedelta(seconds=60)
DEFAULT_VERIFY_SSL = True

View File

@ -7,7 +7,8 @@
"data": {
"url": "[%key:common::config_flow::data::url%]",
"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%]"
}
}
},

View File

@ -4,6 +4,7 @@
'password': 'nc_pass',
'url': 'nc_url',
'username': 'nc_user',
'verify_ssl': True,
})
# ---
# name: test_user_create_entry
@ -11,5 +12,6 @@
'password': 'nc_pass',
'url': 'nc_url',
'username': 'nc_user',
'verify_ssl': True,
})
# ---

View File

@ -7,7 +7,7 @@ from syrupy.assertion import SnapshotAssertion
from homeassistant.components.nextcloud import DOMAIN
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.data_entry_flow import FlowResultType
@ -15,7 +15,12 @@ from tests.common import MockConfigEntry
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(