test/TestCallback.py
498a550f
 # (C) 2013, Michael Scherer, <misc@zarb.org>
 
 # This file is part of Ansible
 #
 # Ansible is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # Ansible is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
 
 import os
 import unittest
 import subprocess
 
 # if you change here, also change in the plugin
 FILE_DISABLE = '/tmp/ansible_test_disable'
 FILE_RUN = '/tmp/ansible_test_finish'
 
 
 class TestInventory(unittest.TestCase):
 
     def setUp(self):
         self.cwd = os.getcwd()
         os.chdir(os.path.join(os.path.dirname(__file__), 'test_callbacks'))
 
     def clean_file(self):
         if os.path.exists(FILE_RUN):
             os.unlink(FILE_RUN)
         if os.path.exists(FILE_DISABLE):
             os.unlink(FILE_DISABLE)
 
     def tearDown(self):
         os.chdir(self.cwd)
 
     def run_ansible_playbook(self):
76ed19d2
         subprocess.call(('source ../../hacking/env-setup 2>&1 >/dev/null;'
                          'ansible-playbook -i "127.0.0.1," test_playbook.yml 2>&1 >/dev/null'),
                         shell=True, executable='/bin/bash')
498a550f
 
     def test_callback(self):
         self.clean_file()
 
         self.run_ansible_playbook()
         assert os.path.exists(FILE_RUN)
         self.clean_file()
 
     def test_callback_disabled(self):
         self.clean_file()
         open(FILE_DISABLE, 'w').close()
 
         self.run_ansible_playbook()
         assert not os.path.exists(FILE_RUN)
 
         self.clean_file()