示例#1
0
    def set_host_2_test(self):
        import log_picker.sending.ftpsender as ftp_s

        HOST = "ftp://foobar"

        obj = ftp_s.FtpSender()
        obj.set_host(HOST)

        self.assertEqual(HOST, obj.host)
示例#2
0
    def set_login_test(self):
        import log_picker.sending.ftpsender as ftp_s

        LOGIN = "******"
        PASSWORD = "******"

        obj = ftp_s.FtpSender()
        obj.set_login(LOGIN, PASSWORD)

        self.assertEqual(LOGIN, obj.username)
        self.assertEqual(PASSWORD, obj.password)
示例#3
0
    def sendfile_2_test(self):
        import log_picker.sending.ftpsender as ftp_s

        ftp_s.open = self.fs.open
        ftp_s.ftplib = mock.Mock()
        ftp_s.os = mock.Mock()
        ftp_s.os.path.basename = lambda x: x
        ftp_s.file = lambda x: x

        PORT = "55"
        HOST = "localhost"
        ADDRESS = "%s:%s" % (HOST, PORT)
        USERNAME = "******"
        PASSWORD = "******"
        FILE = "/tmp/somefile"
        MIMETYPE = "application/x-bzip2"

        self.fs.open(FILE, 'w').write("some content")

        obj = ftp_s.FtpSender()
        obj.set_host(ADDRESS)
        obj.set_login(USERNAME, PASSWORD)
        obj.sendfile(FILE, MIMETYPE)

        method_calls = ftp_s.ftplib.FTP().method_calls
        method_names = [x[0] for x in ftp_s.ftplib.FTP().method_calls]

        # Check calls order
        self.assertEqual(
            method_names,
            ['connect', 'login', 'cwd', 'set_pasv', 'storbinary', 'quit'])

        # Check arguments
        PARAMS = 1

        CONNECT = 0
        LOGIN = 1
        CWD = 2
        SET_PASV = 3
        STORBINARY = 4
        QUIT = 5

        self.assertEqual(method_calls[CONNECT][PARAMS], (HOST, PORT))
        self.assertEqual(method_calls[LOGIN][PARAMS], (USERNAME, PASSWORD))
        self.assertEqual(method_calls[CWD][PARAMS], ('', ))
        self.assertEqual(method_calls[SET_PASV][PARAMS], (True, ))
        self.assertEqual(method_calls[STORBINARY][PARAMS],
                         ('STOR %s' % FILE, FILE))
示例#4
0
    def sendfile_fail_test(self):
        import log_picker.sending.ftpsender as ftp_s

        ftp_s.open = self.fs.open
        ftp_s.ftplib = mock.Mock()
        ftp_s.os = mock.Mock()
        ftp_s.file = mock.Mock()
        import ftplib
        ftp_s.ftplib = mock.Mock()
        ftp_s.ftplib.all_errors = ftplib.all_errors
        ftp_s.ftplib.FTP().storbinary.side_effect = ftplib.error_temp("some")

        HOST = "localhost"
        FILE = "/tmp/somefile"
        MIMETYPE = "application/x-bzip2"

        self.fs.open(FILE, 'w').write("some content")

        obj = ftp_s.FtpSender()
        obj.set_host(HOST)
        self.assertRaises(ftp_s.SenderError, obj.sendfile, FILE, MIMETYPE)