MetricName { public static Builder name(String name) { return new Builder(name); } private  MetricName(String name, LinkedHashMap<String, String> tags); @JsonCreator private  MetricName(@JsonProperty("name") String name, @JsonProperty("tags") Map<String, String> tags); MetricName withTag(String key, String value); static Builder name(String name); String getName(); Map<String, String> getTags(); @JsonIgnore List<String> getTagKeys(); @JsonIgnore List<String> getTagValues(); String toGraphiteName(); @Override boolean equals(Object o); @Override int hashCode(); boolean matches(MetricName other); @Override String toString();  }
@Test public void testTemplateSingleValue() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar"); assertEquals(name("foo").tag("bar", "baz").tag("qux", "quux").build(), metricNameTemplate.build("baz")); assertSame(metricNameTemplate.build("baz"), metricNameTemplate.build("baz")); assertNotEquals(metricNameTemplate.build("baz"), metricNameTemplate.build("baz2")); }
@Test(expected = IllegalArgumentException.class) public void testTemplateSingleValueBuildMultipleValues() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar"); metricNameTemplate.build("foo", "bar"); }
@Test(expected = IllegalArgumentException.class) public void testTemplateSingleValueEmptyValues() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar"); metricNameTemplate.build(); }
@Test(expected = NullPointerException.class) public void testTemplateSingleValueNull() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar"); metricNameTemplate.build((String) null); }
@Test public void testTemplateMultipleValues() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar", "qux"); assertEquals(name("foo").tag("bar", "baz").tag("qux", "q").build(), metricNameTemplate.build("baz", "q")); assertSame(metricNameTemplate.build("baz", "quux"), metricNameTemplate.build("baz", "quux")); assertNotEquals(metricNameTemplate.build("baz", "quux"), metricNameTemplate.build("baz2", "quux")); }
@Test public void testTemplateMultipleValues2() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").templateFor("bar", "qux"); assertEquals(name("foo").tag("bar", "baz").tag("qux", "q").build(), metricNameTemplate.build("baz", "q")); assertSame(metricNameTemplate.build("baz", "quux"), metricNameTemplate.build("baz", "quux")); assertNotEquals(metricNameTemplate.build("baz", "quux"), metricNameTemplate.build("baz2", "quux")); }
@Test(expected = IllegalArgumentException.class) public void testTemplateMultipleValuesBuildEmptyValues() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar", "qux"); metricNameTemplate.build("foo"); }
@Test(expected = IllegalArgumentException.class) public void testTemplateMultipleValuesBuildTooFewValues() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar", "qux"); metricNameTemplate.build("foo"); }
@Test(expected = IllegalArgumentException.class) public void testTemplateMultipleValuesBuildTooManyValues() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar", "qux"); metricNameTemplate.build("foo", "bar", "baz"); }
@Test public void testMetricNameNull() { name("foo").tag("bar", null).tag("qux", null).build(); }
@Test public void testTemplateMultipleValuesNull() { final MetricName.MetricNameTemplate metricNameTemplate = name("foo").tag("bar", "").tag("qux", "quux").templateFor("bar", "qux"); metricNameTemplate.build(null, null); }