Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-2088

Add more complex end-to-end tests in "plus" module, using Chinook data set

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.16.0
    • Component/s: None
    • Labels:
      None

      Description

      As in following correspondence - we would like to have more tests with more complexity. This should lead to lower regressions.

      Yes, please do.

      On Dec 8, 2017, at 7:13 AM, ptr.bojko@gmail.com wrote:

      I've taken a look into quidem.

      I will log jira for that and assign it to myself, ok?

      On Tue, Dec 5, 2017, 22:26 Julian Hyde <jhyde@apache.org> wrote:

      More tests are always welcome.

      I would be wary of adding a new approach (assertj-db). Over time we end up
      with as many approaches as there are contributors, and so the code becomes
      hard to maintain. Consider using quidem (see QuidemTest and various .iq
      files in the code base); it combines assertion-based testing with the
      simplicity of script-based tests.

      This could be added to the “plus” module, where we don’t mind extra
      dependencies, and don’t mind if the test suite takes a long time.

      Julian

      On Dec 2, 2017, at 3:40 PM, ptr.bojko@gmail.com wrote:

      Hello fellow calcite dev team,

      I am building a database with use of calcite framework and decided that
      instead of simple unit tests I will go only with integration tests. This
      is
      due the fact that my code only glues the calcite with data and configures
      the whole thing decorating with web api and jdbc access (with avatica
      ).

      I have some problems with calcite, possible bugs - some of them in apache
      jira for calcite logged already. Those problem are visible through my
      tests.

      And with that in mind I have an idea for a new maven artifact for
      calcite -
      end to end tests for an example h2 database. Database could have some
      tables with data - maybe 100k rows in all tables. Tests with assertj and
      its derivatives, something like I've done in my project - see the
      pastebin
      https://pastebin.com/raw/mevih4k6 .

      Such test set can help with lowering regressions establishing a common
      ground for talking about the calcite behaviour on specific cases (which
      can
      be described through end2end tests).

      The tech under such maven artifact can be pretty simple:

      • h2 as a data source, maybe some other
      • one properly complicated json calcite schema
      • some tech for populating h2 with data (just for having data with some
        descriptive language, not a binary format)
      • assertj-db for DSL in tests

      What do You think?

      Cheers,
      Pete

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ptrbojko Piotr Bojko
                Reporter:
                ptrbojko Piotr Bojko
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: