You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Bharath Kumarasubramanian (JIRA)" <ji...@apache.org> on 2019/04/18 18:39:00 UTC

[jira] [Commented] (SAMZA-2037) WatermarkIntegrationTest should not use internal fields for verification

    [ https://issues.apache.org/jira/browse/SAMZA-2037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16821405#comment-16821405 ] 

Bharath Kumarasubramanian commented on SAMZA-2037:
--------------------------------------------------

With this PR - [https://github.com/apache/samza/pull/905], the tests no longer uses reflection to inspect the fields. However, the fact that integration test inspects internals for verification still applies. It is still a challenge especially in case of extensions to tasks (custom wrappers around tasks) since this test assumes certain types of tasks.

 

> WatermarkIntegrationTest should not use internal fields for verification
> ------------------------------------------------------------------------
>
>                 Key: SAMZA-2037
>                 URL: https://issues.apache.org/jira/browse/SAMZA-2037
>             Project: Samza
>          Issue Type: Improvement
>            Reporter: Cameron Lee
>            Priority: Major
>
> WatermarkIntegrationTest uses reflection to extract StreamOperatorTasks in order to directly check watermarks. In addition, it assumes certain class types for tasks.
> Ideally, we would not need any reflection in tests. Integration tests especially should not need to use reflection, since they should be testing end-to-end functionality and not inspecting data that is not accessible through public APIs.
> One main challenge that this causes is that this test is more sensitive to implementation changes, since it needs to access specific fields and classes which are not part of the API.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)