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

Web console basic end-to-end-test #9595

Merged
merged 1 commit into from Apr 9, 2020
Merged

Conversation

ccaominh
Copy link
Contributor

@ccaominh ccaominh commented Apr 1, 2020

Description

Load data and query (i.e., automate https://druid.apache.org/docs/latest/tutorials/tutorial-batch.html) to have some basic checks ensuring the web console is wired up to druid correctly.


This PR has:

  • been self-reviewed.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added integration tests.

The new end-to-end tests (tutorial-batch.spec.ts) are added to
web-console/e2e-tests. Within that directory:

  • components represent the various tabs of the web console. Currently,
    abstractions for load data, ingestion, datasources, and query
    are implemented.
  • components/load-data/data-connector contains abstractions for the
    different data source options available to the data loader's Connect
    step. Currently, only the Local file data source connector is
    implemented.
  • components/load-data/config contains abstractions for the different
    configuration options available for each step of the data loader flow.
    Currently, the Configure Schema, Partition, and Publish steps
    have initial implementation of their configuration options.
  • util contains various helper methods for the tests and does not
    contain abstractions of the web console.

Changes to add the new tests to CI:

  • .travis.yml: New "web console end-to-end tests" job
  • web-console/jest.*.js: Refactor jest configurations to have
    different flavors for unit tests and for end-to-end tests. In
    particular, the latter adds a jest setup configuration to wait for the
    web console to be ready (web-console/e2e-tests/util/setup.ts).
  • web-console/package.json: Refactor run scripts to add new script for
    running end-to-end tests.
  • web-console/script/druid: Utility scripts for building, starting,
    and stopping druid.

Other changes:

  • pom.xml: Refactor various settings disable java static checks and to
    disable java tests into two new maven profiles. Since the same
    settings are used in several places (e.g., .travis.yml, Dockerfiles,
    etc.), having them in maven profiles makes it more maintainable.
  • web-console/src/console-application.tsx: Fix typo ("the the").

Load data and query (i.e., automate
https://druid.apache.org/docs/latest/tutorials/tutorial-batch.html) to
have some basic checks ensuring the web console is wired up to druid
correctly.

The new end-to-end tests (tutorial-batch.spec.ts) are added to
`web-console/e2e-tests`. Within that directory:
- `components` represent the various tabs of the web console. Currently,
  abstractions for `load data`, `ingestion`, `datasources`, and `query`
  are implemented.
- `components/load-data/data-connector` contains abstractions for the
  different data source options available to the data loader's `Connect`
  step. Currently, only the `Local file` data source connector is
  implemented.
- `components/load-data/config` contains abstractions for the different
  configuration options available for each step of the data loader flow.
  Currently, the `Configure Schema`, `Partition`, and `Publish` steps
  have initial implementation of their configuration options.
- `util` contains various helper methods for the tests and does not
  contain abstractions of the web console.

Changes to add the new tests to CI:
- `.travis.yml`: New "web console end-to-end tests" job
- `web-console/jest.*.js`: Refactor jest configurations to have
  different flavors for unit tests and for end-to-end tests. In
  particular, the latter adds a jest setup configuration to wait for the
  web console to be ready (`web-console/e2e-tests/util/setup.ts`).
- `web-console/package.json`: Refactor run scripts to add new script for
  running end-to-end tests.
- `web-console/script/druid`: Utility scripts for building, starting,
  and stopping druid.

Other changes:
- `pom.xml`: Refactor various settings disable java static checks and to
  disable java tests into two new maven profiles. Since the same
  settings are used in several places (e.g., .travis.yml, Dockerfiles,
  etc.), having them in maven profiles makes it more maintainable.
- `web-console/src/console-application.tsx`: Fix typo ("the the").
Copy link
Member

@clintropolis clintropolis left a comment

Choose a reason for hiding this comment

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

👍 lgtm, though would be nice if @vogievetsky could also have a look. Thanks for adding, this is really nice to have 🤘

@@ -1944,5 +1944,24 @@
<module>website</module>
</modules>
</profile>
<profile>
<id>skip-static-checks</id>
Copy link
Member

Choose a reason for hiding this comment

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

👍

@vogievetsky
Copy link
Contributor

This looks great. Thank you for adding these. 👍

@vogievetsky vogievetsky merged commit 84c1c25 into apache:master Apr 9, 2020
@ccaominh ccaominh deleted the playwright branch April 10, 2020 00:27
JulianJaffePinterest pushed a commit to JulianJaffePinterest/druid that referenced this pull request Jun 12, 2020
Load data and query (i.e., automate
https://druid.apache.org/docs/latest/tutorials/tutorial-batch.html) to
have some basic checks ensuring the web console is wired up to druid
correctly.

The new end-to-end tests (tutorial-batch.spec.ts) are added to
`web-console/e2e-tests`. Within that directory:
- `components` represent the various tabs of the web console. Currently,
  abstractions for `load data`, `ingestion`, `datasources`, and `query`
  are implemented.
- `components/load-data/data-connector` contains abstractions for the
  different data source options available to the data loader's `Connect`
  step. Currently, only the `Local file` data source connector is
  implemented.
- `components/load-data/config` contains abstractions for the different
  configuration options available for each step of the data loader flow.
  Currently, the `Configure Schema`, `Partition`, and `Publish` steps
  have initial implementation of their configuration options.
- `util` contains various helper methods for the tests and does not
  contain abstractions of the web console.

Changes to add the new tests to CI:
- `.travis.yml`: New "web console end-to-end tests" job
- `web-console/jest.*.js`: Refactor jest configurations to have
  different flavors for unit tests and for end-to-end tests. In
  particular, the latter adds a jest setup configuration to wait for the
  web console to be ready (`web-console/e2e-tests/util/setup.ts`).
- `web-console/package.json`: Refactor run scripts to add new script for
  running end-to-end tests.
- `web-console/script/druid`: Utility scripts for building, starting,
  and stopping druid.

Other changes:
- `pom.xml`: Refactor various settings disable java static checks and to
  disable java tests into two new maven profiles. Since the same
  settings are used in several places (e.g., .travis.yml, Dockerfiles,
  etc.), having them in maven profiles makes it more maintainable.
- `web-console/src/console-application.tsx`: Fix typo ("the the").
@clintropolis clintropolis added this to the 0.19.0 milestone Jun 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants