aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristen Kozak <sebright@google.com>2017-12-15 13:57:07 -0800
committerKristen Kozak <sebright@google.com>2017-12-15 13:57:07 -0800
commita4761dedeeeb74e2251e81e9368b735ec01af796 (patch)
tree997aa7a138ca79309a7a9e9fe8a4bc60ad6c9294
parentfb35828f7636f2d32db0400c0589377b493b9d03 (diff)
downloadopencensus-java-a4761dedeeeb74e2251e81e9368b735ec01af796.tar.gz
Check for null in TagContextBuilderImpl.remove and add tests.
-rw-r--r--impl_core/src/main/java/io/opencensus/implcore/tags/TagContextBuilderImpl.java2
-rw-r--r--impl_core/src/test/java/io/opencensus/implcore/tags/TagContextImplTest.java28
2 files changed, 29 insertions, 1 deletions
diff --git a/impl_core/src/main/java/io/opencensus/implcore/tags/TagContextBuilderImpl.java b/impl_core/src/main/java/io/opencensus/implcore/tags/TagContextBuilderImpl.java
index 29ff9a3b..a17198d8 100644
--- a/impl_core/src/main/java/io/opencensus/implcore/tags/TagContextBuilderImpl.java
+++ b/impl_core/src/main/java/io/opencensus/implcore/tags/TagContextBuilderImpl.java
@@ -44,7 +44,7 @@ final class TagContextBuilderImpl extends TagContextBuilder {
@Override
public TagContextBuilderImpl remove(TagKey key) {
- tags.remove(key);
+ tags.remove(checkNotNull(key, "key"));
return this;
}
diff --git a/impl_core/src/test/java/io/opencensus/implcore/tags/TagContextImplTest.java b/impl_core/src/test/java/io/opencensus/implcore/tags/TagContextImplTest.java
index 1dd43da2..2ad4ea73 100644
--- a/impl_core/src/test/java/io/opencensus/implcore/tags/TagContextImplTest.java
+++ b/impl_core/src/test/java/io/opencensus/implcore/tags/TagContextImplTest.java
@@ -25,6 +25,7 @@ import com.google.common.collect.Lists;
import com.google.common.testing.EqualsTester;
import io.opencensus.tags.Tag;
import io.opencensus.tags.TagContext;
+import io.opencensus.tags.TagContextBuilder;
import io.opencensus.tags.TagKey;
import io.opencensus.tags.TagValue;
import io.opencensus.tags.Tagger;
@@ -81,6 +82,24 @@ public class TagContextImplTest {
}
@Test
+ public void put_nullKey() {
+ TagContext tags = new TagContextImpl(ImmutableMap.of(K1, V1));
+ TagContextBuilder builder = tagger.toBuilder(tags);
+ thrown.expect(NullPointerException.class);
+ thrown.expectMessage("key");
+ builder.put(null, V2);
+ }
+
+ @Test
+ public void put_nullValue() {
+ TagContext tags = new TagContextImpl(ImmutableMap.of(K1, V1));
+ TagContextBuilder builder = tagger.toBuilder(tags);
+ thrown.expect(NullPointerException.class);
+ thrown.expectMessage("value");
+ builder.put(K2, null);
+ }
+
+ @Test
public void remove_existingKey() {
TagContext tags = new TagContextImpl(ImmutableMap.of(K1, V1, K2, V2));
assertThat(((TagContextImpl) tagger.toBuilder(tags).remove(K1).build()).getTags())
@@ -95,6 +114,15 @@ public class TagContextImplTest {
}
@Test
+ public void remove_nullValue() {
+ TagContext tags = new TagContextImpl(ImmutableMap.of(K1, V1));
+ TagContextBuilder builder = tagger.toBuilder(tags);
+ thrown.expect(NullPointerException.class);
+ thrown.expectMessage("key");
+ builder.remove(null);
+ }
+
+ @Test
public void testIterator() {
TagContextImpl tags = new TagContextImpl(ImmutableMap.of(K1, V1, K2, V2));
Iterator<Tag> i = tags.getIterator();