transfer logs: add FTP mode

This commit is contained in:
Nicola Murino
2021-08-10 13:07:38 +02:00
parent 0de0d3308c
commit 555dc3b0c0
6 changed files with 63 additions and 8 deletions

View File

@@ -253,6 +253,7 @@ xr5cb9VBRBtB9aOKVfuRhpatAfS2Pzm2Htae9lFn7slGPUmu2hkjDw==
)
type mockFTPClientContext struct {
lastDataChannel ftpserver.DataChannel
}
func (cc mockFTPClientContext) Path() string {
@@ -298,7 +299,7 @@ func (cc mockFTPClientContext) GetLastCommand() string {
}
func (cc mockFTPClientContext) GetLastDataChannel() ftpserver.DataChannel {
return ftpserver.DataChannelPassive
return cc.lastDataChannel
}
// MockOsFs mockable OsFs
@@ -559,6 +560,19 @@ func TestUserInvalidParams(t *testing.T) {
assert.Error(t, err)
}
func TestFTPMode(t *testing.T) {
connection := &Connection{
BaseConnection: common.NewBaseConnection("", common.ProtocolFTP, "", "", dataprovider.User{}),
}
assert.Empty(t, connection.getFTPMode())
connection.clientContext = mockFTPClientContext{lastDataChannel: ftpserver.DataChannelActive}
assert.Equal(t, "active", connection.getFTPMode())
connection.clientContext = mockFTPClientContext{lastDataChannel: ftpserver.DataChannelPassive}
assert.Equal(t, "passive", connection.getFTPMode())
connection.clientContext = mockFTPClientContext{lastDataChannel: 0}
assert.Empty(t, connection.getFTPMode())
}
func TestClientVersion(t *testing.T) {
mockCC := mockFTPClientContext{}
connID := fmt.Sprintf("2_%v", mockCC.ID())