[
https://issues.apache.org/jira/browse/PHOENIX-3531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15751855#comment-15751855
]
Kevin Liew commented on PHOENIX-3531:
-------------------------------------
Hi [~elserj]
To catch a bug like PHOENIX-3510, we would have needed a `prepare` test for
each predicate. That takes significantly less time than the full test suite for
each predicate, but I worry that there might be new or existing divergences in
the code path (between the full client and the Avatica client) that we don't
account for until after a bug surfaces.
It would be nice to have at least an initial run or optional test suites.
Though I agree that in the long-term, after Avatica stabilizes, the replicated
tests won't add much value.
> Apply integration tests to the queryserver
> ------------------------------------------
>
> Key: PHOENIX-3531
> URL: https://issues.apache.org/jira/browse/PHOENIX-3531
> Project: Phoenix
> Issue Type: Task
> Affects Versions: 4.8.0
> Reporter: Kevin Liew
> Assignee: Kevin Liew
> Priority: Minor
> Labels: integration-tests, test-framework
>
> We can add queryserver tests that extend the direct tests.
> ie. QueryServerLikeExpressionIT extends LikeExpressionIT.
> `getUrl` needs to be overridden to access the test cluster through the
> queryserver. We can't override static methods or fields (but getUrl needs to
> be static because in many cases it is used in @BeforeClass) but we could use
> dependency injection to inject a url-holder. This way, the QueryServer~IT
> tests will be shell classes that simply override initialization of the
> url-holder.
> This could effectively double the amount of time taken to run integration
> tests.
> Any objections to using dependency injection - or alternative solutions?
> Should we replicate tests across the board or selectively?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)