Skip to content

Commit 148a319

Browse files
committed
fix(test): creating a fresh ComputationContext for each test in a file
Refs: #63
1 parent 6bec55f commit 148a319

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

src/main/java/ru/ewc/checklogic/server/WebPages.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@
3030
import java.util.Map;
3131
import java.util.stream.Collectors;
3232
import ru.ewc.checklogic.ServerConfiguration;
33-
import ru.ewc.checklogic.ServerContextFactory;
3433
import ru.ewc.checklogic.ServerInstance;
3534
import ru.ewc.checklogic.testing.CheckSuite;
3635
import ru.ewc.checklogic.testing.TestResult;
37-
import ru.ewc.decisions.api.ComputationContext;
3836
import ru.ewc.decisions.input.CombinedCsvFileReader;
3937

4038
/**
@@ -82,8 +80,7 @@ public Response testPage() {
8280
new CombinedCsvFileReader(Path.of(this.root, "tests").toUri(), ".csv", ";")
8381
);
8482
final long start = System.currentTimeMillis();
85-
final ComputationContext context = ServerContextFactory.create(this.root).context();
86-
final List<TestResult> results = suite.perform(context, this.config.requestLocatorName());
83+
final List<TestResult> results = suite.perform(this.root, this.config.requestLocatorName());
8784
final String rows = results.stream()
8885
.sorted(Comparator.naturalOrder())
8986
.map(TestResult::asHtmlTableRow)

src/main/java/ru/ewc/checklogic/testing/CheckFile.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.ArrayList;
2727
import java.util.List;
2828
import java.util.stream.Collectors;
29+
import ru.ewc.checklogic.ServerContextFactory;
2930
import ru.ewc.decisions.api.ComputationContext;
3031
import ru.ewc.decisions.api.OutputTracker;
3132
import ru.ewc.decisions.api.RuleFragment;
@@ -49,17 +50,18 @@ public CheckFile(final List<RuleFragments> tests) {
4950
this.tests = tests;
5051
}
5152

52-
public List<TestResult> performChecks(final ComputationContext context, final String locator) {
53+
public List<TestResult> performChecks(final String root, final String locator) {
5354
return this.tests.stream()
54-
.map(rule -> CheckFile.performAndLog(context, rule, locator))
55+
.map(rule -> CheckFile.performAndLog(root, rule, locator))
5556
.toList();
5657
}
5758

5859
private static TestResult performAndLog(
59-
final ComputationContext ctx,
60+
final String root,
6061
final RuleFragments rule,
6162
final String locator
6263
) {
64+
final ComputationContext ctx = ServerContextFactory.create(root).context();
6365
logCheckpoint(ctx, "%s - started".formatted(rule.header()));
6466
final OutputTracker<String> tracker = ctx.startTracking();
6567
final List<CheckFailure> failures = new ArrayList<>(1);

src/main/java/ru/ewc/checklogic/testing/CheckSuite.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import java.util.Collection;
2828
import java.util.List;
29-
import ru.ewc.decisions.api.ComputationContext;
3029
import ru.ewc.decisions.input.ContentsReader;
3130

3231
/**
@@ -53,9 +52,9 @@ public static CheckSuite using(final ContentsReader reader) {
5352
);
5453
}
5554

56-
public List<TestResult> perform(final ComputationContext context, final String locator) {
55+
public List<TestResult> perform(final String root, final String locator) {
5756
return this.tests.stream()
58-
.map(test -> test.performChecks(context, locator))
57+
.map(test -> test.performChecks(root, locator))
5958
.flatMap(List::stream)
6059
.toList();
6160
}

0 commit comments

Comments
 (0)