Skip to content

Commit 3523548

Browse files
committed
test names and revert getFloat
1 parent 783a0b7 commit 3523548

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

firebase-perf/src/main/java/com/google/firebase/perf/util/ImmutableBundle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public Optional<Float> getFloat(String key) {
7878

7979
try {
8080
Object o = bundle.get(key);
81-
return Optional.fromNullable(((Number) o).floatValue());
81+
return Optional.fromNullable((Float) o);
8282
} catch (ClassCastException e) {
8383
logger.debug("Metadata key %s contains type other than float: %s", key, e.getMessage());
8484
}

firebase-perf/src/test/java/com/google/firebase/perf/transport/RateLimiterTest.java

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ public void testDeviceSampling_tracesDisabledButNetworkEnabled() {
399399
}
400400

401401
@Test
402-
public void testDeviceSampling_tracesEnabledButFragmentDisabled() {
402+
public void testDeviceSampling_tracesEnabledButFragmentDisabled_dropsFragmentTrace() {
403403
makeConfigResolverReturnDefaultValues();
404404
when(mockConfigResolver.getTraceSamplingRate()).thenReturn(0.5f);
405405
when(mockConfigResolver.getFragmentSamplingRate()).thenReturn(0.02f);
@@ -435,7 +435,7 @@ public void testDeviceSampling_tracesEnabledButFragmentDisabled() {
435435
}
436436

437437
@Test
438-
public void testDeviceSampling_tracesDisabledButFragmentEnabled() {
438+
public void testDeviceSampling_tracesDisabledButFragmentEnabled_dropsFragmentTrace() {
439439
makeConfigResolverReturnDefaultValues();
440440
when(mockConfigResolver.getTraceSamplingRate()).thenReturn(0.02f);
441441
when(mockConfigResolver.getFragmentSamplingRate()).thenReturn(0.5f);
@@ -551,6 +551,30 @@ public void testDeviceSampling_bothTracesAndNetworkDisabled() {
551551
assertThat(limiter.getIsDeviceAllowedToSendNetworkEvents()).isFalse();
552552
}
553553

554+
@Test
555+
public void testDeviceSampling_bothTracesAndFragmentEnabled_acceptsFragmentTrace() {
556+
makeConfigResolverReturnDefaultValues();
557+
when(mockConfigResolver.getTraceSamplingRate()).thenReturn(0.5f);
558+
when(mockConfigResolver.getFragmentSamplingRate()).thenReturn(0.5f);
559+
560+
RateLimiter limiter =
561+
new RateLimiter(TWO_TOKENS_PER_MINUTE, 2, mClock, 0.49f, mockConfigResolver);
562+
563+
assertThat(limiter.getIsDeviceAllowedToSendTraces()).isTrue();
564+
assertThat(limiter.getIsDeviceAllowedToSendFragmentScreenTraces()).isTrue();
565+
566+
PerfMetric trace =
567+
PerfMetric.newBuilder()
568+
.setTraceMetric(
569+
TraceMetric.newBuilder()
570+
.setName("_st_TestFragment")
571+
.putCustomAttributes(Constants.ACTIVITY_ATTRIBUTE_KEY, "TestActivity")
572+
.addAllPerfSessions(Arrays.asList(createNonVerbosePerfSessions())))
573+
.build();
574+
assertThat(limiter.isFragmentScreenTrace(trace)).isTrue();
575+
assertThat(limiter.isEventSampled(trace)).isTrue();
576+
}
577+
554578
@Test
555579
public void testDeviceSampling_changeInTraceSamplingRateIsImmediatelyEffective() {
556580
makeConfigResolverReturnDefaultValues();
@@ -923,12 +947,12 @@ public void testNetworkRequestsAreNotSampledWhenSessionIsVerboseAndSamplingEnabl
923947
}
924948

925949
@Test
926-
public void testFragmentScreenTraces_areSampled_whenSessionIsVerboseAndSamplingEnabled() {
950+
public void isEventSampled_verboseSessionEnabledAndDiceRollFailed_returnsTrue() {
927951
makeConfigResolverReturnDefaultValues();
928952
when(mockConfigResolver.getFragmentSamplingRate()).thenReturn(0.70f);
929953

930-
// Passing a value for samplingBucketId which is greater than the sampling rate ensures that
931-
// the sampling will be enabled causing all the metrics to be dropped
954+
// Passing a value for samplingBucketId which is greater than the sampling rate means that
955+
// the sampling dice roll failed causing all the metrics to be dropped
932956
RateLimiter limiter =
933957
new RateLimiter(
934958
/* rate= */ TWO_TOKENS_PER_SECOND,
@@ -1001,12 +1025,12 @@ public void testNetworkRequestsAreSampledWhenSessionIsNonVerboseAndSamplingEnabl
10011025
}
10021026

10031027
@Test
1004-
public void testFragmentScreenTraces_areNotSampled_whenSessionIsNonVerboseAndSamplingEnabled() {
1028+
public void isEventSampled_verboseSessionDisabledAndDiceRollFailed_returnsFalse() {
10051029
makeConfigResolverReturnDefaultValues();
10061030
when(mockConfigResolver.getFragmentSamplingRate()).thenReturn(0.70f);
10071031

1008-
// Passing a value for samplingBucketId which is greater than the sampling rate ensures that
1009-
// the sampling will be enabled causing all the metrics to be dropped
1032+
// Passing a value for samplingBucketId which is greater than the sampling rate means that
1033+
// the sampling dice roll failed causing all the metrics to be dropped
10101034
RateLimiter limiter =
10111035
new RateLimiter(
10121036
/* rate= */ TWO_TOKENS_PER_SECOND,

0 commit comments

Comments
 (0)