package com.intuit.karate;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import static org.junit.Assert.*;
import org.junit.Test;
/**
*
* @author pthomas3
*/
public class FileUtilsTest {
@Test
public void testClassLoading() throws Exception {
ClassLoader cl = FileUtils.createClassLoader("src/main/java/com/intuit/karate");
InputStream is = cl.getResourceAsStream("StepDefs.java");
String s = IOUtils.toString(is, "utf-8");
assertTrue(s.trim().startsWith("/*"));
}
@Test
public void testExtractingFeaturePathFromCommandLine() {
String expected = "/Users/pthomas3/dev/zcode/karate/karate-junit4/src/test/java/com/intuit/karate/junit4/demos/users.feature";
String cwd = "/Users/pthomas3/dev/zcode/karate/karate-junit4";
String intelllij = "com.intellij.rt.execution.application.AppMain cucumber.api.cli.Main --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --name ^get users and then get first by id$ --glue com.intuit.karate /Users/pthomas3/dev/zcode/karate/karate-junit4/src/test/java/com/intuit/karate/junit4/demos/users.feature";
String path = FileUtils.getFeaturePath(intelllij, cwd);
assertEquals(expected, path);
String eclipse = "com.intuit.karate.StepDefs - cucumber.api.cli.Main /Users/pthomas3/dev/zcode/karate/karate-junit4/src/test/java/com/intuit/karate/junit4/demos/users.feature --glue classpath: --plugin pretty --monochrome";
path = FileUtils.getFeaturePath(eclipse, cwd);
assertEquals(expected, path);
}
}