diff --git a/BUILD.bazel b/BUILD.bazel index b5ac9a7d74..37fd12d8b5 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -52,9 +52,13 @@ java_binary( name = "junit_runner", srcs = [ "//src/test/java/com/google/api/generator/gapic/dummy:dummy_files", + "//src/test/java/com/google/api/generator/engine:engine_files", "//src/test/java/com/google/api/generator/test/framework:framework_files", ], - data = ["//src/test/java/com/google/api/generator/gapic/dummy/goldens:goldens_files"], + data = [ + "//src/test/java/com/google/api/generator/gapic/dummy/goldens:goldens_files", + "//src/test/java/com/google/api/generator/engine/goldens:goldens_files", + ], jvm_flags = ["-Xmx512m"], main_class = "com.google.api.generator.test.framework.SingleJUnitTestRunner", visibility = ["//visibility:public"], @@ -62,6 +66,9 @@ java_binary( "//src/main/java/com/google/api/generator/engine/ast", "//src/main/java/com/google/api/generator/engine/writer", "//src/test/java/com/google/api/generator/test/framework", + "//src/main/java/com/google/api/generator/engine/lexicon", + "@com_google_guava_guava//:com_google_guava_guava", + "@com_google_truth_truth//jar", "@io_github_java_diff_utils//jar", "@junit_junit//jar", "@org_hamcrest_hamcrest_core//jar", diff --git a/src/test/java/com/google/api/generator/engine/BUILD.bazel b/src/test/java/com/google/api/generator/engine/BUILD.bazel index 54b08dfd36..90bd694347 100644 --- a/src/test/java/com/google/api/generator/engine/BUILD.bazel +++ b/src/test/java/com/google/api/generator/engine/BUILD.bazel @@ -1,3 +1,5 @@ +load("//:rules_bazel/java/java_diff_test.bzl", "updated_golden") + package(default_visibility = ["//visibility:public"]) filegroup( @@ -25,3 +27,15 @@ TESTS = [ "@junit_junit//jar", ], ) for test_name in TESTS] + +TEST_CLASS_NAME = "com.google.api.generator.engine.JavaCodeGeneratorTest" + +# Run `bazel run src/test/java/com/google/api/generator/engine:JavaCodeGeneratorTest_update` +# to update goldens as expected generated code. +updated_golden( + name = "JavaCodeGeneratorTest_update", + srcs = [ + ":engine_files", + ], + test_class_name = TEST_CLASS_NAME, +) diff --git a/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java b/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java index 3383fb94b0..8ed58c13cb 100644 --- a/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java +++ b/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java @@ -50,6 +50,7 @@ import com.google.api.generator.engine.ast.WhileStatement; import com.google.api.generator.engine.writer.JavaWriterVisitor; import com.google.api.generator.test.framework.Assert; +import com.google.api.generator.test.framework.Utils; import java.io.FileWriter; import java.io.IOException; import java.nio.file.Path; @@ -172,6 +173,8 @@ public void validJavaClass() { .build(); JavaWriterVisitor javaWriterVisitor = new JavaWriterVisitor(); libraryServiceStubClass.accept(javaWriterVisitor); + Utils.saveCodegenToFile( + this.getClass(), "JavaCodeGeneratorTest.golden", javaWriterVisitor.write()); Path goldenFilePath = Paths.get(GOLDENFILES_DIRECTORY, "JavaCodeGeneratorTest.golden"); Assert.assertCodeEquals(goldenFilePath, javaWriterVisitor.write()); }