I think a more event-driven pattern here would be:
```python
from ion.services.dm.test.test_dm_end_2_end import DatasetMonitor

dataset_monitor = DatasetMonitor(dataset_id)

rdt = RecordDictionaryTool(stream_definition_id=self.stream_def_id)
rdt['time']         = [0] # time should always come first
rdt['conductivity'] = [1]
rdt['pressure']     = [2]
rdt['salinity']     = [8]

self.publisher.publish(rdt.to_granule())
self.assertTrue(dataset_monitor.wait())
```

plus it asserts that the data made it through.