http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramProducerTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramProducerTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramProducerTest.java
deleted file mode 100644
index e048979..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramProducerTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.histogram;
-
-import com.codahale.metrics.Histogram;
-import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_HISTOGRAM_VALUE;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public class HistogramProducerTest {
-
-    private static final String METRICS_NAME = "metrics.name";
-    private static final Long VALUE = System.currentTimeMillis();
-
-    @Mock
-    private HistogramEndpoint endpoint;
-
-    @Mock
-    private MetricRegistry registry;
-
-    @Mock
-    private Histogram histogram;
-
-    @Mock
-    private Exchange exchange;
-
-    @Mock
-    private Message in;
-
-    private HistogramProducer producer;
-
-    private InOrder inOrder;
-
-    @Before
-    public void setUp() throws Exception {
-        producer = new HistogramProducer(endpoint);
-        inOrder = Mockito.inOrder(endpoint, registry, histogram, exchange, in);
-        when(endpoint.getRegistry()).thenReturn(registry);
-        when(registry.histogram(METRICS_NAME)).thenReturn(histogram);
-        when(exchange.getIn()).thenReturn(in);
-    }
-
-    @Test
-    public void testHistogramProducer() throws Exception {
-        assertThat(producer.getEndpoint().equals(endpoint), is(true));
-    }
-
-    @Test
-    public void testProcessValueSet() throws Exception {
-        when(endpoint.getValue()).thenReturn(VALUE);
-        when(in.getHeader(HEADER_HISTOGRAM_VALUE, VALUE, 
Long.class)).thenReturn(VALUE);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(registry, times(1)).histogram(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getValue();
-        inOrder.verify(in, times(1)).getHeader(HEADER_HISTOGRAM_VALUE, VALUE, 
Long.class);
-        inOrder.verify(histogram, times(1)).update(VALUE);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessValueNotSet() throws Exception {
-        when(endpoint.getValue()).thenReturn(null);
-        when(in.getHeader(HEADER_HISTOGRAM_VALUE, null, 
Long.class)).thenReturn(null);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(registry, times(1)).histogram(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getValue();
-        inOrder.verify(in, times(1)).getHeader(HEADER_HISTOGRAM_VALUE, null, 
Long.class);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessOverrideValue() throws Exception {
-        when(endpoint.getValue()).thenReturn(VALUE);
-        when(in.getHeader(HEADER_HISTOGRAM_VALUE, VALUE, 
Long.class)).thenReturn(VALUE + 3);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(registry, times(1)).histogram(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getValue();
-        inOrder.verify(in, times(1)).getHeader(HEADER_HISTOGRAM_VALUE, VALUE, 
Long.class);
-        inOrder.verify(histogram, times(1)).update(VALUE + 3);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessOverrideUriValueNotSet() throws Exception {
-        when(endpoint.getValue()).thenReturn(null);
-        when(in.getHeader(HEADER_HISTOGRAM_VALUE, null, 
Long.class)).thenReturn(VALUE + 2);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(registry, times(1)).histogram(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getValue();
-        inOrder.verify(in, times(1)).getHeader(HEADER_HISTOGRAM_VALUE, null, 
Long.class);
-        inOrder.verify(histogram, times(1)).update(VALUE + 2);
-        inOrder.verifyNoMoreInteractions();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramRouteTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramRouteTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramRouteTest.java
deleted file mode 100644
index a27107d..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/histogram/HistogramRouteTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.histogram;
-
-import com.codahale.metrics.Histogram;
-import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mockito;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.test.context.ContextConfiguration;
-
-import static 
org.apache.camel.component.metrics.MetricsComponent.METRIC_REGISTRY_NAME;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_HISTOGRAM_VALUE;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_METRIC_NAME;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-
-@RunWith(CamelSpringJUnit4ClassRunner.class)
-@ContextConfiguration(
-        classes = { HistogramRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
-@MockEndpoints
-public class HistogramRouteTest {
-
-    @EndpointInject(uri = "mock:out")
-    private MockEndpoint endpoint;
-
-    @Produce(uri = "direct:in")
-    private ProducerTemplate producer;
-
-    private MetricRegistry mockRegistry;
-
-    private Histogram mockHistogram;
-
-    private InOrder inOrder;
-
-    @Configuration
-    public static class TestConfig extends SingleRouteCamelConfiguration {
-
-        @Bean
-        @Override
-        public RouteBuilder route() {
-            return new RouteBuilder() {
-
-                @Override
-                public void configure() throws Exception {
-                    from("direct:in")
-                            .to("metrics:histogram:A?value=332491")
-                            .to("mock:out");
-                }
-            };
-        }
-
-        @Bean(name = METRIC_REGISTRY_NAME)
-        public MetricRegistry getMetricRegistry() {
-            return Mockito.mock(MetricRegistry.class);
-        }
-    }
-
-    @Before
-    public void setup() {
-        // TODO - 12.05.2014, Lauri - is there any better way to set this up?
-        mockRegistry = 
endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME,
 MetricRegistry.class);
-        mockHistogram = Mockito.mock(Histogram.class);
-        inOrder = Mockito.inOrder(mockRegistry, mockHistogram);
-    }
-
-    @After
-    public void tearDown() {
-        endpoint.reset();
-        reset(mockRegistry);
-    }
-
-    @Test
-    public void testOverrideMetricsName() throws Exception {
-        when(mockRegistry.histogram("B")).thenReturn(mockHistogram);
-        endpoint.expectedMessageCount(1);
-        producer.sendBodyAndHeader(new Object(), HEADER_METRIC_NAME, "B");
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).histogram("B");
-        inOrder.verify(mockHistogram, times(1)).update(332491L);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testOverrideValue() throws Exception {
-        when(mockRegistry.histogram("A")).thenReturn(mockHistogram);
-        endpoint.expectedMessageCount(1);
-        producer.sendBodyAndHeader(new Object(), HEADER_HISTOGRAM_VALUE, 181L);
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).histogram("A");
-        inOrder.verify(mockHistogram, times(1)).update(181L);
-        inOrder.verifyNoMoreInteractions();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterEndpointTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterEndpointTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterEndpointTest.java
deleted file mode 100644
index e2fb8c1..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterEndpointTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.meter;
-
-import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.Producer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.instanceOf;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.Matchers.nullValue;
-
-@RunWith(MockitoJUnitRunner.class)
-public class MeterEndpointTest {
-
-    private static final String METRICS_NAME = "metrics.name";
-    private static final Long VALUE = System.currentTimeMillis();
-
-    @Mock
-    private MetricRegistry registry;
-
-    private MeterEndpoint endpoint;
-
-    private InOrder inOrder;
-
-    @Before
-    public void setUp() throws Exception {
-        endpoint = new MeterEndpoint(registry, METRICS_NAME);
-        inOrder = Mockito.inOrder(registry);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testMeterEndpoint() throws Exception {
-        assertThat(endpoint, is(notNullValue()));
-        assertThat(endpoint.getRegistry(), is(registry));
-        assertThat(endpoint.getMetricsName(), is(METRICS_NAME));
-    }
-
-    @Test
-    public void testCreateProducer() throws Exception {
-        Producer producer = endpoint.createProducer();
-        assertThat(producer, is(notNullValue()));
-        assertThat(producer, is(instanceOf(MeterProducer.class)));
-    }
-
-    @Test
-    public void testGetMark() throws Exception {
-        assertThat(endpoint.getMark(), is(nullValue()));
-    }
-
-    @Test
-    public void testSetMark() throws Exception {
-        assertThat(endpoint.getMark(), is(nullValue()));
-        endpoint.setMark(VALUE);
-        assertThat(endpoint.getMark(), is(VALUE));
-    }
-
-    @Test
-    public void testCreateEndpointUri() throws Exception {
-        assertThat(endpoint.createEndpointUri(), 
is(MeterEndpoint.ENDPOINT_URI));
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterProducerTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterProducerTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterProducerTest.java
deleted file mode 100644
index 7e6e910..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterProducerTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.meter;
-
-import com.codahale.metrics.Meter;
-import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_METER_MARK;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public class MeterProducerTest {
-
-    private static final String METRICS_NAME = "metrics.name";
-    private static final Long MARK = 9919120L;
-
-    @Mock
-    private MeterEndpoint endpoint;
-
-    @Mock
-    private MetricRegistry registry;
-
-    @Mock
-    private Meter meter;
-
-    @Mock
-    private Exchange exchange;
-
-    @Mock
-    private Message in;
-
-    private MeterProducer producer;
-
-    private InOrder inOrder;
-
-    @Before
-    public void setUp() throws Exception {
-        producer = new MeterProducer(endpoint);
-        inOrder = Mockito.inOrder(endpoint, registry, meter, exchange, in);
-        when(endpoint.getRegistry()).thenReturn(registry);
-        when(registry.meter(METRICS_NAME)).thenReturn(meter);
-        when(exchange.getIn()).thenReturn(in);
-    }
-
-    @Test
-    public void testMeterProducer() throws Exception {
-        assertThat(producer, is(notNullValue()));
-        assertThat(producer.getEndpoint().equals(endpoint), is(true));
-    }
-
-    @Test
-    public void testProcessMarkSet() throws Exception {
-        when(endpoint.getMark()).thenReturn(MARK);
-        when(in.getHeader(HEADER_METER_MARK, MARK, 
Long.class)).thenReturn(MARK);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(registry, times(1)).meter(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getMark();
-        inOrder.verify(in, times(1)).getHeader(HEADER_METER_MARK, MARK, 
Long.class);
-        inOrder.verify(meter, times(1)).mark(MARK);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessMarkSetOverrideByHeaderValue() throws Exception {
-        when(endpoint.getMark()).thenReturn(MARK);
-        when(in.getHeader(HEADER_METER_MARK, MARK, 
Long.class)).thenReturn(MARK + 101);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(registry, times(1)).meter(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getMark();
-        inOrder.verify(in, times(1)).getHeader(HEADER_METER_MARK, MARK, 
Long.class);
-        inOrder.verify(meter, times(1)).mark(MARK + 101);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessMarkNotSet() throws Exception {
-        when(endpoint.getMark()).thenReturn(null);
-        when(in.getHeader(HEADER_METER_MARK, null, 
Long.class)).thenReturn(null);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(registry, times(1)).meter(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getMark();
-        inOrder.verify(in, times(1)).getHeader(HEADER_METER_MARK, null, 
Long.class);
-        inOrder.verify(meter, times(1)).mark();
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessMarkNotSetOverrideByHeaderValue() throws Exception {
-        when(endpoint.getMark()).thenReturn(null);
-        when(in.getHeader(HEADER_METER_MARK, null, 
Long.class)).thenReturn(MARK);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(registry, times(1)).meter(METRICS_NAME);
-        inOrder.verify(endpoint, times(1)).getMark();
-        inOrder.verify(in, times(1)).getHeader(HEADER_METER_MARK, null, 
Long.class);
-        inOrder.verify(meter, times(1)).mark(MARK);
-        inOrder.verifyNoMoreInteractions();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterRouteTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterRouteTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterRouteTest.java
deleted file mode 100644
index 382d29a..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/meter/MeterRouteTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.meter;
-
-import com.codahale.metrics.Meter;
-import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mockito;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.test.context.ContextConfiguration;
-
-import static 
org.apache.camel.component.metrics.MetricsComponent.METRIC_REGISTRY_NAME;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_METER_MARK;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_METRIC_NAME;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-
-@RunWith(CamelSpringJUnit4ClassRunner.class)
-@ContextConfiguration(
-        classes = { MeterRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
-@MockEndpoints
-public class MeterRouteTest {
-
-    @EndpointInject(uri = "mock:out")
-    private MockEndpoint endpoint;
-
-    @Produce(uri = "direct:in-1")
-    private ProducerTemplate producer1;
-
-    @Produce(uri = "direct:in-2")
-    private ProducerTemplate producer2;
-
-    private MetricRegistry mockRegistry;
-
-    private Meter mockMeter;
-
-    private InOrder inOrder;
-
-    @Configuration
-    public static class TestConfig extends SingleRouteCamelConfiguration {
-
-        @Bean
-        @Override
-        public RouteBuilder route() {
-            return new RouteBuilder() {
-
-                @Override
-                public void configure() throws Exception {
-                    from("direct:in-1")
-                            .to("metrics:meter:A?mark=3179")
-                            .to("mock:out");
-
-                    from("direct:in-2")
-                            .to("metrics:meter:A")
-                            .to("mock:out");
-                }
-            };
-        }
-
-        @Bean(name = METRIC_REGISTRY_NAME)
-        public MetricRegistry getMetricRegistry() {
-            return Mockito.mock(MetricRegistry.class);
-        }
-    }
-
-    @Before
-    public void setup() {
-        // TODO - 12.05.2014, Lauri - is there any better way to set this up?
-        mockRegistry = 
endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME,
 MetricRegistry.class);
-        mockMeter = Mockito.mock(Meter.class);
-        inOrder = Mockito.inOrder(mockRegistry, mockMeter);
-        when(mockRegistry.meter("A")).thenReturn(mockMeter);
-    }
-
-    @After
-    public void tearDown() {
-        endpoint.reset();
-        reset(mockRegistry, mockMeter);
-    }
-
-    @Test
-    public void testValueSetInUri() throws Exception {
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer1.sendBody(body);
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).meter("A");
-        inOrder.verify(mockMeter, times(1)).mark(3179L);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testValueNoSetInUri() throws Exception {
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer2.sendBody(body);
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).meter("A");
-        inOrder.verify(mockMeter, times(1)).mark();
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testOverrideMetricsName() throws Exception {
-        when(mockRegistry.meter("B")).thenReturn(mockMeter);
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer1.sendBodyAndHeader(body, HEADER_METRIC_NAME, "B");
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).meter("B");
-        inOrder.verify(mockMeter, times(1)).mark(3179L);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testOverrideValueWithHeader() throws Exception {
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer1.sendBodyAndHeader(body, HEADER_METER_MARK, 9926L);
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).meter("A");
-        inOrder.verify(mockMeter, times(1)).mark(9926L);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testValueNoSetInUriOverrideWithHeader() throws Exception {
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer2.sendBodyAndHeader(body, HEADER_METER_MARK, 7707370L);
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).meter("A");
-        inOrder.verify(mockMeter, times(1)).mark(7707370L);
-        inOrder.verifyNoMoreInteractions();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerEndpointTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerEndpointTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerEndpointTest.java
deleted file mode 100644
index 5bc1138..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerEndpointTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.timer;
-
-import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.Producer;
-import org.apache.camel.component.metrics.timer.TimerEndpoint.TimerAction;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.instanceOf;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.Matchers.nullValue;
-
-@RunWith(MockitoJUnitRunner.class)
-public class TimerEndpointTest {
-
-    private static final String METRICS_NAME = "metrics.name";
-
-    @Mock
-    private MetricRegistry registry;
-
-    private TimerEndpoint endpoint;
-
-    private InOrder inOrder;
-
-    @Before
-    public void setUp() throws Exception {
-        endpoint = new TimerEndpoint(registry, METRICS_NAME);
-        inOrder = Mockito.inOrder(registry);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testTimerEndpoint() throws Exception {
-        assertThat(endpoint, is(notNullValue()));
-        assertThat(endpoint.getRegistry(), is(registry));
-        assertThat(endpoint.getMetricsName(), is(METRICS_NAME));
-    }
-
-    @Test
-    public void testCreateProducer() throws Exception {
-        Producer producer = endpoint.createProducer();
-        assertThat(producer, is(notNullValue()));
-        assertThat(producer, is(instanceOf(TimerProducer.class)));
-    }
-
-    @Test
-    public void testGetAction() throws Exception {
-        assertThat(endpoint.getAction(), is(nullValue()));
-    }
-
-    @Test
-    public void testSetAction() throws Exception {
-        assertThat(endpoint.getAction(), is(nullValue()));
-        endpoint.setAction(TimerAction.start);
-        assertThat(endpoint.getAction(), is(TimerAction.start));
-    }
-
-    @Test
-    public void testCreateEndpointUri() throws Exception {
-        assertThat(endpoint.createEndpointUri(), 
is(TimerEndpoint.ENDPOINT_URI));
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerProducerTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerProducerTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerProducerTest.java
deleted file mode 100644
index 3a09f8b..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerProducerTest.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.timer;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.Timer;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.component.metrics.timer.TimerEndpoint.TimerAction;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_TIMER_ACTION;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.Matchers.nullValue;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public class TimerProducerTest {
-
-    private static final String METRICS_NAME = "metrics.name";
-    private static final String PROPERTY_NAME = TimerEndpoint.ENDPOINT_URI + 
":" + METRICS_NAME;
-
-    @Mock
-    private TimerEndpoint endpoint;
-
-    @Mock
-    private Exchange exchange;
-
-    @Mock
-    private MetricRegistry registry;
-
-    @Mock
-    private Timer timer;
-
-    @Mock
-    private Timer.Context context;
-
-    @Mock
-    private Message in;
-
-    private TimerProducer producer;
-
-    @Mock
-    private InOrder inOrder;
-
-    @Before
-    public void setUp() throws Exception {
-        producer = new TimerProducer(endpoint);
-        inOrder = Mockito.inOrder(endpoint, exchange, registry, timer, 
context, in);
-        when(endpoint.getRegistry()).thenReturn(registry);
-        when(registry.timer(METRICS_NAME)).thenReturn(timer);
-        when(timer.time()).thenReturn(context);
-        when(exchange.getIn()).thenReturn(in);
-    }
-
-    @Test
-    public void testTimerProducer() throws Exception {
-        assertThat(producer, is(notNullValue()));
-        assertThat(producer.getEndpoint().equals(endpoint), is(true));
-    }
-
-    @Test
-    public void testProcessStart() throws Exception {
-        when(endpoint.getAction()).thenReturn(TimerAction.start);
-        when(in.getHeader(HEADER_TIMER_ACTION, TimerAction.start, 
TimerAction.class)).thenReturn(TimerAction.start);
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(null);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(endpoint, times(1)).getAction();
-        inOrder.verify(in, times(1)).getHeader(HEADER_TIMER_ACTION, 
TimerAction.start, TimerAction.class);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(registry, times(1)).timer(METRICS_NAME);
-        inOrder.verify(timer, times(1)).time();
-        inOrder.verify(exchange, times(1)).setProperty(PROPERTY_NAME, context);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessStartWithOverride() throws Exception {
-        when(endpoint.getAction()).thenReturn(TimerAction.start);
-        when(in.getHeader(HEADER_TIMER_ACTION, TimerAction.start, 
TimerAction.class)).thenReturn(TimerAction.stop);
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(context);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(endpoint, times(1)).getAction();
-        inOrder.verify(in, times(1)).getHeader(HEADER_TIMER_ACTION, 
TimerAction.start, TimerAction.class);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(context, times(1)).stop();
-        inOrder.verify(exchange, times(1)).removeProperty(PROPERTY_NAME);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessStop() throws Exception {
-        when(endpoint.getAction()).thenReturn(TimerAction.stop);
-        when(in.getHeader(HEADER_TIMER_ACTION, TimerAction.stop, 
TimerAction.class)).thenReturn(TimerAction.stop);
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(context);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(endpoint, times(1)).getAction();
-        inOrder.verify(in, times(1)).getHeader(HEADER_TIMER_ACTION, 
TimerAction.stop, TimerAction.class);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(context, times(1)).stop();
-        inOrder.verify(exchange, times(1)).removeProperty(PROPERTY_NAME);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessStopWithOverride() throws Exception {
-        when(endpoint.getAction()).thenReturn(TimerAction.stop);
-        when(in.getHeader(HEADER_TIMER_ACTION, TimerAction.stop, 
TimerAction.class)).thenReturn(TimerAction.start);
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(null);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(endpoint, times(1)).getAction();
-        inOrder.verify(in, times(1)).getHeader(HEADER_TIMER_ACTION, 
TimerAction.stop, TimerAction.class);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(registry, times(1)).timer(METRICS_NAME);
-        inOrder.verify(timer, times(1)).time();
-        inOrder.verify(exchange, times(1)).setProperty(PROPERTY_NAME, context);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessNoAction() throws Exception {
-        when(endpoint.getAction()).thenReturn(null);
-        when(in.getHeader(HEADER_TIMER_ACTION, null, 
TimerAction.class)).thenReturn(null);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(endpoint, times(1)).getAction();
-        inOrder.verify(in, times(1)).getHeader(HEADER_TIMER_ACTION, null, 
TimerAction.class);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testProcessNoActionOverride() throws Exception {
-        when(endpoint.getAction()).thenReturn(null);
-        when(in.getHeader(HEADER_TIMER_ACTION, null, 
TimerAction.class)).thenReturn(TimerAction.start);
-        producer.doProcess(exchange, endpoint, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getIn();
-        inOrder.verify(endpoint, times(1)).getAction();
-        inOrder.verify(in, times(1)).getHeader(HEADER_TIMER_ACTION, null, 
TimerAction.class);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(registry, times(1)).timer(METRICS_NAME);
-        inOrder.verify(timer, times(1)).time();
-        inOrder.verify(exchange, times(1)).setProperty(PROPERTY_NAME, context);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testHandleStart() throws Exception {
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(null);
-        producer.handleStart(exchange, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(registry, times(1)).timer(METRICS_NAME);
-        inOrder.verify(timer, times(1)).time();
-        inOrder.verify(exchange, times(1)).setProperty(PROPERTY_NAME, context);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testHandleStartAlreadyRunning() throws Exception {
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(context);
-        producer.handleStart(exchange, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testHandleStop() throws Exception {
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(context);
-        producer.handleStop(exchange, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verify(context, times(1)).stop();
-        inOrder.verify(exchange, times(1)).removeProperty(PROPERTY_NAME);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testHandleStopContextNotFound() throws Exception {
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(null);
-        producer.handleStop(exchange, registry, METRICS_NAME);
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testGetPropertyName() throws Exception {
-        assertThat(producer.getPropertyName(METRICS_NAME), 
is(TimerEndpoint.ENDPOINT_URI + ":" + METRICS_NAME));
-    }
-
-    @Test
-    public void testGetTimerContextFromExchange() throws Exception {
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(context);
-        assertThat(producer.getTimerContextFromExchange(exchange, 
PROPERTY_NAME), is(context));
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testGetTimerContextFromExchangeNotFound() throws Exception {
-        when(exchange.getProperty(PROPERTY_NAME, 
Timer.Context.class)).thenReturn(null);
-        assertThat(producer.getTimerContextFromExchange(exchange, 
PROPERTY_NAME), is(nullValue()));
-        inOrder.verify(exchange, times(1)).getProperty(PROPERTY_NAME, 
Timer.Context.class);
-        inOrder.verifyNoMoreInteractions();
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/4a84f061/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerRouteTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerRouteTest.java
 
b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerRouteTest.java
deleted file mode 100644
index 1fc46b1..0000000
--- 
a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/timer/TimerRouteTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.metrics.timer;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.Timer;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.metrics.timer.TimerEndpoint.TimerAction;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringJUnit4ClassRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InOrder;
-import org.mockito.Mockito;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.test.context.ContextConfiguration;
-
-import static 
org.apache.camel.component.metrics.MetricsComponent.METRIC_REGISTRY_NAME;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_METRIC_NAME;
-import static 
org.apache.camel.component.metrics.MetricsConstants.HEADER_TIMER_ACTION;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.when;
-
-@RunWith(CamelSpringJUnit4ClassRunner.class)
-@ContextConfiguration(
-        classes = { TimerRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
-@MockEndpoints
-public class TimerRouteTest {
-
-    @EndpointInject(uri = "mock:out")
-    private MockEndpoint endpoint;
-
-    @Produce(uri = "direct:in-1")
-    private ProducerTemplate producer1;
-
-    @Produce(uri = "direct:in-2")
-    private ProducerTemplate producer2;
-
-    private MetricRegistry mockRegistry;
-
-    private Timer mockTimer;
-
-    private InOrder inOrder;
-
-    @Configuration
-    public static class TestConfig extends SingleRouteCamelConfiguration {
-
-        @Bean
-        @Override
-        public RouteBuilder route() {
-            return new RouteBuilder() {
-
-                @Override
-                public void configure() throws Exception {
-                    from("direct:in-1")
-                            .to("metrics:timer:A?action=start")
-                            .to("mock:out");
-
-                    from("direct:in-2")
-                            .to("metrics:timer:A")
-                            .to("mock:out");
-                }
-            };
-        }
-
-        @Bean(name = METRIC_REGISTRY_NAME)
-        public MetricRegistry getMetricRegistry() {
-            return Mockito.mock(MetricRegistry.class);
-        }
-    }
-
-    @Before
-    public void setup() {
-        // TODO - 12.05.2014, Lauri - is there any better way to set this up?
-        mockRegistry = 
endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME,
 MetricRegistry.class);
-        mockTimer = Mockito.mock(Timer.class);
-        inOrder = Mockito.inOrder(mockRegistry, mockTimer);
-    }
-
-    @After
-    public void tearDown() {
-        endpoint.reset();
-        reset(mockRegistry, mockTimer);
-    }
-
-    @Test
-    public void testOverrideMetricsName() throws Exception {
-        when(mockRegistry.timer("B")).thenReturn(mockTimer);
-
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer1.sendBodyAndHeader(body, HEADER_METRIC_NAME, "B");
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).timer("B");
-        inOrder.verify(mockTimer, times(1)).time();
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testOverrideExistingAction() throws Exception {
-        when(mockRegistry.timer("A")).thenReturn(mockTimer);
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer1.sendBodyAndHeader(body, HEADER_TIMER_ACTION, 
TimerAction.stop);
-        endpoint.assertIsSatisfied();
-        inOrder.verifyNoMoreInteractions();
-    }
-
-    @Test
-    public void testOverrideNoAction() throws Exception {
-        when(mockRegistry.timer("A")).thenReturn(mockTimer);
-        Object body = new Object();
-        endpoint.expectedBodiesReceived(body);
-        producer2.sendBodyAndHeader(body, HEADER_TIMER_ACTION, 
TimerAction.start);
-        endpoint.assertIsSatisfied();
-        inOrder.verify(mockRegistry, times(1)).timer("A");
-        inOrder.verify(mockTimer, times(1)).time();
-        inOrder.verifyNoMoreInteractions();
-    }
-}

Reply via email to