[
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 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.
was:
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.
> 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 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)