| /* |
| * Copyright 2018, OpenCensus Authors |
| * |
| * Licensed 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 io.opencensus.metrics; |
| |
| import static com.google.common.truth.Truth.assertThat; |
| |
| import com.google.common.testing.EqualsTester; |
| import java.util.Arrays; |
| import org.junit.Test; |
| import org.junit.runner.RunWith; |
| import org.junit.runners.JUnit4; |
| |
| /** Unit tests for {@link LabelKey}. */ |
| @RunWith(JUnit4.class) |
| public class LabelKeyTest { |
| |
| private static final LabelKey KEY = LabelKey.create("key", "description"); |
| |
| @Test |
| public void testGetKey() { |
| assertThat(KEY.getKey()).isEqualTo("key"); |
| } |
| |
| @Test |
| public void testGetDescription() { |
| assertThat(KEY.getDescription()).isEqualTo("description"); |
| } |
| |
| @Test |
| public void create_NoLengthConstraint() { |
| // We have a length constraint of 256-characters for TagKey. That constraint doesn't apply to |
| // LabelKey. |
| char[] chars = new char[300]; |
| Arrays.fill(chars, 'k'); |
| String key = new String(chars); |
| assertThat(LabelKey.create(key, "").getKey()).isEqualTo(key); |
| } |
| |
| @Test |
| public void create_WithUnprintableChars() { |
| String key = "\2ab\3cd"; |
| String description = "\4ef\5gh"; |
| LabelKey labelKey = LabelKey.create(key, description); |
| assertThat(labelKey.getKey()).isEqualTo(key); |
| assertThat(labelKey.getDescription()).isEqualTo(description); |
| } |
| |
| @Test |
| public void create_WithNonAsciiChars() { |
| String key = "键"; |
| String description = "测试用键"; |
| LabelKey nonAsciiKey = LabelKey.create(key, description); |
| assertThat(nonAsciiKey.getKey()).isEqualTo(key); |
| assertThat(nonAsciiKey.getDescription()).isEqualTo(description); |
| } |
| |
| @Test |
| public void create_Empty() { |
| LabelKey emptyKey = LabelKey.create("", ""); |
| assertThat(emptyKey.getKey()).isEmpty(); |
| assertThat(emptyKey.getDescription()).isEmpty(); |
| } |
| |
| @Test |
| public void testLabelKeyEquals() { |
| new EqualsTester() |
| .addEqualityGroup(LabelKey.create("foo", ""), LabelKey.create("foo", "")) |
| .addEqualityGroup(LabelKey.create("foo", "description")) |
| .addEqualityGroup(LabelKey.create("bar", "")) |
| .testEquals(); |
| } |
| } |