mirror of https://github.com/apache/superset.git
feat: error messages when connecting to mssql (#14171)
* database errors for mssql * revisions
This commit is contained in:
parent
8db7be16da
commit
df04c3af21
|
@ -93,6 +93,7 @@ class TestConnectionDatabaseCommand(BaseCommand):
|
||||||
"password": url.password,
|
"password": url.password,
|
||||||
"port": url.port,
|
"port": url.port,
|
||||||
"username": url.username,
|
"username": url.username,
|
||||||
|
"database": url.database,
|
||||||
}
|
}
|
||||||
errors = database.db_engine_spec.extract_errors(ex, context)
|
errors = database.db_engine_spec.extract_errors(ex, context)
|
||||||
raise DatabaseTestConnectionFailedError(errors)
|
raise DatabaseTestConnectionFailedError(errors)
|
||||||
|
|
|
@ -66,7 +66,10 @@ class MssqlEngineSpec(BaseEngineSpec):
|
||||||
|
|
||||||
custom_errors = {
|
custom_errors = {
|
||||||
CONNECTION_ACCESS_DENIED_REGEX: (
|
CONNECTION_ACCESS_DENIED_REGEX: (
|
||||||
__('Either the username "%(username)s" or the password is incorrect.'),
|
__(
|
||||||
|
'Either the username "%(username)s", password, '
|
||||||
|
'or database name "%(database)s" is incorrect.'
|
||||||
|
),
|
||||||
SupersetErrorType.CONNECTION_ACCESS_DENIED_ERROR,
|
SupersetErrorType.CONNECTION_ACCESS_DENIED_ERROR,
|
||||||
),
|
),
|
||||||
CONNECTION_INVALID_HOSTNAME_REGEX: (
|
CONNECTION_INVALID_HOSTNAME_REGEX: (
|
||||||
|
|
|
@ -179,7 +179,14 @@ ERROR_TYPES_TO_ISSUE_CODES_MAPPING = {
|
||||||
{
|
{
|
||||||
"code": 1014,
|
"code": 1014,
|
||||||
"message": _("Issue 1014 - Either the username or the password is wrong."),
|
"message": _("Issue 1014 - Either the username or the password is wrong."),
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"code": 1015,
|
||||||
|
"message": _(
|
||||||
|
"Issue 1015 - Either the database is "
|
||||||
|
"spelled incorrectly or does not exist."
|
||||||
|
),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
SupersetErrorType.CONNECTION_UNKNOWN_DATABASE_ERROR: [
|
SupersetErrorType.CONNECTION_UNKNOWN_DATABASE_ERROR: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -284,11 +284,11 @@ Adaptive Server connection failed (mssqldb.cxiotftzsypc.us-west-2.rds.amazonaws.
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
result = MssqlEngineSpec.extract_errors(
|
result = MssqlEngineSpec.extract_errors(
|
||||||
Exception(msg), context={"username": "testuser"}
|
Exception(msg), context={"username": "testuser", "database": "testdb"}
|
||||||
)
|
)
|
||||||
assert result == [
|
assert result == [
|
||||||
SupersetError(
|
SupersetError(
|
||||||
message='Either the username "testuser" or the password is incorrect.',
|
message='Either the username "testuser", password, or database name "testdb" is incorrect.',
|
||||||
error_type=SupersetErrorType.CONNECTION_ACCESS_DENIED_ERROR,
|
error_type=SupersetErrorType.CONNECTION_ACCESS_DENIED_ERROR,
|
||||||
level=ErrorLevel.ERROR,
|
level=ErrorLevel.ERROR,
|
||||||
extra={
|
extra={
|
||||||
|
@ -296,8 +296,14 @@ Adaptive Server connection failed (mssqldb.cxiotftzsypc.us-west-2.rds.amazonaws.
|
||||||
"issue_codes": [
|
"issue_codes": [
|
||||||
{
|
{
|
||||||
"code": 1014,
|
"code": 1014,
|
||||||
"message": "Issue 1014 - Either the username or the password is wrong.",
|
"message": "Issue 1014 - Either the username or "
|
||||||
}
|
"the password is wrong.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": 1015,
|
||||||
|
"message": "Issue 1015 - Either the database is "
|
||||||
|
"spelled incorrectly or does not exist.",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -124,7 +124,12 @@ class TestMySQLEngineSpecsDbEngineSpec(TestDbEngineSpec):
|
||||||
"code": 1014,
|
"code": 1014,
|
||||||
"message": "Issue 1014 - Either the"
|
"message": "Issue 1014 - Either the"
|
||||||
" username or the password is wrong.",
|
" username or the password is wrong.",
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"code": 1015,
|
||||||
|
"message": "Issue 1015 - Either the database is "
|
||||||
|
"spelled incorrectly or does not exist.",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
# specific language governing permissions and limitations
|
# specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
from textwrap import dedent
|
from textwrap import dedent
|
||||||
from unittest import mock
|
|
||||||
|
|
||||||
from superset.db_engine_specs.redshift import RedshiftEngineSpec
|
from superset.db_engine_specs.redshift import RedshiftEngineSpec
|
||||||
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
|
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
|
||||||
|
@ -39,9 +38,14 @@ class TestRedshiftDbEngineSpec(TestDbEngineSpec):
|
||||||
"issue_codes": [
|
"issue_codes": [
|
||||||
{
|
{
|
||||||
"code": 1014,
|
"code": 1014,
|
||||||
"message": "Issue 1014 - Either the username or "
|
"message": "Issue 1014 - Either the username "
|
||||||
"the password is wrong",
|
"or the password is wrong.",
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"code": 1015,
|
||||||
|
"message": "Issue 1015 - Either the database is "
|
||||||
|
"spelled incorrectly or does not exist.",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue