public void TestSimpleGetters() { var dict = new JsonDictionary(); dict.Add("name", "TestName"); dict.Add("version", "v1"); dict.Add("description", "Test Description"); dict.Add("documentationLink", "https://www.google.com/"); dict.Add("features", new List <object> { "feature1", "feature2" }); dict.Add("labels", new List <object> { "label1", "label2" }); dict.Add("id", "TestId"); dict.Add("title", "Test API"); IService impl = new ConcreteClass(dict); Assert.AreEqual("Test Description", impl.Description); Assert.AreEqual("https://www.google.com/", impl.DocumentationLink); MoreAsserts.ContentsEqualAndInOrder(new List <string> { "feature1", "feature2" }, impl.Features); MoreAsserts.ContentsEqualAndInOrder(new List <string> { "label1", "label2" }, impl.Labels); Assert.AreEqual("TestId", impl.Id); Assert.AreEqual("Test API", impl.Title); }
public void TestCase() { var actual = new List <string> { "a", "b", "c", "d" }; MoreAsserts.ContentsEqualAndInOrder(actual.Select(x => x.ToString()), actual); Assert.Throws <AssertionException>( () => MoreAsserts.ContentsEqualAndInOrder(actual.Select(x => x).Reverse(), actual)); Assert.Throws <AssertionException>( () => MoreAsserts.ContentsEqualAndInOrder(new List <string> { "a", "b", "c" }, actual)); Assert.Throws <AssertionException>( () => MoreAsserts.ContentsEqualAndInOrder(new List <string> { "b", "c", "d" }, actual)); Assert.Throws <AssertionException>( () => MoreAsserts.ContentsEqualAndInOrder(new List <string> { "a", "b", "c", "d", "e" }, actual)); Assert.Throws <AssertionException>( () => MoreAsserts.ContentsEqualAndInOrder(new List <string> { "a", "b", "c", "e" }, actual)); Assert.Throws <AssertionException>( () => MoreAsserts.ContentsEqualAndInOrder(new List <string> { "b", "b", "c", "d" }, actual)); }
public virtual void TestInitFirstVerifyStopInvokedImmediately() { DefaultMetricsSystem.Shutdown(); new ConfigBuilder().Add("*.period", 8).Add("test.sink.test.class", typeof(TestMetricsSystemImpl.TestSink ).FullName).Add("test.*.source.filter.exclude", "s0").Add("test.source.s1.metric.filter.exclude" , "X*").Add("test.sink.sink1.metric.filter.exclude", "Y*").Add("test.sink.sink2.metric.filter.exclude" , "Y*").Save(TestMetricsConfig.GetTestFilename("hadoop-metrics2-test")); //.add("test.sink.plugin.urls", getPluginUrlsAsString()) MetricsSystemImpl ms = new MetricsSystemImpl("Test"); ms.Start(); ms.Register("s0", "s0 desc", new TestMetricsSystemImpl.TestSource("s0rec")); TestMetricsSystemImpl.TestSource s1 = ms.Register("s1", "s1 desc", new TestMetricsSystemImpl.TestSource ("s1rec")); s1.c1.Incr(); s1.xxx.Incr(); s1.g1.Set(2); s1.yyy.Incr(2); s1.s1.Add(0); MetricsSink sink1 = Org.Mockito.Mockito.Mock <MetricsSink>(); MetricsSink sink2 = Org.Mockito.Mockito.Mock <MetricsSink>(); ms.RegisterSink("sink1", "sink1 desc", sink1); ms.RegisterSink("sink2", "sink2 desc", sink2); ms.PublishMetricsNow(); // publish the metrics ms.Stop(); ms.Shutdown(); //When we call stop, at most two sources will be consumed by each sink thread. Org.Mockito.Mockito.Verify(sink1, Org.Mockito.Mockito.AtMost(2)).PutMetrics(r1.Capture ()); IList <MetricsRecord> mr1 = r1.GetAllValues(); Org.Mockito.Mockito.Verify(sink2, Org.Mockito.Mockito.AtMost(2)).PutMetrics(r2.Capture ()); IList <MetricsRecord> mr2 = r2.GetAllValues(); if (mr1.Count != 0 && mr2.Count != 0) { CheckMetricsRecords(mr1); MoreAsserts.AssertEquals("output", mr1, mr2); } else { if (mr1.Count != 0) { CheckMetricsRecords(mr1); } else { if (mr2.Count != 0) { CheckMetricsRecords(mr2); } } } }
public void TestNoThrowOnFieldsMissing() { IService impl = CreateV1Service(); Assert.AreEqual("v1", impl.Version); Assert.IsNull(impl.Id); Assert.IsNotNull(impl.Labels); MoreAsserts.IsEmpty(impl.Labels); Assert.AreEqual("TestName", impl.Name); Assert.IsNull(impl.Protocol); Assert.IsNull(impl.Title); }
private void CheckMetricsRecords(IList <MetricsRecord> recs) { Log.Debug(recs); MetricsRecord r = recs[0]; Assert.Equal("name", "s1rec", r.Name()); MoreAsserts.AssertEquals("tags", new MetricsTag[] { Interns.Tag(MsInfo.Context, "test" ), Interns.Tag(MsInfo.Hostname, hostname) }, r.Tags()); MoreAsserts.AssertEquals("metrics", ((MetricsRecordBuilderImpl)((MetricsRecordBuilderImpl )((MetricsRecordBuilderImpl)((MetricsRecordBuilderImpl)MetricsLists.Builder(string.Empty ).AddCounter(Interns.Info("C1", "C1 desc"), 1L)).AddGauge(Interns.Info("G1", "G1 desc" ), 2L)).AddCounter(Interns.Info("S1NumOps", "Number of ops for s1"), 1L)).AddGauge (Interns.Info("S1AvgTime", "Average time for s1"), 0.0)).Metrics(), r.Metrics()); r = recs[1]; Assert.True("NumActiveSinks should be 3", Iterables.Contains(r. Metrics(), new MetricGaugeInt(MsInfo.NumActiveSinks, 3))); }
public void GetValueAsStringListOrEmpty() { IDictionary <string, object> dict = null; dict = new Dictionary <string, object>(); var result = dict.GetValueAsStringListOrEmpty("Fish"); Assert.IsNotNull(result); MoreAsserts.IsEmpty(result); dict.Add("Number", 1); dict.Add("String", "abc"); dict.Add("Anon", new { A = "A", B = "B" }); var list = new List <object>(); list.Add("string"); list.Add(123); list.Add(null); list.Add(new StringBuilder("StringBuilder")); dict.Add("List", list); result = dict.GetValueAsStringListOrEmpty("Number"); Assert.IsNotNull(result); MoreAsserts.IsEmpty(result); result = dict.GetValueAsStringListOrEmpty("String"); Assert.IsNotNull(result); result = dict.GetValueAsStringListOrEmpty("Number"); Assert.IsNotNull(result); MoreAsserts.IsEmpty(result); result = dict.GetValueAsStringListOrEmpty("Anon"); Assert.IsNotNull(result); MoreAsserts.IsEmpty(result); List <string> resultAsList = dict.GetValueAsStringListOrEmpty("List").ToList(); Assert.IsNotNull(resultAsList); MoreAsserts.ContentsEqualAndInOrder( new List <string> { "string", "123", null, "StringBuilder" }, resultAsList); }
public void TestPropertiesCase() { JsonDictionary dict = new JsonDictionary(); string name = "TestName"; dict.Add("location", "path"); dict.Add("required", true); dict.Add("description", "A string description"); dict.Add("default", "A default value"); dict.Add("type", "string"); dict.Add("repeated", true); dict.Add("enum", new List <string> { "atom", "json" }); dict.Add("enumDescriptions", new List <string> { "atom are small particals", "json is my friend" }); dict.Add("minimum", "43"); dict.Add("maximum", "53"); dict.Add("pattern", "[1-9][0-9]*"); var impl = ServiceFactory.Default.CreateParameter(name, dict); Assert.AreEqual("TestName", impl.Name); Assert.AreEqual("path", impl.ParameterType); Assert.AreEqual("A string description", impl.Description); Assert.AreEqual("string", impl.ValueType); Assert.AreEqual(true, impl.IsRequired); Assert.AreEqual(true, impl.IsRepeatable); Assert.AreEqual("A default value", impl.DefaultValue); MoreAsserts.ContentsEqualAndInOrder(new List <string> { "atom", "json" }, impl.EnumValues); MoreAsserts.ContentsEqualAndInOrder( new List <string> { "atom are small particals", "json is my friend" }, impl.EnumValueDescriptions); Assert.AreEqual("53", impl.Maximum); Assert.AreEqual("43", impl.Minimum); Assert.AreEqual("[1-9][0-9]*", impl.Pattern); }