@ -21,7 +21,10 @@ __metaclass__ = type
from io import StringIO
from io import StringIO
import mock
from ansible . compat . tests import unittest
from ansible . compat . tests import unittest
from ansible . errors import AnsibleError
from ansible . playbook . play_context import PlayContext
from ansible . playbook . play_context import PlayContext
from ansible . plugins . connection import ConnectionBase
from ansible . plugins . connection import ConnectionBase
@ -34,8 +37,10 @@ from ansible.plugins.connection.lxc import Connection as LxcConnection
from ansible . plugins . connection . local import Connection as LocalConnection
from ansible . plugins . connection . local import Connection as LocalConnection
from ansible . plugins . connection . paramiko_ssh import Connection as ParamikoConnection
from ansible . plugins . connection . paramiko_ssh import Connection as ParamikoConnection
from ansible . plugins . connection . ssh import Connection as SSHConnection
from ansible . plugins . connection . ssh import Connection as SSHConnection
from ansible . plugins . connection . docker import Connection as DockerConnection
#from ansible.plugins.connection.winrm import Connection as WinRmConnection
#from ansible.plugins.connection.winrm import Connection as WinRmConnection
class TestConnectionBaseClass ( unittest . TestCase ) :
class TestConnectionBaseClass ( unittest . TestCase ) :
def setUp ( self ) :
def setUp ( self ) :
@ -102,5 +107,21 @@ class TestConnectionBaseClass(unittest.TestCase):
def test_ssh_connection_module ( self ) :
def test_ssh_connection_module ( self ) :
self . assertIsInstance ( SSHConnection ( self . play_context , self . in_stream ) , SSHConnection )
self . assertIsInstance ( SSHConnection ( self . play_context , self . in_stream ) , SSHConnection )
@mock.patch ( ' ansible.plugins.connection.docker.Connection._old_docker_version ' , return_value = ( ' false ' , ' garbage ' , ' ' , 1 ) )
@mock.patch ( ' ansible.plugins.connection.docker.Connection._new_docker_version ' , return_value = ( ' docker version ' , ' 1.2.3 ' , ' ' , 0 ) )
def test_docker_connection_module_too_old ( self , mock_new_docker_verison , mock_old_docker_version ) :
self . assertRaises ( AnsibleError , DockerConnection , self . play_context , self . in_stream )
@mock.patch ( ' ansible.plugins.connection.docker.Connection._old_docker_version ' , return_value = ( ' false ' , ' garbage ' , ' ' , 1 ) )
@mock.patch ( ' ansible.plugins.connection.docker.Connection._new_docker_version ' , return_value = ( ' docker version ' , ' 1.3.4 ' , ' ' , 0 ) )
def test_docker_connection_module ( self , mock_new_docker_verison , mock_old_docker_version ) :
self . assertIsInstance ( DockerConnection ( self . play_context , self . in_stream ) , DockerConnection )
# old version and new version fail
@mock.patch ( ' ansible.plugins.connection.docker.Connection._old_docker_version ' , return_value = ( ' false ' , ' garbage ' , ' ' , 1 ) )
@mock.patch ( ' ansible.plugins.connection.docker.Connection._new_docker_version ' , return_value = ( ' false ' , ' garbage ' , ' ' , 1 ) )
def test_docker_connection_module_wrong_cmd ( self , mock_new_docker_version , mock_old_docker_version ) :
self . assertRaises ( AnsibleError , DockerConnection , self . play_context , self . in_stream )
# def test_winrm_connection_module(self):
# def test_winrm_connection_module(self):
# self.assertIsInstance(WinRmConnection(), WinRmConnection)
# self.assertIsInstance(WinRmConnection(), WinRmConnection)