@@ -258,15 +258,23 @@ public void testStartStop() throws IOException {
258258 GetDataFrameTransformStatsResponse statsResponse = execute (new GetDataFrameTransformStatsRequest (id ),
259259 client ::getDataFrameTransformStats , client ::getDataFrameTransformStatsAsync );
260260 assertThat (statsResponse .getTransformsStateAndStats (), hasSize (1 ));
261- IndexerState indexerState = statsResponse .getTransformsStateAndStats ().get (0 ).getTransformState ().getIndexerState ();
262- assertThat (indexerState , is (oneOf (IndexerState .STARTED , IndexerState .INDEXING )));
261+ DataFrameTransformTaskState taskState = statsResponse .getTransformsStateAndStats ().get (0 ).getTransformState ().getTaskState ();
262+
263+ // Since we are non-continuous, the transform could auto-stop between being started earlier and us gathering the statistics
264+ assertThat (taskState , is (oneOf (DataFrameTransformTaskState .STARTED , DataFrameTransformTaskState .STOPPED )));
263265
264266 StopDataFrameTransformRequest stopRequest = new StopDataFrameTransformRequest (id , Boolean .TRUE , null );
265267 StopDataFrameTransformResponse stopResponse =
266268 execute (stopRequest , client ::stopDataFrameTransform , client ::stopDataFrameTransformAsync );
267269 assertTrue (stopResponse .isAcknowledged ());
268270 assertThat (stopResponse .getNodeFailures (), empty ());
269271 assertThat (stopResponse .getTaskFailures (), empty ());
272+
273+ // Calling stop with wait_for_completion assures that we will be in the `STOPPED` state for the transform task
274+ statsResponse = execute (new GetDataFrameTransformStatsRequest (id ),
275+ client ::getDataFrameTransformStats , client ::getDataFrameTransformStatsAsync );
276+ taskState = statsResponse .getTransformsStateAndStats ().get (0 ).getTransformState ().getTaskState ();
277+ assertThat (taskState , is (DataFrameTransformTaskState .STOPPED ));
270278 }
271279
272280 public void testPreview () throws IOException {
0 commit comments