-
Notifications
You must be signed in to change notification settings - Fork 12
/
test_ftp_uploads.py
89 lines (79 loc) · 2.94 KB
/
test_ftp_uploads.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# (c) 2019 Open Source Geospatial Foundation - all rights reserved
# (c) 2014 - 2015 Centre for Maritime Research and Experimentation (CMRE)
# (c) 2013 - 2014 German Aerospace Center (DLR)
# This code is licensed under the GPL 2.0 license, available at the root
# application directory.
import unittest
from wpsremote.path import path
from wpsremote.ftpUpload import EzFtp, FtpUpload
from wpsremote.sftpUpload import EzFtp as EzSFtp
from wpsremote.ftpsUpload import FtpsUpload
from mock import patch
from ftplib import FTP
__author__ = "Alessio Fabiani"
__copyright__ = "Copyright 2019 Open Source Geospatial Foundation - all rights reserved"
__license__ = "GPL"
class TestFtpUploads(unittest.TestCase):
@patch('ftplib.FTP', autospec=True)
def test_EzFtp(self, mock_ftp):
mockFTP = mock_ftp.return_value
ezFtp = EzFtp(mockFTP)
self.assertEqual(ezFtp.cd("test_dir"), 1)
try:
ezFtp.setRoot("root_dir")
ezFtp.putasc(
"./src/wpsremote/xmpp_data/test/test_file",
"/tmp/test_asc"
)
ezFtp.putbin(
"./src/wpsremote/xmpp_data/test/test_file",
"/tmp/test_bin"
)
ezFtp.delete("/tmp/test_bin")
ezFtp.quit()
except Exception as e:
self.fail(e)
@patch('ftplib.FTP', autospec=True)
def test_FtpUpload(self, mock_ftp):
mockFTP = mock_ftp.return_value
try:
ftpUpload = FtpUpload("host", "username", "password")
ftpUpload.ftp = mockFTP
ftpUpload.setHost("host:port", "username", "password")
ftpUpload.setMd5File("./src/wpsremote/xmpp_data/test/test_upload")
ftpUpload.Upload()
ftpUpload.deleteOldFiles()
ftpUpload.finish()
path("./src/wpsremote/xmpp_data/test/test_upload").remove()
except Exception as e:
self.fail(e)
@patch('ftplib.FTP', autospec=FTP())
def test_EzSFtp(self, mock_ftp):
mockFTP = mock_ftp.return_value
ezSFtp = EzSFtp(mockFTP)
self.assertEqual(ezSFtp.cd("test_dir"), 1)
try:
ezSFtp.setRoot("root_dir")
ezSFtp.putasc(
"./src/wpsremote/xmpp_data/test/test_file",
"/tmp/test_asc"
)
ezSFtp.putbin(
"./src/wpsremote/xmpp_data/test/test_file",
"/tmp/test_bin"
)
ezSFtp.delete("/tmp/test_bin")
ezSFtp.quit()
except Exception as e:
self.fail(e)
@patch('ftplib.FTP', autospec=True)
def test_FtpsUpload(self, mock_ftp):
mockFTP = mock_ftp.return_value
try:
ftpsUpload = FtpsUpload("host", "username", "password")
ftpsUpload.ftp = mockFTP
ftpsUpload.setHost("host:port", "username", "password")
except Exception as e:
self.fail(e)
if __name__ == '__main__':
unittest.main()