[ 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)