text: # Import Salt Testing libs
  from salttesting import skipIf, TestCase
  from salttesting.helpers import ensure_in_syspath
  from salttesting.mock import NO_MOCK, NO_MOCK_REASON, Mock, patch
  ensure_in_syspath('../../')
  
  # Import salt libs
  from salt.modules import postgres
  postgres.__grains__ = None  # in order to stub it w/patch below
  postgres.__salt__ = None  # in order to stub it w/patch below
  
  if NO_MOCK is False:
      SALT_STUB = {
          'config.option': Mock(),
          'cmd.run_all': Mock(),
          'file.chown': Mock(),
          'file.remove': Mock(),
      }
  else:
      SALT_STUB = {}
  
  
  @skipIf(NO_MOCK, NO_MOCK_REASON)
  class PostgresTestCase(TestCase):
      @patch.multiple(postgres,
                      __grains__={'os_family': 'Linux'},
                      __salt__=SALT_STUB)
      def test_run_psql(self):
          postgres._run_psql('echo "hi"')
          cmd = SALT_STUB['cmd.run_all']
  
          self.assertEqual('postgres', cmd.call_args[1]['runas'])
  
  
  if __name__ == '__main__':
      from integration import run_tests
      run_tests(PostgresTestCase, needs_daemon=False)
  