Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apache Superset: Verify connectivity to CrateDB with basic integration tests #217

Merged
merged 2 commits into from
Jan 8, 2024

Conversation

amotl
Copy link
Member

@amotl amotl commented Jan 7, 2024

About

This patch includes a few basic test cases having conversations with the Apache Superset UI and HTTP API, using a database connection to CrateDB. It is meant to monitor connectivity works, and doesn't break with future releases of both Apache Superset and CrateDB. By running the integration tests each night, the monitoring will be durable.

Documentation

The README document Verify Apache Superset with CrateDB included here is a mini tutorial which walks you through the steps needed to setup an instance of Apache Superset on your machine, and connect it to CrateDB. If you don't want to clone any repository to get started, effectively all you need are the requirements.txt and superset_config.py files.

Backlog

  • Add Apache Superset 3 and Python 3.12 to the test matrix on behalf of subsequent patches.
  • The tutorial Set up an Apache Superset development sandbox with CrateDB should be updated on a few spots: CrateDB version used should be latest, and CSRF_TOKEN as well as HTTP session is no longer needed.
  • There should also be a separate user-oriented tutorial on the community forum, where all developer-like steps like git clone are omitted. Most probably, a user-focused tutorial should be based on Docker Compose for running both Superset and CrateDB, but also not like the upstream documentation Installing Superset Locally Using Docker Compose is doing it, because it also uses a git clone inside. This new tutorial should be the primary resource to advertise when educating users about this integration, and it should also outline how to connect to CrateDB Cloud.

/cc @karynzv, @marijaselakovic, @ckurze

@amotl amotl changed the title Apache Superset: Add basic integration tests Apache Superset: Verify connectivity to CrateDB with basic integration tests Jan 7, 2024
@amotl amotl force-pushed the amo/apache-superset branch 3 times, most recently from 8aa6650 to dda20ba Compare January 7, 2024 01:40
Add a few basic integration tests having conversations with the Apache
Superset UI and HTTP API.
@amotl amotl force-pushed the amo/apache-superset branch from dda20ba to b2a0186 Compare January 7, 2024 01:45
@amotl amotl requested review from matriv, proddata and surister January 7, 2024 01:50
@amotl amotl marked this pull request as ready for review January 7, 2024 02:00
@amotl amotl requested a review from hlcianfagna January 7, 2024 02:02
Comment on lines +35 to +40
@pytest.fixture(scope="session")
def fix_greenlet():
"""
Install more recent greenlet, because Playwright installs version 3.0.1, which breaks Superset.
"""
os.system("pip install --upgrade greenlet")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well. Irgendwas ist immer. May need a report or patch on/for Playwright.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amotl
Copy link
Member Author

amotl commented Jan 7, 2024

@vvulf: You recently signaled interest in building something with Apache ECharts. On this matter, I'd also recommend to take a look at Apache Superset, because, well, it's a reasonable container application/framework already for exploring data with visualizations based on ECharts. It can be integrated well through its HTTP API, which has been outlined a bit within this patch.

@quodt, @SStorm: Playwright hasn't been used much at Crate.io, as far as I know. You also may want to take a look inside this patch, because I think it is the most advanced browser automation tool/interface these days. As with other topics, the devil is in the details of UI testing, but it doesn't take much efforts to quickly whip up a few test cases for UI purposes, thanks to its ergonomic interface and setup procedure, and that it works out of the box on CI/GHA. If you like that, HTML capturing with Imagecast may also resonate with you, as it is also using Playwright under the hood.

@amotl amotl merged commit e49671e into main Jan 8, 2024
2 checks passed
@amotl amotl deleted the amo/apache-superset branch January 8, 2024 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants