How to use deleteFile method of com.consol.citrus.ftp.client.FtpClient class

Best Citrus code snippet using com.consol.citrus.ftp.client.FtpClient.deleteFile

Source:FtpClient.java Github

copy

Full Screen

...96 response = storeFile((PutCommand) ftpCommand, context);97 } else if (ftpCommand instanceof ListCommand) {98 response = listFiles((ListCommand) ftpCommand, context);99 } else if (ftpCommand instanceof DeleteCommand) {100 response = deleteFile((DeleteCommand) ftpCommand, context);101 } else {102 response = executeCommand(ftpCommand, context);103 }104 if (getEndpointConfiguration().getErrorHandlingStrategy().equals(ErrorHandlingStrategy.THROWS_EXCEPTION)) {105 if (!isPositive(response.getReplyCode())) {106 throw new CitrusRuntimeException(String.format("Failed to send FTP command - reply is: %s:%s", response.getReplyCode(), response.getReplyString()));107 }108 }109 log.info(String.format("FTP message was sent to: '%s:%s'", getEndpointConfiguration().getHost(), getEndpointConfiguration().getPort()));110 correlationManager.store(correlationKey, response);111 } catch (IOException e) {112 throw new CitrusRuntimeException("Failed to execute ftp command", e);113 }114 }115 protected FtpMessage executeCommand(CommandType ftpCommand, TestContext context) {116 try {117 int reply = ftpClient.sendCommand(ftpCommand.getSignal(), ftpCommand.getArguments());118 return FtpMessage.result(reply, ftpClient.getReplyString(), isPositive(reply));119 } catch (IOException e) {120 throw new CitrusRuntimeException("Failed to execute ftp command", e);121 }122 }123 private boolean isPositive(int reply) {124 return FTPReply.isPositiveCompletion(reply) || FTPReply.isPositivePreliminary(reply);125 }126 /**127 * Perform list files operation and provide file information as response.128 * @param list129 * @param context130 * @return131 */132 protected FtpMessage listFiles(ListCommand list, TestContext context) {133 String remoteFilePath = Optional.ofNullable(list.getTarget())134 .map(ListCommand.Target::getPath)135 .map(context::replaceDynamicContentInString)136 .orElse("");137 try {138 List<String> fileNames = new ArrayList<>();139 FTPFile[] ftpFiles;140 if (StringUtils.hasText(remoteFilePath)) {141 ftpFiles = ftpClient.listFiles(remoteFilePath);142 } else {143 ftpFiles = ftpClient.listFiles(remoteFilePath);144 }145 for (FTPFile ftpFile : ftpFiles) {146 fileNames.add(ftpFile.getName());147 }148 return FtpMessage.result(ftpClient.getReplyCode(), ftpClient.getReplyString(), fileNames);149 } catch (IOException e) {150 throw new CitrusRuntimeException(String.format("Failed to list files in path '%s'", remoteFilePath), e);151 }152 }153 /**154 * Performs delete file operation.155 * @param delete156 * @param context157 */158 protected FtpMessage deleteFile(DeleteCommand delete, TestContext context) {159 String remoteFilePath = context.replaceDynamicContentInString(delete.getTarget().getPath());160 try {161 if (!StringUtils.hasText(remoteFilePath)) {162 return null;163 }164 boolean success = true;165 if (isDirectory(remoteFilePath)) {166 if (!ftpClient.changeWorkingDirectory(remoteFilePath)) {167 throw new CitrusRuntimeException("Failed to change working directory to " + remoteFilePath + ". FTP reply code: " + ftpClient.getReplyString());168 }169 if (delete.isRecursive()) {170 FTPFile[] ftpFiles = ftpClient.listFiles();171 for (FTPFile ftpFile : ftpFiles) {172 DeleteCommand recursiveDelete = new DeleteCommand();173 DeleteCommand.Target target = new DeleteCommand.Target();174 target.setPath(remoteFilePath + "/" + ftpFile.getName());175 recursiveDelete.setTarget(target);176 recursiveDelete.setIncludeCurrent(true);177 deleteFile(recursiveDelete, context);178 }179 }180 if (delete.isIncludeCurrent()) {181 // we cannot delete the current working directory, so go to root directory and delete from there182 ftpClient.changeWorkingDirectory("/");183 success = ftpClient.removeDirectory(remoteFilePath);184 }185 } else {186 success = ftpClient.deleteFile(remoteFilePath);187 }188 if (!success) {189 throw new CitrusRuntimeException("Failed to delete path " + remoteFilePath + ". FTP reply code: " + ftpClient.getReplyString());190 }191 } catch (IOException e) {192 throw new CitrusRuntimeException("Failed to delete file from FTP server", e);193 }194 // If there was no file to delete, the ftpClient has the reply code from the previously executed195 // operation. Since we want to have a deterministic behaviour, we need to set the reply code and196 // reply string on our own!197 if (ftpClient.getReplyCode() != FILE_ACTION_OK) {198 return FtpMessage.deleteResult(FILE_ACTION_OK, String.format("%s No files to delete.", FILE_ACTION_OK), true);199 }200 return FtpMessage.deleteResult(ftpClient.getReplyCode(), ftpClient.getReplyString(), isPositive(ftpClient.getReplyCode()));...

Full Screen

Full Screen

Source:FtpClientTest.java Github

copy

Full Screen

...146 public void testDeleteCurrentDirectory() {147 assertTrue(fakeFtpServer.getFileSystem().exists(COMPLETELY_DELETE_FOLDER));148 DeleteCommand deleteCommand = deleteCommand(COMPLETELY_DELETE_FOLDER);149 deleteCommand.setIncludeCurrent(true);150 FtpMessage ftpMessage = ftpClient.deleteFile(deleteCommand, context);151 verifyMessage(ftpMessage, DeleteCommandResult.class, FILE_ACTION_OK, "250 \"/completely_delete\" removed.");152 assertFalse(fakeFtpServer.getFileSystem().exists(COMPLETELY_DELETE_FOLDER));153 }154 @Test155 public void testDeleteDirectory() {156 assertTrue(fakeFtpServer.getFileSystem().exists(DELETE_FOLDER));157 FtpMessage ftpMessage = ftpClient.deleteFile(deleteCommand(DELETE_FOLDER), context);158 verifyMessage(ftpMessage, DeleteCommandResult.class, FILE_ACTION_OK, "250 \"/delete/second_folder\" removed.");159 assertTrue(fakeFtpServer.getFileSystem().exists(DELETE_FOLDER));160 assertTrue(fakeFtpServer.getFileSystem().listFiles(DELETE_FOLDER).size() == 0);161 }162 @Test163 public void testDeleteAllFilesInEmptyDirectory() {164 assertTrue(fakeFtpServer.getFileSystem().exists(EMPTY_FOLDER));165 FtpMessage ftpMessage = ftpClient.deleteFile(deleteCommand(EMPTY_FOLDER), context);166 verifyMessage(ftpMessage, DeleteCommandResult.class, FILE_ACTION_OK, "250 No files to delete.");167 assertTrue(fakeFtpServer.getFileSystem().exists(EMPTY_FOLDER));168 assertTrue(fakeFtpServer.getFileSystem().listFiles(EMPTY_FOLDER).size() == 0);169 }170 @Test171 public void testDeleteFile() {172 assertTrue(fakeFtpServer.getFileSystem().exists(SINGLE_FILE));173 FtpMessage ftpMessage = ftpClient.deleteFile(deleteCommand(SINGLE_FILE), context);174 verifyMessage(ftpMessage, DeleteCommandResult.class, FILE_ACTION_OK, "250 \"/single_file\" deleted.");175 assertFalse(fakeFtpServer.getFileSystem().exists(SINGLE_FILE));176 }177 @Test(expectedExceptions = {CitrusRuntimeException.class}, expectedExceptionsMessageRegExp = ".*/path/not/valid.*")178 public void testDeleteInvalidPath() {179 String invalidPath = "/path/not/valid";180 assertFalse(fakeFtpServer.getFileSystem().exists(invalidPath));181 ftpClient.deleteFile(deleteCommand(invalidPath), context);182 }183 @Test184 public void testLoginLogout() throws Exception {185 FtpClient ftpClient = new FtpClient();186 ftpClient.setFtpClient(apacheFtpClient);187 reset(apacheFtpClient);188 when(apacheFtpClient.isConnected())189 .thenReturn(false)190 .thenReturn(true);191 when(apacheFtpClient.getReplyString()).thenReturn("OK");192 when(apacheFtpClient.getReplyCode()).thenReturn(200);193 when(apacheFtpClient.logout()).thenReturn(true);194 ftpClient.afterPropertiesSet();195 ftpClient.connectAndLogin();...

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ftp;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;4import org.springframework.beans.factory.annotation.Autowired;5import org.springframework.core.io.ClassPathResource;6import org.springframework.ftp.core.FtpOperations;7import org.testng.annotations.Test;8import static com.consol.citrus.actions.CreateVariablesAction.Builder.createVariable;9import static com.consol.citrus.actions.Echo

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ftp.client;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.testng.CitrusParameters;4import com.consol.citrus.testng.TestNGCitrusSupport;5import org.testng.annotations.Test;6public class DeleteFile_JavaIT extends TestNGCitrusSupport {7 @CitrusParameters({"ftpServerPort"})8 public void deleteFile() {9 variable("ftpServerPort", "22222");10 echo("Delete file test");11 echo("Delete fil

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;2import com.consol.citrus.ftp.client.FtpClient;3import org.springframework.beans.factory.annotation.Autowired;4import org.testng.annotations.Test;5public class 3 extends TestNGCitrusTestDesigner {6 private FtpClient ftpClient;7 public void deleteFile() {8 variable("fileName", "test.txt");9 deleteFile(ftpClient)10 .autoCreateDirectory(true)11 .remotePath("target/ftp")12 .fileName("${fileName}");13 }14}15import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;16import com.consol.citrus.ftp.client.FtpClient;17import org.springframework.beans.factory.annotation.Autowired;18import org.testng.annotations.Test;19public class 4 extends TestNGCitrusTestDesigner {20 private FtpClient ftpClient;21 public void deleteFile() {22 variable("fileName", "test.txt");23 deleteFile(ftpClient)24 .autoCreateDirectory(true)25 .remotePath("target/ftp")26 .fileName("${fileName}");27 }28}29import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;30import com.consol.citrus.ftp.client.FtpClient;31import org.springframework.beans.factory.annotation.Autowired;32import org.testng.annotations.Test;33public class 5 extends TestNGCitrusTestDesigner {34 private FtpClient ftpClient;35 public void deleteFile() {36 variable("fileName", "test.txt");37 deleteFile(ftpClient)38 .autoCreateDirectory(true)39 .remotePath("target/ftp")40 .fileName("${fileName}");41 }42}43import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;44import com.consol.citrus.ftp.client.FtpClient;45import org.springframework.beans.factory.annotation.Autowired;46import org.testng.annotations.Test;

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1import com.consol.citrus.ftp.client.FtpClient;2import com.consol.citrus.testng.CitrusParameters;3import com.consol.citrus.annotations.CitrusTest;4import com.consol.citrus.testng.CitrusXmlTestNG;5import org.testng.annotations.Test;6public class 3 extends CitrusXmlTestNG {7 @CitrusTest(name = "3")8 @CitrusParameters({"ftpClient"})9 public void _3(FtpClient ftpClient) {10 ftpClient.deleteFile("file.txt");11 }12}13import com.consol.citrus.ftp.client.FtpClient;14import com.consol.citrus.testng.CitrusParameters;15import com.consol.citrus.annotations.CitrusTest;16import com.consol.citrus.testng.CitrusXmlTestNG;17import org.testng.annotations.Test;18public class 4 extends CitrusXmlTestNG {19 @CitrusTest(name = "4")20 @CitrusParameters({"ftpClient"})21 public void _4(FtpClient ftpClient) {22 ftpClient.deleteFiles("*.txt");23 }24}25import com.consol.citrus.ftp.client.FtpClient;26import com.consol.citrus.testng.CitrusParameters;27import com.consol.citrus.annotations.CitrusTest;28import com.consol.citrus.testng.CitrusXmlTestNG;29import org.testng.annotations.Test;30public class 5 extends CitrusXmlTestNG {31 @CitrusTest(name = "5")32 @CitrusParameters({"ftpClient"})33 public void _5(FtpClient ftpClient) {34 ftpClient.changeDirectory("test");35 }36}37import com.consol.citrus.ftp.client.FtpClient;38import com.consol.citrus.testng.CitrusParameters;39import com.consol.citrus.annotations.CitrusTest;40import com.consol.citrus.testng.CitrusXmlTestNG;

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ftp.client;2import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;3import org.testng.annotations.Test;4public class DeleteFileTest extends TestNGCitrusTestDesigner {5 public void deleteFileTest() {6 variable("ftpServer", "

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ftp.client;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.testng.CitrusParameters;4import org.testng.annotations.Test;5public class DeleteFileTest extends AbstractFtpClientTest {6 @CitrusParameters({"ftpServerPort"})7 public void deleteFileTest(int ftpServerPort) {8 variable("ftpServerPort", ftpServerPort);9 variable("ftpServerHost", ftpServer.getFtpHost());10 variable("ftpServerUser", ftpServer.getFtpUser());11 variable("ftpServerPassword", ftpServer.getFtpPassword());12 variable("ftpServerRemoteDir", ftpServer.getFtpRemoteDir());13 variable("ftpServerFile", ftpServer.getFtpFile());14 variable("ftpServerFile2", ftpServer.getFtpFile2());15 variable("ftpServerFile3", ftpServer.getFtpFile3());16 variable("ftpServerFile4", ftpServer.getFtpFile4());17 variable("ftpServerFile5", ftpServer.getFtpFile5());18 variable("ftpServerFile6", ftpServer.getFtpFile6());19 variable("ftpServerFile7", ftpServer.getFtpFile7());20 variable("ftpServerFile8", ftpServer.getFtpFile8());21 variable("ftpServerFile9", ftpServer.getFtpFile9());22 variable("ftpServerFile10", ftpServer.getFtpFile10());23 variable("ftpServerFile11", ftpServer.getFtpFile11());24 variable("ftpServerFile12", ftpServer.getFtpFile12());25 variable("ftpServerFile13", ftpServer.getFtpFile13());26 variable("ftpServerFile14", ftpServer.getFtpFile14());27 variable("ftpServerFile15", ftpServer.getFtpFile15());28 variable("ftpServerFile16", ftpServer.getFtpFile16());29 variable("ftpServerFile17", ftpServer.getFtpFile17());30 variable("ftpServerFile18", ftpServer.getFtpFile18());31 variable("ftpServerFile19", ftpServer.getFtpFile19());32 variable("ftpServerFile20", ftpServer.getFtpFile20());33 variable("ftpServerFile21", ftpServer.getFtpFile21());34 variable("ftpServerFile22",

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples.ftp;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;4import com.consol.citrus.testng.CitrusParameters;5import org.testng.annotations.Test;6public class DeleteFile_IT extends TestNGCitrusTestDesigner {7 @CitrusParameters("ftpServerPort")8 public void deleteFile(String ftpServerPort) {9 variable("ftpPort", ftpServerPort);10 deleteFile()11 .server("ftpServer")12 .port("${ftpPort}")13 .username("citrus")14 .password("citrus")15 .path("testfile.txt");16 }17}18package com.consol.citrus.samples.ftp;19import com.consol.citrus.annotations.CitrusTest;20import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;21import com.consol.citrus.testng.CitrusParameters;22import org.testng.annotations.Test;23public class UploadFile_IT extends TestNGCitrusTestDesigner {24 @CitrusParameters("ftpServerPort")25 public void uploadFile(String ftpServerPort) {26 variable("ftpPort", ftpServerPort);27 uploadFile()28 .server("ftpServer")29 .port("${ftpPort}")30 .username("citrus")31 .password("citrus")32 .path("testfile.txt")33 .fileResource("classpath:com/consol/citrus/samples/ftp/testfile.txt");34 }35}36package com.consol.citrus.samples.ftp;37import com.consol.citrus.annotations.CitrusTest;38import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;39import com.consol.citrus.testng.CitrusParameters;40import org.testng.annotations.Test;41public class DownloadFile_IT extends TestNGCitrusTestDesigner {

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.ftp;2import com.consol.citrus.dsl.builder.BuilderSupport;3import com.consol.citrus.dsl.builder.FtpClientBuilder;4import com.consol.citrus.dsl.builder.FtpServerBuilder;5import com.consol.citrus.dsl.builder.ReceiveMessageBuilder;6import com.consol.citrus.dsl.builder.SendMessageBuilder;7import com.consol.citrus.dsl.runner.TestRunner;8import com.consol.citrus.dsl.runner.TestRunnerSupport;9import com.consol.citrus.ftp.client.FtpClient;10import com.consol.citrus.ftp.message.FtpMessageHeaders;11import com.consol.citrus.ftp.server.FtpServer;12import org.testng.annotations.Test;13public class DeleteFileTest {14public void deleteFileTest() {15TestRunner runner = new TestRunnerSupport();16FtpServerBuilder ftpServerBuilder = new FtpServerBuilder();17ftpServerBuilder.port(22222);18ftpServerBuilder.autoStart(true);19ftpServerBuilder.user("user")20.password("password")21.homeDirectory("target/ftp")22.permissions("elradfmwM");23FtpServer ftpServer = ftpServerBuilder.build();24runner.run(ftpServer);25FtpClientBuilder ftpClientBuilder = new FtpClientBuilder();26ftpClientBuilder.port(22222);27ftpClientBuilder.user("user")28.password("password")29.autoConnect(true);30FtpClient ftpClient = ftpClientBuilder.build();31runner.run(ftpClient);32SendMessageBuilder sendMessageBuilder = new SendMessageBuilder();33sendMessageBuilder.endpoint(ftpClient);34sendMessageBuilder.message("test");35runner.run(sendMessageBuilder.build());36ReceiveMessageBuilder receiveMessageBuilder = new ReceiveMessageBuilder();37receiveMessageBuilder.endpoint(ftpClient);38receiveMessageBuilder.message("test");39runner.run(receiveMessageBuilder.build());40BuilderSupport deleteFileBuilder = new BuilderSupport<FtpClientBuilder>() {41public void configure(FtpClientBuilder builder) {42builder.deleteFile("test");43}44};45runner.run(deleteFileBuilder);46}47}

Full Screen

Full Screen

deleteFile

Using AI Code Generation

copy

Full Screen

1package test;2import com.consol.citrus.dsl.builder.BuilderSupport;3import com.consol.citrus.dsl.builder.FtpClientActionBuilder;4import com.consol.citrus.dsl.design.TestDesigner;5import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;6import com.consol.citrus.message.MessageType;7import org.springframework.core.io.ClassPathResource;8import org.testng.annotations.Test;9public class 3 extends TestNGCitrusTestDesigner {10 public void test() {11 variable("ftpUsername", "user1");12 variable("ftpPassword", "password");13 echo("FTP delete file");14 ftp(deleteFile("citrus-ftp-test-1.txt").remotePath("upload").server("ftpServer"));15 echo("FTP delete file with message selector");16 ftp(deleteFile("citrus-ftp-test-2.txt").remotePath("upload").server("ftpServer").selector("JMSCorrelationID = '12345'"));17 echo("FTP delete file with message selector and message type");18 ftp(deleteFile("citrus-ftp-test-3.txt").remotePath("upload").server("ftpServer").selector("JMSCorrelationID = '12345'").messageType(MessageType.XML));19 echo("FTP delete file with message selector and message type and message name");20 ftp(deleteFile("citrus-ftp-test-4.txt").remotePath("upload").server("ftpServer").selector("JMSCorrelationID = '12345'").messageType(MessageType.XML).messageName("deleteFileMessage"));21 echo("FTP delete file with message selector and message type and message name and message namespace");22 echo("FTP delete file with message selector and message type and message name and message namespace and message header data");23 ftp(deleteFile("citrus-ftp-test-6.txt").remotePath("upload").server("ftpServer").selector("JMSCorrelationID = '12345'").messageType(MessageType.XML).messageName("deleteFileMessage").message

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful