Esempio n. 1
0
class SSHClientVerification(Spec):
    def before_each(self):
        self.paramiko_stub = create_paramiko_client_stub(
            command_stdout_rtn=[
                'total 132',
                'drwxr-xr-x   2 root root  4096 Sep  2 13:36 bin'
            ]
        )
        self.ssh_credentials = create_key_creds()

        self.ssh_client = SSHClient(client=self.paramiko_stub,
                                    host='bam',
                                    port=21,
                                    credentials=self.ssh_credentials)

    def can_create_an_instance(self):
        expect(self.ssh_client).not_to.be_none()

    def unassigned_client_auto_creates_a_paramiko_client(self):
        inst = SSHClient(host='bam', port=21, credentials=self.ssh_credentials)
        expect(inst).not_to.be_none()
        expect(type(inst.client)).to.equal(paramiko.SSHClient)

    def sets_key_policy_on_client(self):

        self.ssh_client._set_key_policy()
        set_host_key_method = self.paramiko_stub.set_missing_host_key_policy
        expect(len(set_host_key_method.calls)).to.equal(1)

    def can_connect(self):
        self.ssh_client.connect()
        expect(len(self.paramiko_stub.connect.calls)).to.equal(1)

    def can_connect_with_args(self):
        self.ssh_client.connect(
            host='sample.host',
            port=80,
            credentials=self.ssh_credentials)

        expect(self.ssh_client.host).to.equal('sample.host')
        expect(self.ssh_client.port).to.equal(80)

    def can_close(self):
        self.ssh_client.close()
        expect(len(self.paramiko_stub.close.calls)).to.equal(1)

    def can_execute_a_command(self):
        result = self.ssh_client.execute('ls -l /')
        expect(len(result[0])).to.be_greater_than(1)
Esempio n. 2
0
class SSHClientVerification(Spec):
    def before_each(self):
        self.paramiko_stub = create_paramiko_client_stub(command_stdout_rtn=[
            'total 132', 'drwxr-xr-x   2 root root  4096 Sep  2 13:36 bin'
        ])
        self.ssh_credentials = create_key_creds()

        self.ssh_client = SSHClient(client=self.paramiko_stub,
                                    host='bam',
                                    port=21,
                                    credentials=self.ssh_credentials)

    def can_create_an_instance(self):
        expect(self.ssh_client).not_to.be_none()

    def unassigned_client_auto_creates_a_paramiko_client(self):
        inst = SSHClient(host='bam', port=21, credentials=self.ssh_credentials)
        expect(inst).not_to.be_none()
        expect(type(inst.client)).to.equal(paramiko.SSHClient)

    def sets_key_policy_on_client(self):

        self.ssh_client._set_key_policy()
        set_host_key_method = self.paramiko_stub.set_missing_host_key_policy
        expect(len(set_host_key_method.calls)).to.equal(1)

    def can_connect(self):
        self.ssh_client.connect()
        expect(len(self.paramiko_stub.connect.calls)).to.equal(1)

    def can_connect_with_args(self):
        self.ssh_client.connect(host='sample.host',
                                port=80,
                                credentials=self.ssh_credentials)

        expect(self.ssh_client.host).to.equal('sample.host')
        expect(self.ssh_client.port).to.equal(80)

    def can_close(self):
        self.ssh_client.close()
        expect(len(self.paramiko_stub.close.calls)).to.equal(1)

    def can_execute_a_command(self):
        result = self.ssh_client.execute('ls -l /')
        expect(len(result[0])).to.be_greater_than(1)