Skip to content

Commit b23c767

Browse files
committed
- F Add logger of approved files
1 parent cc292a1 commit b23c767

File tree

6 files changed

+65
-4
lines changed

6 files changed

+65
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@ __pycache__/
2424
*.bak
2525

2626
.gitmessage
27+
.approval_tests_temp/
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.approvaltests;
2+
3+
import com.spun.util.io.FileUtils;
4+
import org.approvaltests.namer.ApprovalNamer;
5+
import org.junit.Assert;
6+
import org.junit.jupiter.api.Test;
7+
8+
import java.io.File;
9+
10+
public class ApprovedFileLogTest {
11+
@Test
12+
void testLogging() {
13+
File file = ApprovedFileLog.get();
14+
ApprovalNamer approvalNamer = Approvals.createApprovalNamer();
15+
File approvedFile = approvalNamer.getApprovedFile(".txt");
16+
String prelog = FileUtils.readFile(file);
17+
Assert.assertFalse(prelog.contains(approvedFile.getAbsolutePath()));
18+
Approvals.verify("anything");
19+
String postlog = FileUtils.readFile(file);
20+
Assert.assertTrue(postlog.contains(approvedFile.getAbsolutePath()));
21+
}
22+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
anything

approvaltests-util/src/main/java/com/spun/util/io/FileUtils.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@
2323
import java.nio.charset.CharsetDecoder;
2424
import java.nio.charset.CodingErrorAction;
2525
import java.nio.charset.StandardCharsets;
26-
import java.nio.file.FileVisitOption;
27-
import java.nio.file.Files;
28-
import java.nio.file.Path;
29-
import java.nio.file.Paths;
26+
import java.nio.file.*;
3027
import java.util.ArrayList;
3128
import java.util.List;
3229
import java.util.stream.Stream;
@@ -157,6 +154,23 @@ public static void copyFileToDirectory(String file, File tempDir)
157154
throw ObjectUtils.throwAsError(t);
158155
}
159156
}
157+
158+
public static void appendToFile(File file, String text)
159+
{
160+
try
161+
{
162+
Asserts.assertNotNull("Writing to file: " + file, text);
163+
file.getCanonicalFile().getParentFile().mkdirs();
164+
try (BufferedWriter out = Files.newBufferedWriter(file.toPath(), StandardCharsets.UTF_8, StandardOpenOption.APPEND))
165+
{
166+
out.write(text);
167+
}
168+
}
169+
catch (Throwable t)
170+
{
171+
throw ObjectUtils.throwAsError(t);
172+
}
173+
}
160174
public static void writeFile(File file, String text)
161175
{
162176
try
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.approvaltests;
2+
3+
import com.spun.util.io.FileUtils;
4+
5+
import java.io.File;
6+
7+
public class ApprovedFileLog {
8+
static {
9+
FileUtils.writeFile(get(), "");
10+
}
11+
public static File get() {
12+
File file = new File(".approval_tests_temp/.approved_files.log");
13+
FileUtils.createIfNeeded(file.getAbsolutePath());
14+
return file;
15+
}
16+
17+
public static void log(File file) {
18+
File log = get();
19+
FileUtils.appendToFile(log, file.getAbsolutePath() + "\n");
20+
}
21+
}

approvaltests/src/main/java/org/approvaltests/approvers/FileApprover.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.spun.util.ObjectUtils;
44
import com.spun.util.io.FileUtils;
5+
import org.approvaltests.ApprovedFileLog;
56
import org.approvaltests.core.ApprovalFailureReporter;
67
import org.approvaltests.core.ApprovalReporterWithCleanUp;
78
import org.approvaltests.core.ApprovalWriter;
@@ -33,6 +34,7 @@ public FileApprover(ApprovalWriter writer, ApprovalNamer namer, Function2<File,
3334
public VerifyResult approve()
3435
{
3536
tracker.assertUnique(approved.getAbsolutePath());
37+
ApprovedFileLog.log(approved);
3638
received = writer.writeReceivedFile(received);
3739
return approver.call(received, approved);
3840
}

0 commit comments

Comments
 (0)