Skip to content

Commit

Permalink
fix(cli): tests runner
Browse files Browse the repository at this point in the history
  • Loading branch information
ebuildy committed Feb 22, 2022
1 parent f658917 commit b408ee4
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 2 deletions.
6 changes: 5 additions & 1 deletion djobi-cli/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ dependencies {
* Need core tests code
*/
testImplementation(project(":djobi-tests"))
testImplementation(project(':djobi-core'))

testRuntimeOnly(
project(path: ':djobi-core'),
project(path: ':djobi-core', configuration: 'spark')
)

/**
* To run Djobi via Idea.
Expand Down
49 changes: 49 additions & 0 deletions djobi-cli/src/test/java/io/datatok/djobi/cli/CLITestRunner.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package io.datatok.djobi.cli;

import com.google.inject.Injector;
import io.datatok.djobi.application.ApplicationBuilder;
import io.datatok.djobi.application.Djobi;
import io.datatok.djobi.cli.utils.CLISimpleUtils;
import io.datatok.djobi.cli.utils.CLIUtils;
import io.datatok.djobi.engine.Engine;
import io.datatok.djobi.plugins.report.Reporter;
import io.datatok.djobi.plugins.s3.S3Plugin;
import io.datatok.djobi.plugins.stages.DefaultActionsPlugin;
import io.datatok.djobi.spark.SparkPlugin;
import io.datatok.djobi.test.TestStdoutReporter;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestInstancePostProcessor;

public class CLITestRunner implements TestInstancePostProcessor {
static public Injector injector;

public CLITestRunner() {
if (injector == null) {
try {
final Djobi application =
new ApplicationBuilder()
.configure()
.addDependency(Reporter.class, TestStdoutReporter.class)
.addDependency(CLIUtils.class, CLISimpleUtils.class)
.readReleaseNote()
.addPlugin(new DefaultActionsPlugin())
.addPlugin(new SparkPlugin())
.addPlugin(new S3Plugin())
.build()
;

injector = application.getInjector();

injector.getInstance(Engine.class).setClearJobAfterExecution(false);
} catch (Exception e) {
e.printStackTrace();
}
}
}

@Override
public void postProcessTestInstance(Object testInstance, ExtensionContext context)
throws Exception {
injector.injectMembers(testInstance);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.HashMap;

@ExtendWith(CLITestRunner.class)
class DumpActionCommandTest {

@Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import picocli.CommandLine;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.HashMap;

@ExtendWith(CLITestRunner.class)
class DumpEnvCommandTest {

@Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import picocli.CommandLine;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.HashMap;

@ExtendWith(CLITestRunner.class)
class DumpPipelineCommandTest {

@Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

import static com.github.stefanbirkner.systemlambda.SystemLambda.*;

@ExtendWith(CLITestRunner.class)
public class RunPipelineCommandTest {

@Inject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package io.datatok.djobi.cli.utils;

import com.google.inject.Inject;
import io.datatok.djobi.cli.CLITestRunner;
import io.datatok.djobi.engine.PipelineExecutionRequest;
import io.datatok.djobi.utils.EnvProvider;
import io.datatok.djobi.utils.MyMapUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.util.Arrays;

@ExtendWith(CLITestRunner.class)
public class PipelineRequestFactoryTest {

@Inject
Expand Down

This file was deleted.

0 comments on commit b408ee4

Please sign in to comment.