@Test public void setNullOrEmpty() { Set<MetricType> orig = AwsSdkMetrics.getPredefinedMetrics(); assertTrue(orig.size() > 0); AwsSdkMetrics.set(null); Set<MetricType> empty = AwsSdkMetrics.getPredefinedMetrics(); assertTrue(empty.size() == 0); AwsSdkMetrics.set(null); Set<MetricType> stillEmpty = AwsSdkMetrics.getPredefinedMetrics(); assertSame(empty, stillEmpty); AwsSdkMetrics.set(Collections.<MetricType>emptySet()); Set<MetricType> empty3 = AwsSdkMetrics.getPredefinedMetrics(); assertSame(empty, empty3); AwsSdkMetrics.set(orig); }
@Test public void defaultMetricTypes() { // Default set of predefined metric types is not empty Set<MetricType> set = AwsSdkMetrics.getPredefinedMetrics(); assertNotNull(set); assertTrue(set.size() > 0); // Clear out the default set of predefined metric types AwsSdkMetrics.set(Collections.<MetricType>emptyList()); Set<MetricType> empty = AwsSdkMetrics.getPredefinedMetrics(); assertNotNull(empty); assertTrue(empty.size() == 0); // Reconfigure the default set of predefined metric types back to the original AwsSdkMetrics.set(set); Set<MetricType> set2 = AwsSdkMetrics.getPredefinedMetrics(); assertNotNull(set2); assertTrue(set2.size() > 0); // Not the same due to ensuring thread-safety assertNotSame(set, set2); }
@Test public void addAndRemove() { Set<MetricType> orig = AwsSdkMetrics.getPredefinedMetrics(); AwsSdkMetrics.set(null); // Test add and remove assertTrue(AwsSdkMetrics.getPredefinedMetrics().isEmpty()); AwsSdkMetrics.add(Field.ClientExecuteTime); assertFalse(AwsSdkMetrics.getPredefinedMetrics().isEmpty()); AwsSdkMetrics.remove(Field.ClientExecuteTime); assertTrue(AwsSdkMetrics.getPredefinedMetrics().isEmpty()); // Test add more than one entry AwsSdkMetrics.add(Field.ClientExecuteTime); AwsSdkMetrics.add(Field.Exception); assertTrue(AwsSdkMetrics.getPredefinedMetrics().size() == 2); AwsSdkMetrics.set(null); assertTrue(AwsSdkMetrics.getPredefinedMetrics().isEmpty()); // Test addAll AwsSdkMetrics.addAll(Arrays.asList(Field.Exception, Field.ClientExecuteTime)); assertTrue(AwsSdkMetrics.getPredefinedMetrics().size() == 2); AwsSdkMetrics.set(orig); assertTrue(AwsSdkMetrics.getPredefinedMetrics().size() == orig.size()); }