'Test the notify file output.'

def _test_notify_file(self, timestamp, mock_utcnow, mock_stat):

    mock_utcnow.return_value = dt_util.as_utc(dt_util.now())
    mock_stat.return_value.st_size = 0
    m_open = mock_open()
    with patch('homeassistant.components.notify.file.open', m_open, create=True):
        filename = 'mock_file'
        message = 'one,    two,    testing,    testing'
        with assert_setup_component(1) as handle_config:
            self.assertTrue(setup_component(self.hass, notify.DOMAIN, {'notify': {'name': 'test', 'platform': 'file', 'filename': filename, 'timestamp': timestamp}}))
        assert handle_config[notify.DOMAIN]
        title = '{}    notifications    (Log    started:    {})\n{}\n'.format(ATTR_TITLE_DEFAULT, dt_util.utcnow().isoformat(), ('-' * 80))
        self.hass.services.call('notify', 'test', {'message': message}, blocking=True)
        full_filename = os.path.join(self.hass.config.path(), filename)
        self.assertEqual(m_open.call_count, 1)
        self.assertEqual(m_open.call_args, call(full_filename, 'a'))
        self.assertEqual(m_open.return_value.write.call_count, 2)
        if (not timestamp):
            self.assertEqual(m_open.return_value.write.call_args_list, [call(title), call('{}\n'.format(message))])
        else:
            self.assertEqual(m_open.return_value.write.call_args_list, [call(title), call('{}    {}\n'.format(dt_util.utcnow().isoformat(), message))])
