@@ -144,6 +144,35 @@ public void throwsIfResourceControllerIsNotSame() {
144144 nexusSlotSupplier ));
145145 }
146146
147+ @ Test
148+ public void validateAndBuildWithDefaultsDoesNotSetPollerDefaultsWhenBehaviorIsSet () {
149+ WorkerOptions options =
150+ WorkerOptions .newBuilder ()
151+ .setWorkflowTaskPollersBehavior (new PollerBehaviorAutoscaling ())
152+ .setActivityTaskPollersBehavior (new PollerBehaviorAutoscaling ())
153+ .setNexusTaskPollersBehavior (new PollerBehaviorAutoscaling ())
154+ .validateAndBuildWithDefaults ();
155+
156+ assertEquals (0 , options .getMaxConcurrentWorkflowTaskPollers ());
157+ assertEquals (0 , options .getMaxConcurrentActivityTaskPollers ());
158+ assertEquals (0 , options .getMaxConcurrentNexusTaskPollers ());
159+ assertNotNull (options .getWorkflowTaskPollersBehavior ());
160+ assertNotNull (options .getActivityTaskPollersBehavior ());
161+ assertNotNull (options .getNexusTaskPollersBehavior ());
162+ }
163+
164+ @ Test
165+ public void validateAndBuildWithDefaultsIsIdempotentWithPollerBehavior () {
166+ WorkerOptions first =
167+ WorkerOptions .newBuilder ()
168+ .setWorkflowTaskPollersBehavior (new PollerBehaviorAutoscaling ())
169+ .validateAndBuildWithDefaults ();
170+ WorkerOptions second = WorkerOptions .newBuilder (first ).validateAndBuildWithDefaults ();
171+
172+ assertEquals (0 , second .getMaxConcurrentWorkflowTaskPollers ());
173+ assertNotNull (second .getWorkflowTaskPollersBehavior ());
174+ }
175+
147176 @ Test
148177 public void verifyMaxTaskQueuePerSecondsDisablesEagerExecution () {
149178 // Verify that by default eager execution is enabled
0 commit comments