What is Mule ESB ?
Mule ESB is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to connect applications together quickly and easily, enabling them to exchange data. Mule ESB enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.
This example shows how we can integrate Cucumber test framework with Mule ESB for integration or acceptance or Behavioral Driven Development(BDD). We simply put a file in a source directory and Mule will read the file from the source directory. Using Mule ESB it’s very easy to read the file from a location. If we had to read the file using manual coding then we had to write many lines of code. But using Mule ESB we just simply put a file in a directory and let the Mule know the file path and Mule does the rest of the thing. You can put any kind of file to the source for reading. The file that we put into a source directory will be an attachment to the intended recipient’s mail address. So finally when we will see the file as an attachment in the mailbox.
What is Cucumber Framework ?
Please have a look at https://cukes.info/
Prerequisites
Anypoint Studio(Mule Studio) 3.5.1
JDK 1.6
Maven 3
Mule Runtime 3.5.1 EE
Knowledge of XML, Java, Cucumber
Step 1. Open Mule Studio and create a mule project. Go to File->New->Mule Project. Now enter the Project Name, select Runtime – Mule Server, check the check box for Use Maven. Now enter the following information
Group Id: your company(ex. roytuts.com) name – com.roytuts
Artifact Id: project name – mulecucumber(automatically populated when project name is getting typed)
Version: Mule studio generates default
Step 2. Click Next and verify project Location and JRE/JDK are set correctly. Click Finish.
Step 3. Now drag and drop the elements from right side of the Mule studio as shown below in the picture.
File connector properties
File connector properties Browse and select the path from where a file will be read for an attachment. Logger component properties Logger component will display content in console from each flow. File to String transformer properties File-to-Strong transformer just transforms the file object to human readable string format. We will not set any property for this element. Attachment transformer properties Using attachment transformer we can set payload from previous flow as an attachment. We have to select Content Type, operation as Set Attachment, Name, Value. SMTP connector properties For SMTP connector we have to input email host, user name, password, port under Basic Settings and To Address, From Address, Subject under Email Information. The whole XML file of entire flow
Browse and select the path from where a file will be read for an attachment.
File to String transformer properties
File-to-Strong transformer just transforms the file object to human readable string format. We will not set any property for this element.
Logger component properties
Logger component will display content in console from each flow.
The whole XML file of entire flow
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd"> <flow name="mulecucumberFlow" doc:name="mulecucumberFlow"> <file:inbound-endpoint path="D:AnypointStudioWorkspacesourcefile" responseTimeout="10000" doc:name="File" /> <file:file-to-string-transformer doc:name="File to String" /> <logger level="INFO" doc:name="Logger" message="#[payload]" /> </flow> </mule>
Step 4. Once we put any file under the selected path from where mule will read the file, we may run the mulecucumber.xml file and we will see the file output in the console but it is not our main target. We want to test the flow using Cucumber framework. So we will now create all those required things for the Cucumber framework.
We will put the mulecucumber.xml file under src/test/resources/mule directory. If src/test/resources does not exist then create it from New->Source Folder.
Step 5. We will create mule-config.xml file with below content and put it under src/test/app directory.
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd"> <spring:beans> <spring:import resource="classpath:mule/mulecucumber.xml" /> </spring:beans> </mule>
Step 6. Now we will create a feature file called CucumberFeature.feature with the below content inside it and put it under src/test/resources/feature.
Feature: File connector reads a file from a particular location and log the file content in the console Scenario Outline: Send file content to logger component Given The scenario with "<SCENARIO_ID>" and scenario description "<SCENARIO_DESC>" When The Source system "<SOURCE_SYS>" sends "<INBOUND_FILE>" to Destination system "<DESTINATION_SYS>" Then one acknowledge message will come from "<DESTINATION_SYS>" to "<SOURCE_SYS>" Examples: | SCENARIO_ID | SCENARIO_DESC | SOURCE_SYS | INBOUND_FILE | DESTINATION_SYS | | File_Data_to_Logger1 | Send file data to logger component | File_source | files/data.csv | Logger | #| File_Data_to_Logger2 | Send file data to logger component | File source directory | files/data.csv | Logger |
Step 7. We will create utility class MuleEmbeddedServer.java and put it under src/test/java directory in the package com.roytuts.cucumber.common with below content.
package com.roytuts.cucumber.common; import java.io.File; import java.io.IOException; import org.mule.api.MuleContext; import org.mule.api.MuleException; import org.mule.config.spring.SpringXmlConfigurationBuilder; import org.mule.context.DefaultMuleContextFactory; public class MuleEmbeddedServer { private static MuleContext muleContext; public static void initialize() throws IOException, MuleException { final String curPath = new File(".").getCanonicalPath(); muleContext = new DefaultMuleContextFactory() .createMuleContext(new SpringXmlConfigurationBuilder(curPath + "/src/test/app/mule-config.xml")); muleContext.start(); } public static void close() throws MuleException { muleContext.stop(); } public static MuleContext getMuleContext() { return muleContext; } }
Step 8. Now we will create test class which will test the Mule flow using Cucumber framework.
package com.roytuts.cucumber.cuke; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.mule.api.MuleException; import com.roytuts.cucumber.common.MuleEmbeddedServer; import cucumber.api.junit.Cucumber; @RunWith(Cucumber.class) @Cucumber.Options(features = { "classpath:features/CucumberFeature.feature" }, glue = "com.roytuts.cucumber.cuke.steps", strict = true, format = { "pretty", "html:target/cucumber", "json:target/Cucumber.json" }) public class CucumberTest { @BeforeClass() public static void initTestEnvironment() { System.out.println("Initialize Test Environment"); try { MuleEmbeddedServer.initialize(); } catch (Exception e) { System.out.println("Mule Embedded Server cannot be iniatilaized."); e.printStackTrace(); } System.out.println("Test Environment initialized."); } @AfterClass() public static void destroyTestEnvironment() throws MuleException { System.out.println("Destroy Test Environment."); MuleEmbeddedServer.close(); System.out.println("Test Environment destroyed."); } }
In the above class features = { “classpath:features/CucumberFeature.feature” } means that we have to put the feature file under src/test/resources/feature.
glue = “com.roytuts.cucumber.cuke.steps” means we will have a step class file under src/test/java directory in the package com.roytuts.cucumber.cuke.steps.
Step 9. Now we will create blank CucumberSteps.java file under src/test/java directory in the package com.roytuts.cucumber.cuke.steps.
Step 10. Now we will run the class file CucumberTest.java and we will get the steps signatures in the console. So we will copy those unimplemented steps into the class CucumberSteps.java and implement them one by one as shown below.
package com.roytuts.cucumber.cuke.steps; import java.util.logging.Logger; import org.mule.MessageExchangePattern; import org.mule.api.MuleEvent; import org.mule.api.processor.MessageProcessor; import org.mule.tck.MuleTestUtils; import org.mule.util.IOUtils; import com.roytuts.cucumber.common.MuleEmbeddedServer; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class CucumberSteps { private static final Logger LOGGER = Logger.getLogger("CucumberSteps"); @Given("^The scenario with "([^"]*)" and scenario description "([^"]*)"$") public void The_scenario_with_and_scenario_description(String arg1, String arg2) throws Throwable { LOGGER.info("Scenario ID : " + arg1); LOGGER.info("Scenario Description : " + arg2); } @When("^The Source system "([^"]*)" sends "([^"]*)" to Destination system "([^"]*)"$") public void The_Source_system_sends_to_Destination_system(String arg1, String arg2, String arg3) throws Throwable { LOGGER.info("Source System : " + arg1); LOGGER.info("File Name : " + arg2); LOGGER.info("Destination System : " + arg3); String flowName = "mulecucumberFlow"; Object payload = IOUtils.getResourceAsString(arg2, this.getClass()); MuleEvent event = MuleTestUtils.getTestEvent(payload, MessageExchangePattern.REQUEST_RESPONSE, MuleEmbeddedServer.getMuleContext()); MessageProcessor messageProcessor = MuleEmbeddedServer.getMuleContext() .getRegistry().lookupObject(flowName); event = messageProcessor.process(event); LOGGER.info("Mule Event Response : " + event.getMessageAsString()); } @Then("^one acknowledge message will come from "([^"]*)" to "([^"]*)"$") public void one_acknowledge_message_will_come_from_to(String arg1, String arg2) throws Throwable { LOGGER.info("Destination System : " + arg1); LOGGER.info("Source System : " + arg2); } }
Step 11. As we have shown the value for INBOUND_FILE is files/data.csv. So we will put a sample data.csv file under src/test/resources/files.
Step 12. Now run the class file CucumberTest.java you will get the output at console as shown below.
Initialize Test Environment SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/AnypointStudio/plugins/org.mule.tooling.server.3.5.1.ee_4.0.0.201407071207/mule/lib/boot/mule-module-logging-3.5.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/D:/repo/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. log4j:WARN No appenders could be found for logger (org.mule.context.DefaultMuleContextBuilder). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Test Environment initialized. Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps The_scenario_with_and_scenario_description INFO: Scenario ID : File_Data_to_Logger1 Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps The_scenario_with_and_scenario_description INFO: Scenario Description : Send file data to logger component Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps The_Source_system_sends_to_Destination_system INFO: Source System : File_source Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps The_Source_system_sends_to_Destination_system INFO: File Name : files/data.csv Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps The_Source_system_sends_to_Destination_system INFO: Destination System : Logger Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps The_Source_system_sends_to_Destination_system INFO: Mule Event Response : street,city,zip,state,beds,baths,sq__ft,type,sale_date,price,latitude,longitude 3526 HIGH ST,SACRAMENTO,95838,CA,2,1,836,Residential,Wed May 21 00:00:00 EDT 2008,59222,38.631913,-121.434879 51 OMAHA CT,SACRAMENTO,95823,CA,3,1,1167,Residential,Wed May 21 00:00:00 EDT 2008,68212,38.478902,-121.431028 2796 BRANCH ST,SACRAMENTO,95815,CA,2,1,796,Residential,Wed May 21 00:00:00 EDT 2008,68880,38.618305,-121.443839 2805 JANETTE WAY,SACRAMENTO,95815,CA,2,1,852,Residential,Wed May 21 00:00:00 EDT 2008,69307,38.616835,-121.439146 6001 MCMAHON DR,SACRAMENTO,95824,CA,2,1,797,Residential,Wed May 21 00:00:00 EDT 2008,81900,38.51947,-121.435768 5828 PEPPERMILL CT,SACRAMENTO,95841,CA,3,1,1122,Condo,Wed May 21 00:00:00 EDT 2008,89921,38.662595,-121.327813 6048 OGDEN NASH WAY,SACRAMENTO,95842,CA,3,2,1104,Residential,Wed May 21 00:00:00 EDT 2008,90895,38.681659,-121.351705 2561 19TH AVE,SACRAMENTO,95820,CA,3,1,1177,Residential,Wed May 21 00:00:00 EDT 2008,91002,38.535092,-121.481367 11150 TRINITY RIVER DR Unit 114,RANCHO CORDOVA,95670,CA,2,2,941,Condo,Wed May 21 00:00:00 EDT 2008,94905,38.621188,-121.270555 7325 10TH ST,RIO LINDA,95673,CA,3,2,1146,Residential,Wed May 21 00:00:00 EDT 2008,98937,38.700909,-121.442979 645 MORRISON AVE,SACRAMENTO,95838,CA,3,2,909,Residential,Wed May 21 00:00:00 EDT 2008,100309,38.637663,-121.45152 4085 FAWN CIR,SACRAMENTO,95823,CA,3,2,1289,Residential,Wed May 21 00:00:00 EDT 2008,106250,38.470746,-121.458918 2930 LA ROSA RD,SACRAMENTO,95815,CA,1,1,871,Residential,Wed May 21 00:00:00 EDT 2008,106852,38.618698,-121.435833 2113 KIRK WAY,SACRAMENTO,95822,CA,3,1,1020,Residential,Wed May 21 00:00:00 EDT 2008,107502,38.482215,-121.492603 4533 LOCH HAVEN WAY,SACRAMENTO,95842,CA,2,2,1022,Residential,Wed May 21 00:00:00 EDT 2008,108750,38.672914,-121.35934 7340 HAMDEN PL,SACRAMENTO,95842,CA,2,2,1134,Condo,Wed May 21 00:00:00 EDT 2008,110700,38.700051,-121.351278 6715 6TH ST,RIO LINDA,95673,CA,2,1,844,Residential,Wed May 21 00:00:00 EDT 2008,113263,38.689591,-121.452239 6236 LONGFORD DR Unit 1,CITRUS HEIGHTS,95621,CA,2,1,795,Condo,Wed May 21 00:00:00 EDT 2008,116250,38.679776,-121.314089 250 PERALTA AVE,SACRAMENTO,95833,CA,2,1,588,Residential,Wed May 21 00:00:00 EDT 2008,120000,38.612099,-121.469095 113 LEEWILL AVE,RIO LINDA,95673,CA,3,2,1356,Residential,Wed May 21 00:00:00 EDT 2008,121630,38.689999,-121.46322 6118 STONEHAND AVE,CITRUS HEIGHTS,95621,CA,3,2,1118,Residential,Wed May 21 00:00:00 EDT 2008,122000,38.707851,-121.320707 4882 BANDALIN WAY,SACRAMENTO,95823,CA,4,2,1329,Residential,Wed May 21 00:00:00 EDT 2008,122682,38.468173,-121.444071 7511 OAKVALE CT,NORTH HIGHLANDS,95660,CA,4,2,1240,Residential,Wed May 21 00:00:00 EDT 2008,123000,38.702792,-121.38221 9 PASTURE CT,SACRAMENTO,95834,CA,3,2,1601,Residential,Wed May 21 00:00:00 EDT 2008,124100,38.628631,-121.488097 3729 BAINBRIDGE DR,NORTH HIGHLANDS,95660,CA,3,2,901,Residential,Wed May 21 00:00:00 EDT 2008,125000,38.701499,-121.37622 3828 BLACKFOOT WAY,ANTELOPE,95843,CA,3,2,1088,Residential,Wed May 21 00:00:00 EDT 2008,126640,38.70974,-121.37377 4108 NORTON WAY,SACRAMENTO,95820,CA,3,1,963,Residential,Wed May 21 00:00:00 EDT 2008,127281,38.537526,-121.478315 1469 JANRICK AVE,SACRAMENTO,95832,CA,3,2,1119,Residential,Wed May 21 00:00:00 EDT 2008,129000,38.476472,-121.501711 9861 CULP WAY,SACRAMENTO,95827,CA,4,2,1380,Residential,Wed May 21 00:00:00 EDT 2008,131200,38.558423,-121.327948 7825 CREEK VALLEY CIR,SACRAMENTO,95828,CA,3,2,1248,Residential,Wed May 21 00:00:00 EDT 2008,132000,38.472122,-121.404199 5201 LAGUNA OAKS DR Unit 140,ELK GROVE,95758,CA,2,2,1039,Condo,Wed May 21 00:00:00 EDT 2008,133000,38.423251,-121.444489 6768 MEDORA DR,NORTH HIGHLANDS,95660,CA,3,2,1152,Residential,Wed May 21 00:00:00 EDT 2008,134555,38.691161,-121.37192 3100 EXPLORER DR,SACRAMENTO,95827,CA,3,2,1380,Residential,Wed May 21 00:00:00 EDT 2008,136500,38.566663,-121.332644 7944 DOMINION WAY,ELVERTA,95626,CA,3,2,1116,Residential,Wed May 21 00:00:00 EDT 2008,138750,38.713182,-121.411227 5201 LAGUNA OAKS DR Unit 162,ELK GROVE,95758,CA,2,2,1039,Condo,Wed May 21 00:00:00 EDT 2008,141000,38.423251,-121.444489 3920 SHINING STAR DR,SACRAMENTO,95823,CA,3,2,1418,Residential,Wed May 21 00:00:00 EDT 2008,146250,38.48742,-121.462459 5031 CORVAIR ST,NORTH HIGHLANDS,95660,CA,3,2,1082,Residential,Wed May 21 00:00:00 EDT 2008,147308,38.658246,-121.375469 7661 NIXOS WAY,SACRAMENTO,95823,CA,4,2,1472,Residential,Wed May 21 00:00:00 EDT 2008,148750,38.479553,-121.463317 7044 CARTHY WAY,SACRAMENTO,95828,CA,4,2,1146,Residential,Wed May 21 00:00:00 EDT 2008,149593,38.49857,-121.420925 2442 LARKSPUR LN,SACRAMENTO,95825,CA,1,1,760,Condo,Wed May 21 00:00:00 EDT 2008,150000,38.58514,-121.403736 4800 WESTLAKE PKWY Unit 2109,SACRAMENTO,95835,CA,2,2,1304,Condo,Wed May 21 00:00:00 EDT 2008,152000,38.658812,-121.542345 2178 63RD AVE,SACRAMENTO,95822,CA,3,2,1207,Residential,Wed May 21 00:00:00 EDT 2008,154000,38.493955,-121.48966 8718 ELK WAY,ELK GROVE,95624,CA,3,2,1056,Residential,Wed May 21 00:00:00 EDT 2008,156896,38.41653,-121.379653 5708 RIDGEPOINT DR,ANTELOPE,95843,CA,2,2,1043,Residential,Wed May 21 00:00:00 EDT 2008,161250,38.72027,-121.331555 7315 KOALA CT,NORTH HIGHLANDS,95660,CA,4,2,1587,Residential,Wed May 21 00:00:00 EDT 2008,161500,38.699251,-121.371414 2622 ERIN DR,SACRAMENTO,95833,CA,4,1,1120,Residential,Wed May 21 00:00:00 EDT 2008,164000,38.613765,-121.488694 8421 SUNBLAZE WAY,SACRAMENTO,95823,CA,4,2,1580,Residential,Wed May 21 00:00:00 EDT 2008,165000,38.450543,-121.432538 7420 ALIX PKWY,SACRAMENTO,95823,CA,4,1,1955,Residential,Wed May 21 00:00:00 EDT 2008,166357,38.489405,-121.452811 3820 NATOMA WAY,SACRAMENTO,95838,CA,4,2,1656,Residential,Wed May 21 00:00:00 EDT 2008,166357,38.636748,-121.422159 4431 GREEN TREE DR,SACRAMENTO,95823,CA,3,2,1477,Residential,Wed May 21 00:00:00 EDT 2008,168000,38.499954,-121.454469 9417 SARA ST,ELK GROVE,95624,CA,3,2,1188,Residential,Wed May 21 00:00:00 EDT 2008,170000,38.415518,-121.370527 8299 HALBRITE WAY,SACRAMENTO,95828,CA,4,2,1590,Residential,Wed May 21 00:00:00 EDT 2008,173000,38.473814,-121.4 7223 KALLIE KAY LN,SACRAMENTO,95823,CA,3,2,1463,Residential,Wed May 21 00:00:00 EDT 2008,174250,38.477553,-121.419463 8156 STEINBECK WAY,SACRAMENTO,95828,CA,4,2,1714,Residential,Wed May 21 00:00:00 EDT 2008,174313,38.474853,-121.406326 7957 VALLEY GREEN DR,SACRAMENTO,95823,CA,3,2,1185,Residential,Wed May 21 00:00:00 EDT 2008,178480,38.465184,-121.434925 1122 WILD POPPY CT,GALT,95632,CA,3,2,1406,Residential,Wed May 21 00:00:00 EDT 2008,178760,38.287789,-121.294715 4520 BOMARK WAY,SACRAMENTO,95842,CA,4,2,1943,Multi-Family,Wed May 21 00:00:00 EDT 2008,179580,38.665724,-121.358576 9012 KIEFER BLVD,SACRAMENTO,95826,CA,3,2,1172,Residential,Wed May 21 00:00:00 EDT 2008,181000,38.547011,-121.366217 5332 SANDSTONE ST,CARMICHAEL,95608,CA,3,1,1152,Residential,Wed May 21 00:00:00 EDT 2008,181872,38.662105,-121.313945 5993 SAWYER CIR,SACRAMENTO,95823,CA,4,3,1851,Residential,Wed May 21 00:00:00 EDT 2008,182587,38.4473,-121.435218 4844 CLYDEBANK WAY,ANTELOPE,95843,CA,3,2,1215,Residential,Wed May 21 00:00:00 EDT 2008,182716,38.714609,-121.347887 306 CAMELLIA WAY,GALT,95632,CA,3,2,1130,Residential,Wed May 21 00:00:00 EDT 2008,182750,38.260443,-121.297864 9021 MADISON AVE,ORANGEVALE,95662,CA,4,2,1603,Residential,Wed May 21 00:00:00 EDT 2008,183200,38.664186,-121.217511 404 6TH ST,GALT,95632,CA,3,1,1479,Residential,Wed May 21 00:00:00 EDT 2008,188741,38.251808,-121.302493 8317 SUNNY CREEK WAY,SACRAMENTO,95823,CA,3,2,1420,Residential,Wed May 21 00:00:00 EDT 2008,189000,38.459041,-121.424644 2617 BASS CT,SACRAMENTO,95826,CA,3,2,1280,Residential,Wed May 21 00:00:00 EDT 2008,192067,38.560767,-121.377471 7005 TIANT WAY,ELK GROVE,95758,CA,3,2,1586,Residential,Wed May 21 00:00:00 EDT 2008,194000,38.422811,-121.423285 7895 CABER WAY,ANTELOPE,95843,CA,3,2,1362,Residential,Wed May 21 00:00:00 EDT 2008,194818,38.711279,-121.393449 7624 BOGEY CT,SACRAMENTO,95828,CA,4,4,2162,Multi-Family,Wed May 21 00:00:00 EDT 2008,195000,38.48009,-121.415102 6930 HAMPTON COVE WAY,SACRAMENTO,95823,CA,3,2,1266,Residential,Wed May 21 00:00:00 EDT 2008,198000,38.44004,-121.421012 8708 MESA BROOK WAY,ELK GROVE,95624,CA,4,2,1715,Residential,Wed May 21 00:00:00 EDT 2008,199500,38.44076,-121.385792 120 GRANT LN,FOLSOM,95630,CA,3,2,1820,Residential,Wed May 21 00:00:00 EDT 2008,200000,38.687742,-121.17104 5907 ELLERSLEE DR,CARMICHAEL,95608,CA,3,1,936,Residential,Wed May 21 00:00:00 EDT 2008,200000,38.664468,-121.32683 17 SERASPI CT,SACRAMENTO,95834,CA,0,0,0,Residential,Wed May 21 00:00:00 EDT 2008,206000,38.631481,-121.50188 170 PENHOW CIR,SACRAMENTO,95834,CA,3,2,1511,Residential,Wed May 21 00:00:00 EDT 2008,208000,38.653439,-121.535169 8345 STAR THISTLE WAY,SACRAMENTO,95823,CA,4,2,1590,Residential,Wed May 21 00:00:00 EDT 2008,212864,38.454349,-121.439239 9080 FRESCA WAY,ELK GROVE,95758,CA,4,2,1596,Residential,Wed May 21 00:00:00 EDT 2008,221000,38.427818,-121.424026 391 NATALINO CIR,SACRAMENTO,95835,CA,2,2,1341,Residential,Wed May 21 00:00:00 EDT 2008,221000,38.67307,-121.506373 8373 BLACKMAN WAY,ELK GROVE,95624,CA,5,3,2136,Residential,Wed May 21 00:00:00 EDT 2008,223058,38.435436,-121.394536 9837 CORTE DORADO CT,ELK GROVE,95624,CA,4,2,1616,Residential,Wed May 21 00:00:00 EDT 2008,227887,38.400676,-121.38101 5037 J PKWY,SACRAMENTO,95823,CA,3,2,1478,Residential,Wed May 21 00:00:00 EDT 2008,231477,38.491399,-121.443547 10245 LOS PALOS DR,RANCHO CORDOVA,95670,CA,3,2,1287,Residential,Wed May 21 00:00:00 EDT 2008,234697,38.593699,-121.31089 6613 NAVION DR,CITRUS HEIGHTS,95621,CA,4,2,1277,Residential,Wed May 21 00:00:00 EDT 2008,235000,38.702855,-121.31308 2887 AZEVEDO DR,SACRAMENTO,95833,CA,4,2,1448,Residential,Wed May 21 00:00:00 EDT 2008,236000,38.618457,-121.509439 9186 KINBRACE CT,SACRAMENTO,95829,CA,4,3,2235,Residential,Wed May 21 00:00:00 EDT 2008,236685,38.463355,-121.358936 4243 MIDDLEBURY WAY,MATHER,95655,CA,3,2,2093,Residential,Wed May 21 00:00:00 EDT 2008,237800,38.547991,-121.280483 1028 FALLON PLACE CT,RIO LINDA,95673,CA,3,2,1193,Residential,Wed May 21 00:00:00 EDT 2008,240122,38.693818,-121.441153 4804 NORIKER DR,ELK GROVE,95757,CA,3,2,2163,Residential,Wed May 21 00:00:00 EDT 2008,242638,38.400974,-121.448424 7713 HARVEST WOODS DR,SACRAMENTO,95828,CA,3,2,1269,Residential,Wed May 21 00:00:00 EDT 2008,244000,38.478198,-121.412911 2866 KARITSA AVE,SACRAMENTO,95833,CA,0,0,0,Residential,Wed May 21 00:00:00 EDT 2008,244500,38.626671,-121.52597 6913 RICHEVE WAY,SACRAMENTO,95828,CA,3,1,958,Residential,Wed May 21 00:00:00 EDT 2008,244960,38.502519,-121.420769 8636 TEGEA WAY,ELK GROVE,95624,CA,5,3,2508,Residential,Wed May 21 00:00:00 EDT 2008,245918,38.443832,-121.382087 5448 MAIDSTONE WAY,CITRUS HEIGHTS,95621,CA,3,2,1305,Residential,Wed May 21 00:00:00 EDT 2008,250000,38.665395,-121.293288 18 OLLIE CT,ELK GROVE,95758,CA,4,2,1591,Residential,Wed May 21 00:00:00 EDT 2008,250000,38.444909,-121.412345 4010 ALEX LN,CARMICHAEL,95608,CA,2,2,1326,Condo,Wed May 21 00:00:00 EDT 2008,250134,38.637028,-121.312963 4901 MILLNER WAY,ELK GROVE,95757,CA,3,2,1843,Residential,Wed May 21 00:00:00 EDT 2008,254200,38.38692,-121.447349 4818 BRITTNEY LEE CT,SACRAMENTO,95841,CA,4,2,1921,Residential,Wed May 21 00:00:00 EDT 2008,254200,38.653917,-121.34218 5529 LAGUNA PARK DR,ELK GROVE,95758,CA,5,3,2790,Residential,Wed May 21 00:00:00 EDT 2008,258000,38.42568,-121.438062 230 CANDELA CIR,SACRAMENTO,95835,CA,3,2,1541,Residential,Wed May 21 00:00:00 EDT 2008,260000,38.656251,-121.547572 Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps one_acknowledge_message_will_come_from_to INFO: Destination System : Logger Mar 12, 2015 12:17:15 PM com.roytuts.cucumber.cuke.steps.CucumberSteps one_acknowledge_message_will_come_from_to INFO: Source System : File_source Destroy Test Environment. Test Environment destroyed. Feature: File connector reads a file from a particular location and log the file content in the console Scenario Outline: Send file content to logger component [90m# features/CucumberFeature.feature:10[0m [32mGiven [0m[32mThe scenario with "[0m[32m[1mFile_Data_to_Logger1[0m[32m" and scenario description "[0m[32m[1mSend file data to logger component[0m[32m"[0m [90m# CucumberSteps.The_scenario_with_and_scenario_description(String,String)[0m [32mWhen [0m[32mThe Source system "[0m[32m[1mFile_source[0m[32m" sends "[0m[32m[1mfiles/data.csv[0m[32m" to Destination system "[0m[32m[1mLogger[0m[32m"[0m [90m# CucumberSteps.The_Source_system_sends_to_Destination_system(String,String,String)[0m [32mThen [0m[32mone acknowledge message will come from "[0m[32m[1mLogger[0m[32m" to "[0m[32m[1mFile_source[0m[32m"[0m [90m# CucumberSteps.one_acknowledge_message_will_come_from_to(String,String)[0m 1 Scenarios ([32m1 passed[0m) 3 Steps ([32m3 passed[0m) 0m1.199s
That’s all. Thanks for reading.