mirror of
https://github.com/vlang/v.git
synced 2025-08-04 02:07:28 -04:00
52 lines
1.2 KiB
V
52 lines
1.2 KiB
V
// vtest build: false // TODO: see if the interface notice can be fixed and the test made to pass with latest V
|
|
import net.ftp
|
|
|
|
fn test_ftp_client() {
|
|
$if !network ? {
|
|
return
|
|
}
|
|
// Note: this function makes network calls to external servers,
|
|
// that is why it is not a very good idea to run it in CI.
|
|
// If you want to run it manually, use:
|
|
// `v -d network vlib/net/ftp/ftp_test.v`
|
|
ftp_client_test_inside() or { panic(err) }
|
|
}
|
|
|
|
fn ftp_client_test_inside() ! {
|
|
mut zftp := ftp.new()
|
|
// eprintln(zftp)
|
|
defer {
|
|
zftp.close() or { panic(err) }
|
|
}
|
|
connect_result := zftp.connect('ftp.redhat.com:21')!
|
|
assert connect_result
|
|
login_result := zftp.login('ftp', 'ftp')!
|
|
assert login_result
|
|
pwd := zftp.pwd()!
|
|
assert pwd.len > 0
|
|
zftp.cd('/') or {
|
|
assert false
|
|
return
|
|
}
|
|
dir_list1 := zftp.dir() or {
|
|
assert false
|
|
return
|
|
}
|
|
assert dir_list1.len > 0
|
|
zftp.cd('/suse/linux/enterprise/11Server/en/SAT-TOOLS/SRPMS/') or {
|
|
assert false
|
|
return
|
|
}
|
|
dir_list2 := zftp.dir() or {
|
|
assert false
|
|
return
|
|
}
|
|
assert dir_list2.len > 0
|
|
assert dir_list2.contains('katello-host-tools-3.3.5-8.sles11_4sat.src.rpm')
|
|
blob := zftp.get('katello-host-tools-3.3.5-8.sles11_4sat.src.rpm') or {
|
|
assert false
|
|
return
|
|
}
|
|
assert blob.len > 0
|
|
}
|