@Override public MetricNameValidator createMetricNameValidator() { return new MetricNameValidator(METRIC_NAME_LIMIT, INSTANCE_NAME_LIMIT); } }
void validateNameConstraints(MetricName metricName) { validateName(metricName); validateInstance(metricName); }
@Test(expected = IllegalArgumentException.class) public void shouldRaiseAnErrorIfTheMetricNameIsLongerThanTheAllowedLength() { MetricName metricName = mock(MetricName.class); when(metricName.getMetric()).thenReturn(METRIC_NAME_64_CHARS); validator.validateNameConstraints(metricName); }
@Test public void shouldNotRaiseAnErrorIfTheMetricNameIsUnderTheLimit() { MetricName metricName = mock(MetricName.class); when(metricName.getMetric()).thenReturn(METRIC_NAME_63_CHARS); validator.validateNameConstraints(metricName); }
@Override public MetricNameValidator createMetricNameValidator() { return new MetricNameValidator(STRING_BLOCK_LIMIT, STRING_BLOCK_LIMIT); } }
@Test(expected = IllegalArgumentException.class) public void shouldRaiseAnErrorIfTheMetricHasAnInstanceAndItsNameIsLongerThanTheAllowedLength() { MetricName metricName = mock(MetricName.class); when(metricName.getMetric()).thenReturn(""); when(metricName.hasInstance()).thenReturn(true); when(metricName.getInstance()).thenReturn(INSTANCE_NAME_64_CHARS); validator.validateNameConstraints(metricName); }
@Before public void setUp() throws Exception { validator = new MetricNameValidator(NAME_LIMIT, DOMAIN_LIMIT); }
@Test public void shouldNotRaiseAnErrorIfTheMetricHasAnInstanceAndItsNameIsShorterThanTheAllowedLength() { MetricName metricName = mock(MetricName.class); when(metricName.getMetric()).thenReturn(""); when(metricName.hasInstance()).thenReturn(true); when(metricName.getInstance()).thenReturn(INSTANCE_NAME_63_CHARS); validator.validateNameConstraints(metricName); }
@Test public void mmvVersion2_shouldCreateAVersionMetricValidator() { MetricNameValidator actual = MMV_VERSION2.createMetricNameValidator(); MetricNameValidator expected = new MetricNameValidator(MMV2_NAME_LIMIT, MMV2_INSTANCE_LIMIT); assertReflectionEquals(expected, actual); }
private synchronized void addMetricInfo(MetricName name, Semantics semantics, Unit<?> unit, Object initialValue, TypeHandler<?> pcpType) { if (metricData.containsKey(name)) { throw new IllegalArgumentException("Metric " + name + " has already been added to writer"); } metricNameValidator.validateNameConstraints(name); PcpMetricInfo metricInfo = getMetricInfo(name.getMetric()); InstanceDomain domain = null; Instance instance = null; if (name.hasInstance()) { domain = getInstanceDomain(name.getInstanceDomainTag()); instance = domain.getInstance(name.getInstance()); metricInfo.setInstanceDomain(domain); } metricInfo.setTypeHandler(pcpType); metricInfo.setUnit(unit); metricInfo.setSemantics(semantics); PcpValueInfo info = new PcpValueInfo(name, metricInfo, instance, initialValue, stringStore); metricData.put(name, info); }
@Test public void mmvVersion1_shouldCreateAVersion1MetricValidator() { MetricNameValidator actual = MMV_VERSION1.createMetricNameValidator(); MetricNameValidator expected = new MetricNameValidator(MMV1_NAME_LIMIT, MMV1_DOMAIN_LIMIT); assertReflectionEquals(expected, actual); }