/* * Copyright 2017, 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.trace.config; import static com.google.common.truth.Truth.assertThat; import io.opencensus.trace.samplers.Samplers; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; /** Unit tests for {@link TraceParams}. */ @RunWith(JUnit4.class) public class TraceParamsTest { @Test public void defaultTraceParams() { assertThat(TraceParams.DEFAULT.getSampler()).isEqualTo(Samplers.probabilitySampler(1e-4)); assertThat(TraceParams.DEFAULT.getMaxNumberOfAttributes()).isEqualTo(32); assertThat(TraceParams.DEFAULT.getMaxNumberOfAnnotations()).isEqualTo(32); assertThat(TraceParams.DEFAULT.getMaxNumberOfNetworkEvents()).isEqualTo(128); assertThat(TraceParams.DEFAULT.getMaxNumberOfMessageEvents()).isEqualTo(128); assertThat(TraceParams.DEFAULT.getMaxNumberOfLinks()).isEqualTo(32); } @Test(expected = NullPointerException.class) public void updateTraceParams_NullSampler() { TraceParams.DEFAULT.toBuilder().setSampler(null).build(); } @Test(expected = IllegalArgumentException.class) public void updateTraceParams_NonPositiveMaxNumberOfAttributes() { TraceParams.DEFAULT.toBuilder().setMaxNumberOfAttributes(0).build(); } @Test(expected = IllegalArgumentException.class) public void updateTraceParams_NonPositiveMaxNumberOfAnnotations() { TraceParams.DEFAULT.toBuilder().setMaxNumberOfAnnotations(0).build(); } @Test(expected = IllegalArgumentException.class) public void updateTraceParams_NonPositiveMaxNumberOfNetworkEvents() { TraceParams.DEFAULT.toBuilder().setMaxNumberOfNetworkEvents(0).build(); } @Test(expected = IllegalArgumentException.class) public void updateTraceParams_NonPositiveMaxNumberOfMessageEvents() { TraceParams.DEFAULT.toBuilder().setMaxNumberOfMessageEvents(0).build(); } @Test(expected = IllegalArgumentException.class) public void updateTraceParams_NonPositiveMaxNumberOfLinks() { TraceParams.DEFAULT.toBuilder().setMaxNumberOfLinks(0).build(); } @Test public void updateTraceParams_All() { TraceParams traceParams = TraceParams.DEFAULT .toBuilder() .setSampler(Samplers.alwaysSample()) .setMaxNumberOfAttributes(8) .setMaxNumberOfAnnotations(9) .setMaxNumberOfMessageEvents(10) .setMaxNumberOfLinks(11) .build(); assertThat(traceParams.getSampler()).isEqualTo(Samplers.alwaysSample()); assertThat(traceParams.getMaxNumberOfAttributes()).isEqualTo(8); assertThat(traceParams.getMaxNumberOfAnnotations()).isEqualTo(9); // test maxNumberOfNetworkEvent can be set via maxNumberOfMessageEvent assertThat(traceParams.getMaxNumberOfNetworkEvents()).isEqualTo(10); assertThat(traceParams.getMaxNumberOfMessageEvents()).isEqualTo(10); assertThat(traceParams.getMaxNumberOfLinks()).isEqualTo(11); } @Test public void updateTraceParams_maxNumberOfNetworkEvents() { TraceParams traceParams = TraceParams.DEFAULT.toBuilder().setMaxNumberOfNetworkEvents(10).build(); assertThat(traceParams.getMaxNumberOfNetworkEvents()).isEqualTo(10); // test maxNumberOfMessageEvent can be set via maxNumberOfNetworkEvent assertThat(traceParams.getMaxNumberOfMessageEvents()).isEqualTo(10); } }