def test_process_creates_shards(self): task = ImportTask() patches = [ mock.patch('google.appengine.ext.deferred.defer'), mock.patch('osmosis.models.ImportShard.objects.create'), mock.patch('osmosis.models.ImportTask.objects.get', side_effect=lambda *args, **kwargs: task), mock.patch('osmosis.models.ImportTask.save') ] with nested(*patches) as (mock_def, mock_create, mock_get, mock_save): task.Osmosis.rows_per_shard = 1 task.source_data = TEST_FILE_ONE task.process() self.assertEqual(5, mock_create.call_count)