mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2025-10-25 05:23:58 -07:00 
			
		
		
		
	* test/: PEP8 compliancy - Make PEP8 compliant * Python3 chokes on casting int to bytes (#24952) But if we tell the formatter that the var is a number, it works
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # (c) 2012-2014, Michael DeHaan <michael.dehaan@gmail.com>
 | |
| #
 | |
| # 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/>.
 | |
| 
 | |
| # Make coding more python3-ish
 | |
| from __future__ import (absolute_import, division, print_function)
 | |
| __metaclass__ = type
 | |
| 
 | |
| from ansible.compat.tests import unittest
 | |
| from ansible.playbook.block import Block
 | |
| from ansible.playbook.task import Task
 | |
| 
 | |
| 
 | |
| class TestBlock(unittest.TestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         pass
 | |
| 
 | |
|     def tearDown(self):
 | |
|         pass
 | |
| 
 | |
|     def test_construct_empty_block(self):
 | |
|         b = Block()
 | |
| 
 | |
|     def test_construct_block_with_role(self):
 | |
|         pass
 | |
| 
 | |
|     def test_load_block_simple(self):
 | |
|         ds = dict(
 | |
|             block=[],
 | |
|             rescue=[],
 | |
|             always=[],
 | |
|             # otherwise=[],
 | |
|         )
 | |
|         b = Block.load(ds)
 | |
|         self.assertEqual(b.block, [])
 | |
|         self.assertEqual(b.rescue, [])
 | |
|         self.assertEqual(b.always, [])
 | |
|         # not currently used
 | |
|         # self.assertEqual(b.otherwise, [])
 | |
| 
 | |
|     def test_load_block_with_tasks(self):
 | |
|         ds = dict(
 | |
|             block=[dict(action='block')],
 | |
|             rescue=[dict(action='rescue')],
 | |
|             always=[dict(action='always')],
 | |
|             # otherwise=[dict(action='otherwise')],
 | |
|         )
 | |
|         b = Block.load(ds)
 | |
|         self.assertEqual(len(b.block), 1)
 | |
|         self.assertIsInstance(b.block[0], Task)
 | |
|         self.assertEqual(len(b.rescue), 1)
 | |
|         self.assertIsInstance(b.rescue[0], Task)
 | |
|         self.assertEqual(len(b.always), 1)
 | |
|         self.assertIsInstance(b.always[0], Task)
 | |
|         # not currently used
 | |
|         # self.assertEqual(len(b.otherwise), 1)
 | |
|         # self.assertIsInstance(b.otherwise[0], Task)
 | |
| 
 | |
|     def test_load_implicit_block(self):
 | |
|         ds = [dict(action='foo')]
 | |
|         b = Block.load(ds)
 | |
|         self.assertEqual(len(b.block), 1)
 | |
|         self.assertIsInstance(b.block[0], Task)
 | |
| 
 | |
|     def test_deserialize(self):
 | |
|         ds = dict(
 | |
|             block=[dict(action='block')],
 | |
|             rescue=[dict(action='rescue')],
 | |
|             always=[dict(action='always')],
 | |
|         )
 | |
|         b = Block.load(ds)
 | |
|         data = dict(parent=ds, parent_type='Block')
 | |
|         b.deserialize(data)
 | |
|         self.assertIsInstance(b._parent, Block)
 |