You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2020/09/01 01:57:22 UTC
[GitHub] [incubator-superset] lilykuang opened a new pull request #10723: feat: test databases connection api
lilykuang opened a new pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723
### SUMMARY
<!--- Describe the change below, including rationale and design decisions -->
- Add test connection functionality to `/api/v1/database/test_connection`
### TEST PLAN
- python test
### ADDITIONAL INFORMATION
<!--- Check any relevant boxes with "x" -->
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
- [ ] Has associated issue:
- [ ] Changes UI
- [ ] Requires DB Migration.
- [ ] Confirm DB Migration upgrade and downgrade tested.
- [x] Introduces new feature or API
- [ ] Removes existing feature or API
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] willbarrett commented on a change in pull request #10723: feat(databases): test connection api
Posted by GitBox <gi...@apache.org>.
willbarrett commented on a change in pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#discussion_r481478830
##########
File path: superset/databases/dao.py
##########
@@ -0,0 +1,75 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import logging
+from contextlib import closing
+
+from flask import g
+from sqlalchemy import select
+
+from superset import app
+from superset.dao.base import BaseDAO
+from superset.extensions import db
+from superset.models.core import Database
+from superset.security.analytics_db_safety import check_sqlalchemy_uri
+
+logger = logging.getLogger(__name__)
+
+
+class DatabaseDAO(BaseDAO):
Review comment:
This probably makes more sense as a Command rather than a DAO since it is more of a business operation.
##########
File path: superset/databases/dao.py
##########
@@ -0,0 +1,75 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import logging
+from contextlib import closing
+
+from flask import g
+from sqlalchemy import select
+
+from superset import app
+from superset.dao.base import BaseDAO
+from superset.extensions import db
+from superset.models.core import Database
+from superset.security.analytics_db_safety import check_sqlalchemy_uri
+
+logger = logging.getLogger(__name__)
+
+
+class DatabaseDAO(BaseDAO):
+ model_cls = Database
+
+ @staticmethod
+ def test_connection( # pylint: disable=too-many-arguments, too-many-return-statements
+ db_name: str,
+ uri: str,
+ server_cert: str,
+ extra: str,
+ impersonate_user: bool,
+ encrypted_extra: str,
+ ) -> None:
+ if app.config["PREVENT_UNSAFE_DB_CONNECTIONS"]:
+ check_sqlalchemy_uri(uri)
+ # if the database already exists in the database, only its safe
+ # (password-masked) URI would be shown in the UI and would be passed in the
+ # form data so if the database already exists and the form was submitted
+ # with the safe URI, we assume we should retrieve the decrypted URI to test
+ # the connection.
+ if db_name:
+ existing_database = (
+ db.session.query(Database)
+ .filter_by(database_name=db_name)
+ .one_or_none()
+ )
+ if existing_database and uri == existing_database.safe_sqlalchemy_uri():
+ uri = existing_database.sqlalchemy_uri_decrypted
+
+ # this is the database instance that will be tested
+ database = Database(
Review comment:
Here through line 70 could also potentially be a DAO method - something like `build_db_for_connection_test`
##########
File path: superset/databases/api.py
##########
@@ -335,3 +351,88 @@ def select_star(
return self.response(404, message="Table not found on the database")
self.incr_stats("success", self.select_star.__name__)
return self.response(200, result=result)
+
+ @expose("/test_connection", methods=["POST"])
+ @protect()
+ @safe
+ @event_logger.log_this
+ @statsd_metrics
+ def test_connection( # pylint: disable=too-many-return-statements
+ self,
+ ) -> FlaskResponse:
+ """Tests a database connection
+ ---
+ post:
+ description: >-
+ Tests a database connection
+ requestBody:
+ description: Database schema
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ encrypted_extra:
+ type: object
+ extras:
+ type: object
+ name:
+ type: string
+ server_cert:
+ type: string
+ responses:
+ 200:
+ description: Database Test Connection
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
+ 400:
+ $ref: '#/components/responses/400'
+ 422:
+ $ref: '#/components/responses/422'
+ 500:
+ $ref: '#/components/responses/500'
+ """
+ uri = request.json.get("uri")
+ try:
+ DatabaseDAO.test_connection(
+ db_name=request.json.get("name"),
+ uri=uri,
+ server_cert=request.json.get("server_cert"),
+ extra=json.dumps(request.json.get("extras", {})),
+ impersonate_user=request.json.get("impersonate_user"),
+ encrypted_extra=json.dumps(request.json.get("encrypted_extra", {})),
+ )
+ return self.response(200, message="OK")
+ except CertificateException as ex:
+ logger.info("Certificate exception")
+ return self.response(500, message=ex.message)
+ except (NoSuchModuleError, ModuleNotFoundError):
+ logger.info("Invalid driver")
+ driver_name = make_url(uri).drivername
+ message = "Could not load database driver: %s" % (driver_name)
+ return self.response(400, message=message, driver_name=driver_name)
+ except ArgumentError:
+ logger.info("Invalid URI")
+ return self.response_422(
+ message="Invalid connection string, a valid string usually follows:\n"
+ "'DRIVER://USER:PASSWORD@DB-HOST/DATABASE-NAME'"
+ )
+ except OperationalError:
+ logger.warning("Connection failed")
+ return self.response(
+ 500, message="Connection failed, please check your connection settings"
Review comment:
I think we're missing the `_()` function that will hook these messages up with their associated translations.
##########
File path: superset/views/core.py
##########
@@ -1162,7 +1133,7 @@ def testconn( # pylint: disable=too-many-return-statements,no-self-use
logger.warning("Stopped an unsafe database connection")
return json_error_response(_(str(ex)), 400)
except Exception as ex: # pylint: disable=broad-except
- logger.error("Unexpected error %s", type(ex).__name__)
+ logger.warning("Unexpected error %s", type(ex).__name__)
Review comment:
π
##########
File path: superset/databases/api.py
##########
@@ -335,3 +351,88 @@ def select_star(
return self.response(404, message="Table not found on the database")
self.incr_stats("success", self.select_star.__name__)
return self.response(200, result=result)
+
+ @expose("/test_connection", methods=["POST"])
+ @protect()
+ @safe
+ @event_logger.log_this
+ @statsd_metrics
+ def test_connection( # pylint: disable=too-many-return-statements
+ self,
+ ) -> FlaskResponse:
+ """Tests a database connection
+ ---
+ post:
+ description: >-
+ Tests a database connection
+ requestBody:
+ description: Database schema
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ encrypted_extra:
+ type: object
+ extras:
+ type: object
+ name:
+ type: string
+ server_cert:
+ type: string
+ responses:
+ 200:
+ description: Database Test Connection
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
+ 400:
+ $ref: '#/components/responses/400'
+ 422:
+ $ref: '#/components/responses/422'
+ 500:
+ $ref: '#/components/responses/500'
+ """
+ uri = request.json.get("uri")
+ try:
+ DatabaseDAO.test_connection(
+ db_name=request.json.get("name"),
+ uri=uri,
+ server_cert=request.json.get("server_cert"),
+ extra=json.dumps(request.json.get("extras", {})),
+ impersonate_user=request.json.get("impersonate_user"),
+ encrypted_extra=json.dumps(request.json.get("encrypted_extra", {})),
+ )
+ return self.response(200, message="OK")
+ except CertificateException as ex:
+ logger.info("Certificate exception")
+ return self.response(500, message=ex.message)
+ except (NoSuchModuleError, ModuleNotFoundError):
+ logger.info("Invalid driver")
+ driver_name = make_url(uri).drivername
+ message = "Could not load database driver: %s" % (driver_name)
Review comment:
I think we could use an f-string here.
##########
File path: superset/databases/dao.py
##########
@@ -0,0 +1,75 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import logging
+from contextlib import closing
+
+from flask import g
+from sqlalchemy import select
+
+from superset import app
+from superset.dao.base import BaseDAO
+from superset.extensions import db
+from superset.models.core import Database
+from superset.security.analytics_db_safety import check_sqlalchemy_uri
+
+logger = logging.getLogger(__name__)
+
+
+class DatabaseDAO(BaseDAO):
+ model_cls = Database
+
+ @staticmethod
+ def test_connection( # pylint: disable=too-many-arguments, too-many-return-statements
+ db_name: str,
+ uri: str,
+ server_cert: str,
+ extra: str,
+ impersonate_user: bool,
+ encrypted_extra: str,
+ ) -> None:
+ if app.config["PREVENT_UNSAFE_DB_CONNECTIONS"]:
+ check_sqlalchemy_uri(uri)
+ # if the database already exists in the database, only its safe
+ # (password-masked) URI would be shown in the UI and would be passed in the
+ # form data so if the database already exists and the form was submitted
+ # with the safe URI, we assume we should retrieve the decrypted URI to test
+ # the connection.
+ if db_name:
+ existing_database = (
Review comment:
This database lookup would be a good candidate for a DAO method.
##########
File path: superset/databases/api.py
##########
@@ -335,3 +351,88 @@ def select_star(
return self.response(404, message="Table not found on the database")
self.incr_stats("success", self.select_star.__name__)
return self.response(200, result=result)
+
+ @expose("/test_connection", methods=["POST"])
+ @protect()
+ @safe
+ @event_logger.log_this
+ @statsd_metrics
+ def test_connection( # pylint: disable=too-many-return-statements
+ self,
+ ) -> FlaskResponse:
+ """Tests a database connection
+ ---
+ post:
+ description: >-
+ Tests a database connection
+ requestBody:
+ description: Database schema
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ encrypted_extra:
+ type: object
+ extras:
+ type: object
+ name:
+ type: string
+ server_cert:
+ type: string
+ responses:
+ 200:
+ description: Database Test Connection
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
+ 400:
+ $ref: '#/components/responses/400'
+ 422:
+ $ref: '#/components/responses/422'
+ 500:
+ $ref: '#/components/responses/500'
+ """
+ uri = request.json.get("uri")
+ try:
+ DatabaseDAO.test_connection(
+ db_name=request.json.get("name"),
+ uri=uri,
+ server_cert=request.json.get("server_cert"),
+ extra=json.dumps(request.json.get("extras", {})),
+ impersonate_user=request.json.get("impersonate_user"),
+ encrypted_extra=json.dumps(request.json.get("encrypted_extra", {})),
+ )
+ return self.response(200, message="OK")
+ except CertificateException as ex:
Review comment:
This breaks encapsulation a little bit. We're relying on SQLAlchemy errors to decide the response format. Ideally we'd capture these errors in the DAO or Command and transform them into a Superset-specific exception. That could allow us to group, for instance, the module loading errors at a lower level.
##########
File path: superset/databases/api.py
##########
@@ -335,3 +351,88 @@ def select_star(
return self.response(404, message="Table not found on the database")
self.incr_stats("success", self.select_star.__name__)
return self.response(200, result=result)
+
+ @expose("/test_connection", methods=["POST"])
+ @protect()
+ @safe
+ @event_logger.log_this
+ @statsd_metrics
+ def test_connection( # pylint: disable=too-many-return-statements
+ self,
+ ) -> FlaskResponse:
+ """Tests a database connection
+ ---
+ post:
+ description: >-
+ Tests a database connection
+ requestBody:
+ description: Database schema
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ encrypted_extra:
+ type: object
+ extras:
+ type: object
+ name:
+ type: string
+ server_cert:
+ type: string
+ responses:
+ 200:
+ description: Database Test Connection
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
+ 400:
+ $ref: '#/components/responses/400'
+ 422:
+ $ref: '#/components/responses/422'
+ 500:
+ $ref: '#/components/responses/500'
+ """
+ uri = request.json.get("uri")
+ try:
+ DatabaseDAO.test_connection(
+ db_name=request.json.get("name"),
+ uri=uri,
+ server_cert=request.json.get("server_cert"),
+ extra=json.dumps(request.json.get("extras", {})),
+ impersonate_user=request.json.get("impersonate_user"),
+ encrypted_extra=json.dumps(request.json.get("encrypted_extra", {})),
+ )
+ return self.response(200, message="OK")
+ except CertificateException as ex:
+ logger.info("Certificate exception")
+ return self.response(500, message=ex.message)
Review comment:
Since this is a connection test endpoint, let's return a 400 for this instead of a 500. We expect connection failures.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] codecov-commenter edited a comment on pull request #10723: feat: test databases connection api
Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-683239330
# [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=h1) Report
> Merging [#10723](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-superset/commit/cd144b68ac2168231346d3980748a406b0a14812?el=desc) will **increase** coverage by `1.20%`.
> The diff coverage is `n/a`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-superset/pull/10723/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l)](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #10723 +/- ##
==========================================
+ Coverage 60.28% 61.49% +1.20%
==========================================
Files 360 429 +69
Lines 23223 13954 -9269
Branches 0 3555 +3555
==========================================
- Hits 14001 8581 -5420
+ Misses 9222 5186 -4036
- Partials 0 187 +187
```
| Flag | Coverage Ξ | |
|---|---|---|
| #javascript | `61.49% <ΓΈ> (?)` | |
| #python | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree) | Coverage Ξ | |
|---|---|---|
| [superset/db\_engine\_specs/teradata.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3RlcmFkYXRhLnB5) | | |
| [superset/utils/logging\_configurator.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdXRpbHMvbG9nZ2luZ19jb25maWd1cmF0b3IucHk=) | | |
| [superset/datasets/commands/update.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YXNldHMvY29tbWFuZHMvdXBkYXRlLnB5) | | |
| [.../versions/6c7537a6004a\_models\_for\_email\_reports.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvbWlncmF0aW9ucy92ZXJzaW9ucy82Yzc1MzdhNjAwNGFfbW9kZWxzX2Zvcl9lbWFpbF9yZXBvcnRzLnB5) | | |
| [superset/migrations/versions/b347b202819b\_.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvbWlncmF0aW9ucy92ZXJzaW9ucy9iMzQ3YjIwMjgxOWJfLnB5) | | |
| [...ersions/def97f26fdfb\_add\_index\_to\_tagged\_object.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvbWlncmF0aW9ucy92ZXJzaW9ucy9kZWY5N2YyNmZkZmJfYWRkX2luZGV4X3RvX3RhZ2dlZF9vYmplY3QucHk=) | | |
| [...rsions/289ce07647b\_add\_encrypted\_password\_field.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvbWlncmF0aW9ucy92ZXJzaW9ucy8yODljZTA3NjQ3Yl9hZGRfZW5jcnlwdGVkX3Bhc3N3b3JkX2ZpZWxkLnB5) | | |
| [superset/datasets/commands/delete.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YXNldHMvY29tbWFuZHMvZGVsZXRlLnB5) | | |
| [superset/datasets/schemas.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YXNldHMvc2NoZW1hcy5weQ==) | | |
| [superset/views/filters.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvZmlsdGVycy5weQ==) | | |
| ... and [776 more](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Ξ = absolute <relative> (impact)`, `ΓΈ = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=footer). Last update [cd144b6...9794ebd](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] codecov-commenter edited a comment on pull request #10723: feat: test databases connection api
Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-683239330
# [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=h1) Report
> Merging [#10723](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-superset/commit/234b6bbba9096eb70eccd7f4d4fa1efd32c0bcca?el=desc) will **increase** coverage by `0.61%`.
> The diff coverage is `67.14%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-superset/pull/10723/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l)](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #10723 +/- ##
==========================================
+ Coverage 58.92% 59.54% +0.61%
==========================================
Files 756 361 -395
Lines 36072 23274 -12798
Branches 3301 0 -3301
==========================================
- Hits 21256 13858 -7398
+ Misses 14633 9416 -5217
+ Partials 183 0 -183
```
| Flag | Coverage Ξ | |
|---|---|---|
| #cypress | `?` | |
| #python | `59.54% <67.14%> (-0.77%)` | :arrow_down: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree) | Coverage Ξ | |
|---|---|---|
| [superset/databases/api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2FwaS5weQ==) | `75.17% <39.47%> (-12.80%)` | :arrow_down: |
| [superset/databases/dao.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2Rhby5weQ==) | `100.00% <100.00%> (ΓΈ)` | |
| [superset/views/core.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvY29yZS5weQ==) | `73.94% <100.00%> (-0.53%)` | :arrow_down: |
| [superset/db\_engines/hive.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGJfZW5naW5lcy9oaXZlLnB5) | `0.00% <0.00%> (-85.72%)` | :arrow_down: |
| [superset/db\_engine\_specs/hive.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2hpdmUucHk=) | `53.90% <0.00%> (-30.08%)` | :arrow_down: |
| [superset/db\_engine\_specs/mysql.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL215c3FsLnB5) | `79.16% <0.00%> (-12.50%)` | :arrow_down: |
| [superset/db\_engine\_specs/presto.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3ByZXN0by5weQ==) | `70.85% <0.00%> (-11.44%)` | :arrow_down: |
| [superset/examples/world\_bank.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZXhhbXBsZXMvd29ybGRfYmFuay5weQ==) | `97.10% <0.00%> (-2.90%)` | :arrow_down: |
| [superset/examples/birth\_names.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZXhhbXBsZXMvYmlydGhfbmFtZXMucHk=) | `97.36% <0.00%> (-2.64%)` | :arrow_down: |
| [superset/views/database/mixins.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvZGF0YWJhc2UvbWl4aW5zLnB5) | `80.70% <0.00%> (-1.76%)` | :arrow_down: |
| ... and [401 more](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Ξ = absolute <relative> (impact)`, `ΓΈ = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=footer). Last update [234b6bb...d9c9fdb](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] codecov-commenter commented on pull request #10723: feat: test databases connection api
Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-683239330
# [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=h1) Report
> Merging [#10723](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-superset/commit/d3bdea3805e94055b1cfb225f67dcb188a1ad98a?el=desc) will **decrease** coverage by `3.46%`.
> The diff coverage is `n/a`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-superset/pull/10723/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l)](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #10723 +/- ##
==========================================
- Coverage 65.00% 61.53% -3.47%
==========================================
Files 789 428 -361
Lines 37128 13944 -23184
Branches 3555 3554 -1
==========================================
- Hits 24134 8581 -15553
+ Misses 12887 5176 -7711
- Partials 107 187 +80
```
| Flag | Coverage Ξ | |
|---|---|---|
| #cypress | `?` | |
| #javascript | `61.53% <ΓΈ> (+0.18%)` | :arrow_up: |
| #python | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree) | Coverage Ξ | |
|---|---|---|
| [superset-frontend/src/SqlLab/App.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL1NxbExhYi9BcHAuanN4) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/explore/App.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvQXBwLmpzeA==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/dashboard/App.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9BcHAuanN4) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/explore/index.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvaW5kZXguanN4) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/dashboard/index.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9pbmRleC5qc3g=) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/setup/setupColors.js](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3NldHVwL3NldHVwQ29sb3JzLmpz) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/chart/ChartContainer.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NoYXJ0L0NoYXJ0Q29udGFpbmVyLmpzeA==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/setup/setupFormatters.js](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3NldHVwL3NldHVwRm9ybWF0dGVycy5qcw==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/explore/reducers/index.js](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvcmVkdWNlcnMvaW5kZXguanM=) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/setup/setupPluginsExtra.js](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3NldHVwL3NldHVwUGx1Z2luc0V4dHJhLmpz) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| ... and [531 more](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Ξ = absolute <relative> (impact)`, `ΓΈ = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=footer). Last update [d3bdea3...2434726](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] lilykuang closed pull request #10723: feat: test databases connection api
Posted by GitBox <gi...@apache.org>.
lilykuang closed pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] codecov-commenter edited a comment on pull request #10723: feat(databases): test connection api
Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-683239330
# [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=h1) Report
> Merging [#10723](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-superset/commit/bc4f98e5b895ad51b2b3663c34e19312f4f4f9c7?el=desc) will **decrease** coverage by `4.10%`.
> The diff coverage is `85.22%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-superset/pull/10723/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l)](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #10723 +/- ##
==========================================
- Coverage 65.38% 61.28% -4.11%
==========================================
Files 802 803 +1
Lines 37817 37900 +83
Branches 3555 3555
==========================================
- Hits 24728 23228 -1500
- Misses 12983 14486 +1503
- Partials 106 186 +80
```
| Flag | Coverage Ξ | |
|---|---|---|
| #cypress | `?` | |
| #javascript | `61.60% <ΓΈ> (ΓΈ)` | |
| #python | `61.10% <85.22%> (+0.10%)` | :arrow_up: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree) | Coverage Ξ | |
|---|---|---|
| [superset/tasks/schedules.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdGFza3Mvc2NoZWR1bGVzLnB5) | `75.74% <0.00%> (ΓΈ)` | |
| [superset/views/base\_api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvYmFzZV9hcGkucHk=) | `98.25% <ΓΈ> (ΓΈ)` | |
| [superset/views/core.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvY29yZS5weQ==) | `74.48% <0.00%> (ΓΈ)` | |
| [superset/databases/api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2FwaS5weQ==) | `88.57% <70.96%> (-3.85%)` | :arrow_down: |
| [superset/databases/commands/test\_connection.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2NvbW1hbmRzL3Rlc3RfY29ubmVjdGlvbi5weQ==) | `94.73% <94.73%> (ΓΈ)` | |
| [superset/databases/commands/exceptions.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2NvbW1hbmRzL2V4Y2VwdGlvbnMucHk=) | `90.62% <100.00%> (+0.96%)` | :arrow_up: |
| [superset/databases/dao.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2Rhby5weQ==) | `100.00% <100.00%> (ΓΈ)` | |
| [superset/databases/schemas.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL3NjaGVtYXMucHk=) | `99.25% <100.00%> (+0.04%)` | :arrow_up: |
| [superset-frontend/src/SqlLab/App.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL1NxbExhYi9BcHAuanN4) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| [superset-frontend/src/explore/App.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvQXBwLmpzeA==) | `0.00% <0.00%> (-100.00%)` | :arrow_down: |
| ... and [166 more](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Ξ = absolute <relative> (impact)`, `ΓΈ = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=footer). Last update [bc4f98e...df82f00](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] riahk commented on pull request #10723: feat(databases): test connection api
Posted by GitBox <gi...@apache.org>.
riahk commented on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-689746859
LGTM!!
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] willbarrett merged pull request #10723: feat(databases): test connection api
Posted by GitBox <gi...@apache.org>.
willbarrett merged pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] codecov-commenter edited a comment on pull request #10723: feat(databases): test connection api
Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-683239330
# [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=h1) Report
> Merging [#10723](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-superset/commit/3b4a992861e9c6942b37a162316e2be9d48b380b?el=desc) will **increase** coverage by `0.06%`.
> The diff coverage is `85.55%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-superset/pull/10723/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l)](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #10723 +/- ##
==========================================
+ Coverage 65.40% 65.46% +0.06%
==========================================
Files 802 803 +1
Lines 37872 37956 +84
Branches 3561 3561
==========================================
+ Hits 24770 24849 +79
- Misses 12996 12998 +2
- Partials 106 109 +3
```
| Flag | Coverage Ξ | |
|---|---|---|
| #cypress | `55.57% <ΓΈ> (-0.53%)` | :arrow_down: |
| #javascript | `61.65% <ΓΈ> (ΓΈ)` | |
| #python | `61.18% <85.55%> (+0.27%)` | :arrow_up: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree) | Coverage Ξ | |
|---|---|---|
| [superset/app.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvYXBwLnB5) | `80.15% <ΓΈ> (ΓΈ)` | |
| [superset/tasks/schedules.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdGFza3Mvc2NoZWR1bGVzLnB5) | `75.74% <0.00%> (ΓΈ)` | |
| [superset/views/base\_api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvYmFzZV9hcGkucHk=) | `98.25% <ΓΈ> (ΓΈ)` | |
| [superset/views/core.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvY29yZS5weQ==) | `74.48% <0.00%> (ΓΈ)` | |
| [superset/databases/api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2FwaS5weQ==) | `89.36% <70.96%> (-3.68%)` | :arrow_down: |
| [superset/databases/commands/test\_connection.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2NvbW1hbmRzL3Rlc3RfY29ubmVjdGlvbi5weQ==) | `94.73% <94.73%> (ΓΈ)` | |
| [superset/databases/commands/exceptions.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2NvbW1hbmRzL2V4Y2VwdGlvbnMucHk=) | `90.62% <100.00%> (+0.96%)` | :arrow_up: |
| [superset/databases/dao.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2Rhby5weQ==) | `100.00% <100.00%> (ΓΈ)` | |
| [superset/databases/schemas.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL3NjaGVtYXMucHk=) | `99.34% <100.00%> (+0.03%)` | :arrow_up: |
| [...et-frontend/src/SqlLab/reducers/getInitialState.js](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL1NxbExhYi9yZWR1Y2Vycy9nZXRJbml0aWFsU3RhdGUuanM=) | `33.33% <0.00%> (-16.67%)` | :arrow_down: |
| ... and [15 more](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Ξ = absolute <relative> (impact)`, `ΓΈ = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=footer). Last update [3b4a992...5d2e1f7](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [incubator-superset] codecov-commenter edited a comment on pull request #10723: feat(databases): test connection api
Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #10723:
URL: https://github.com/apache/incubator-superset/pull/10723#issuecomment-683239330
# [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=h1) Report
> Merging [#10723](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-superset/commit/3b4a992861e9c6942b37a162316e2be9d48b380b?el=desc) will **increase** coverage by `0.15%`.
> The diff coverage is `85.55%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-superset/pull/10723/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l)](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #10723 +/- ##
==========================================
+ Coverage 65.40% 65.56% +0.15%
==========================================
Files 802 803 +1
Lines 37872 37956 +84
Branches 3561 3561
==========================================
+ Hits 24770 24884 +114
+ Misses 12996 12966 -30
Partials 106 106
```
| Flag | Coverage Ξ | |
|---|---|---|
| #cypress | `56.03% <ΓΈ> (-0.07%)` | :arrow_down: |
| #javascript | `61.65% <ΓΈ> (ΓΈ)` | |
| #python | `61.18% <85.55%> (+0.27%)` | :arrow_up: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=tree) | Coverage Ξ | |
|---|---|---|
| [superset/app.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvYXBwLnB5) | `80.15% <ΓΈ> (ΓΈ)` | |
| [superset/tasks/schedules.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdGFza3Mvc2NoZWR1bGVzLnB5) | `75.74% <0.00%> (ΓΈ)` | |
| [superset/views/base\_api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvYmFzZV9hcGkucHk=) | `98.25% <ΓΈ> (ΓΈ)` | |
| [superset/views/core.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvdmlld3MvY29yZS5weQ==) | `74.48% <0.00%> (ΓΈ)` | |
| [superset/databases/api.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2FwaS5weQ==) | `89.36% <70.96%> (-3.68%)` | :arrow_down: |
| [superset/databases/commands/test\_connection.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2NvbW1hbmRzL3Rlc3RfY29ubmVjdGlvbi5weQ==) | `94.73% <94.73%> (ΓΈ)` | |
| [superset/databases/commands/exceptions.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2NvbW1hbmRzL2V4Y2VwdGlvbnMucHk=) | `90.62% <100.00%> (+0.96%)` | :arrow_up: |
| [superset/databases/dao.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL2Rhby5weQ==) | `100.00% <100.00%> (ΓΈ)` | |
| [superset/databases/schemas.py](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQvZGF0YWJhc2VzL3NjaGVtYXMucHk=) | `99.34% <100.00%> (+0.03%)` | :arrow_up: |
| [...rontend/src/SqlLab/components/QueryAutoRefresh.jsx](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL1NxbExhYi9jb21wb25lbnRzL1F1ZXJ5QXV0b1JlZnJlc2guanN4) | `65.90% <0.00%> (-6.82%)` | :arrow_down: |
| ... and [8 more](https://codecov.io/gh/apache/incubator-superset/pull/10723/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Ξ = absolute <relative> (impact)`, `ΓΈ = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=footer). Last update [3b4a992...5d2e1f7](https://codecov.io/gh/apache/incubator-superset/pull/10723?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org