Addresses reviewer comments
diff --git a/sdks/python/apache_beam/transforms/external_test.py b/sdks/python/apache_beam/transforms/external_test.py
index f61b7b7..9a3b7cf 100644
--- a/sdks/python/apache_beam/transforms/external_test.py
+++ b/sdks/python/apache_beam/transforms/external_test.py
@@ -427,6 +427,7 @@
     payload_from_bytes = proto_utils.parse_Bytes(
         payload_bytes, JavaClassLookupPayload)
     self.assertTrue(isinstance(payload_from_bytes, JavaClassLookupPayload))
+    self.assertFalse(payload_from_bytes.constructor_method)
     self._verify_row(
         payload_from_bytes.constructor_schema,
         payload_from_bytes.constructor_payload, {
@@ -491,6 +492,12 @@
             'int_field2': 4567
         })
 
+  def test_build_payload_with_constructor_twice_fails(self):
+    payload_builder = JavaClassLookupPayloadBuilder('dummy_class_name')
+    payload_builder.with_constructor('abc')
+    with self.assertRaises(ValueError):
+      payload_builder.with_constructor('def')
+
 
 if __name__ == '__main__':
   logging.getLogger().setLevel(logging.INFO)