test_class.declarator: testee
test_class.modifier: private
test_class.original_string: private WebCommandDispatcher testee;
test_class.type: WebCommandDispatcher
test_class.var_name: testee
test_class.declarator: builder
test_class.modifier: @Mock
  	private
test_class.original_string: @Mock
  	private WebCommandBuilder builder;
test_class.type: WebCommandBuilder
test_class.var_name: builder
test_class.declarator: gateway
test_class.modifier: @Mock
  	private
test_class.original_string: @Mock
  	private CommandExecutorGateway gateway;
test_class.type: CommandExecutorGateway
test_class.var_name: gateway
test_class.file: nimbus-core/src/test/java/com/antheminc/oss/nimbus/channel/web/WebCommandDispatcherTest.java
test_class.identifier: WebCommandDispatcherTest
test_case.body: @Test
  	public void testHandleViaJsonAndBuildCommand() {
  		final MockHttpServletRequest request = new MockHttpServletRequest();
  		final String payload = "{}";
  		
  		final String commandUri = "/Acme/abc/def/p/home/_new&execute";
  		final Command expectedCommand = CommandBuilder.withUri(commandUri).getCommand();
  		final MultiOutput expected = new MultiOutput(commandUri, new ExecutionContext(expectedCommand), Action._new, Behavior.$execute);
  		
  		Mockito.when(this.builder.build(request)).thenReturn(expectedCommand);
  		Mockito.when(this.gateway.execute(expectedCommand, payload)).thenReturn(expected);
  		final Object actual = this.testee.handle(request, payload);
  		Mockito.verify(this.builder, Mockito.only()).build(request);
  		Mockito.verify(this.gateway, Mockito.times(1)).execute(expectedCommand, payload);
  		
  		Assert.assertEquals(expected, actual);
  	}
test_case.class_method_signature: WebCommandDispatcherTest.testHandleViaJsonAndBuildCommand()
test_case.full_signature: @Test public void testHandleViaJsonAndBuildCommand()
test_case.identifier: testHandleViaJsonAndBuildCommand
test_case.invocations: getCommand withUri thenReturn when build thenReturn when execute handle build verify only execute verify times assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testHandleViaJsonAndBuildCommand()
focal_class.declarator: builder
focal_class.modifier: private final
focal_class.original_string: private final WebCommandBuilder builder;
focal_class.type: WebCommandBuilder
focal_class.var_name: builder
focal_class.declarator: gateway
focal_class.modifier: private final
focal_class.original_string: private final CommandExecutorGateway gateway;
focal_class.type: CommandExecutorGateway
focal_class.var_name: gateway
focal_class.file: nimbus-core/src/main/java/com/antheminc/oss/nimbus/channel/web/WebCommandDispatcher.java
focal_class.identifier: WebCommandDispatcher
focal_class.class_method_signature: WebCommandDispatcher.WebCommandDispatcher(BeanResolverStrategy beanResolver)
focal_class.full_signature: public  WebCommandDispatcher(BeanResolverStrategy beanResolver)
focal_class.identifier: WebCommandDispatcher
focal_class.modifiers: public
focal_class.parameters: (BeanResolverStrategy beanResolver)
focal_class.signature:  WebCommandDispatcher(BeanResolverStrategy beanResolver)
focal_class.class_method_signature: WebCommandDispatcher.handle(HttpServletRequest httpReq, ModelEvent<String> event)
focal_class.full_signature: public Object handle(HttpServletRequest httpReq, ModelEvent<String> event)
focal_class.identifier: handle
focal_class.modifiers: public
focal_class.parameters: (HttpServletRequest httpReq, ModelEvent<String> event)
focal_class.return: Object
focal_class.signature: Object handle(HttpServletRequest httpReq, ModelEvent<String> event)
focal_class.class_method_signature: WebCommandDispatcher.handle(HttpServletRequest httpReq, String json)
focal_class.full_signature: public Object handle(HttpServletRequest httpReq, String json)
focal_class.identifier: handle
focal_class.modifiers: public
focal_class.parameters: (HttpServletRequest httpReq, String json)
focal_class.return: Object
focal_class.signature: Object handle(HttpServletRequest httpReq, String json)
focal_class.class_method_signature: WebCommandDispatcher.handle(Command cmd, String payload)
focal_class.full_signature: public MultiOutput handle(Command cmd, String payload)
focal_class.identifier: handle
focal_class.modifiers: public
focal_class.parameters: (Command cmd, String payload)
focal_class.return: MultiOutput
focal_class.signature: MultiOutput handle(Command cmd, String payload)
focal_method.body: public Object handle(HttpServletRequest httpReq, ModelEvent<String> event) {
  		Command cmd = getBuilder().build(httpReq, event);
  		return handle(cmd, event.getPayload());
  	}
focal_method.class_method_signature: WebCommandDispatcher.handle(HttpServletRequest httpReq, ModelEvent<String> event)
focal_method.full_signature: public Object handle(HttpServletRequest httpReq, ModelEvent<String> event)
focal_method.identifier: handle
focal_method.invocations: build getBuilder handle getPayload
focal_method.modifiers: public
focal_method.parameters: (HttpServletRequest httpReq, ModelEvent<String> event)
focal_method.return: Object
focal_method.signature: Object handle(HttpServletRequest httpReq, ModelEvent<String> event)