Add test for ftpget (#1056)

This commit is contained in:
Mehtab Zafar 2019-03-15 22:26:47 +05:30 committed by Michel Oosterhof
parent b7a0338f46
commit 6f49f3874b
1 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,53 @@
# -*- test-case-name: Cowrie Test Cases -*-
# Copyright (c) 2018 Michel Oosterhof
# See LICENSE for details.
from __future__ import absolute_import, division
import os
from twisted.trial import unittest
from cowrie.shell import protocol
from cowrie.test import fake_server, fake_transport
os.environ["HONEYPOT_DATA_PATH"] = "../data"
os.environ["HONEYPOT_DOWNLOAD_PATH"] = "/tmp"
os.environ["HONEYPOT_FILESYSTEM_FILE"] = "../share/cowrie/fs.pickle"
PROMPT = b"root@unitTest:~# "
class ShellftpgetCommandTests(unittest.TestCase):
def setUp(self):
self.proto = protocol.HoneyPotInteractiveProtocol(
fake_server.FakeAvatar(fake_server.FakeServer()))
self.tr = fake_transport.FakeTransport("1.1.1.1", "1111")
self.proto.makeConnection(self.tr)
self.tr.clear()
def test_help_command(self):
"""
Basic test
"""
self.proto.lineReceived(b'ftpget\n')
self.assertEquals(
self.tr.value(),
b"""BusyBox v1.20.2 (2016-06-22 15:12:53 EDT) multi-call binary.
Usage: ftpget [OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE
Download a file via FTP
-c Continue previous transfer
-v Verbose
-u USER Username
-p PASS Password
-P NUM Port\n\n"""
+ PROMPT)
def tearDown(self):
self.proto.connectionLost("tearDown From Unit Test")