import net.ftp // NB: 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` fn ftp_client_test_inside() ? { $if !network ? { return } mut ftp := ftp.new() defer { ftp.close() } connect_result := ftp.connect('ftp.redhat.com')? assert connect_result login_result := ftp.login('ftp', 'ftp')? assert login_result pwd := ftp.pwd()? assert pwd.len > 0 ftp.cd('/') dir_list1 := ftp.dir() or { assert false return } assert dir_list1.len > 0 ftp.cd('/suse/linux/enterprise/11Server/en/SAT-TOOLS/SRPMS/') dir_list2 := ftp.dir() or { assert false return } assert dir_list2.len > 0 blob := ftp.get('katello-host-tools-3.3.5-8.sles11_4sat.src.rpm') or { assert false return } assert blob.len > 0 } fn test_ftp_cleint() { ftp_client_test_inside() or { panic(err) } }