[ 
https://issues.apache.org/jira/browse/SAMZA-2037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bharath Kumarasubramanian updated SAMZA-2037:
---------------------------------------------
    Description: 
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.

  was:
WatermarkIntegrationTest usesĀ internal fieldsĀ in order to directly check 
watermarks. In addition, it assumes certain class types for tasks.

Ideally, integration tests should not need to use internal fields, 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.


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

Reply via email to