runTestProcess method
The process for asserting and return AsserestResult
to determine
accessibility of AsserestProperty.url
.
Implementation
@override
Future<AsserestResult> runTestProcess() async {
FTPConnect? ftpConn = null;
try {
if (property.accessible) {
// Accessible case
for (int count = 0; count < property.tryCount!; count++) {
ftpConn = await _ftpConn();
if (ftpConn != null) {
break;
}
}
if (ftpConn == null) {
return AsserestResult.failure;
} else if (property.fileAccess == null) {
return AsserestResult.success;
}
return _fileAccessTester(ftpConn);
} else {
// Inaccessible case
ftpConn = await _ftpConn();
return ftpConn == null
? AsserestResult.success
: AsserestResult.failure;
}
} on FTPConnectException {
// Assume failed if FtpConnect throw exceptions
return AsserestResult.failure;
} catch (_) {
// Other error exception which likely not related with FtpConnect
return AsserestResult.error;
} finally {
// Ensure disconnected
try {
await ftpConn!.disconnect();
} catch (__) {}
}
}