public virtual void TestAuxServicesMeta() { Configuration conf = new Configuration(); conf.SetStrings(YarnConfiguration.NmAuxServices, new string[] { "Asrv", "Bsrv" }); conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Asrv"), typeof(TestAuxServices.ServiceA ), typeof(Org.Apache.Hadoop.Service.Service)); conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Bsrv"), typeof(TestAuxServices.ServiceB ), typeof(Org.Apache.Hadoop.Service.Service)); AuxServices aux = new AuxServices(); aux.Init(conf); int latch = 1; foreach (Org.Apache.Hadoop.Service.Service s in aux.GetServices()) { NUnit.Framework.Assert.AreEqual(Service.STATE.Inited, s.GetServiceState()); if (s is TestAuxServices.ServiceA) { latch *= 2; } else { if (s is TestAuxServices.ServiceB) { latch *= 3; } else { NUnit.Framework.Assert.Fail("Unexpected service type " + s.GetType()); } } } NUnit.Framework.Assert.AreEqual("Invalid mix of services", 6, latch); aux.Start(); foreach (Org.Apache.Hadoop.Service.Service s_1 in aux.GetServices()) { NUnit.Framework.Assert.AreEqual(Service.STATE.Started, s_1.GetServiceState()); } IDictionary <string, ByteBuffer> meta = aux.GetMetaData(); NUnit.Framework.Assert.AreEqual(2, meta.Count); NUnit.Framework.Assert.AreEqual("A", Sharpen.Runtime.GetStringForBytes(((byte[])meta ["Asrv"].Array()))); NUnit.Framework.Assert.AreEqual("B", Sharpen.Runtime.GetStringForBytes(((byte[])meta ["Bsrv"].Array()))); aux.Stop(); foreach (Org.Apache.Hadoop.Service.Service s_2 in aux.GetServices()) { NUnit.Framework.Assert.AreEqual(Service.STATE.Stopped, s_2.GetServiceState()); } }
public virtual void TestAuxServices() { Configuration conf = new Configuration(); conf.SetStrings(YarnConfiguration.NmAuxServices, new string[] { "Asrv", "Bsrv" }); conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Asrv"), typeof(TestAuxServices.ServiceA ), typeof(Org.Apache.Hadoop.Service.Service)); conf.SetClass(string.Format(YarnConfiguration.NmAuxServiceFmt, "Bsrv"), typeof(TestAuxServices.ServiceB ), typeof(Org.Apache.Hadoop.Service.Service)); AuxServices aux = new AuxServices(); aux.Init(conf); int latch = 1; foreach (Org.Apache.Hadoop.Service.Service s in aux.GetServices()) { NUnit.Framework.Assert.AreEqual(Service.STATE.Inited, s.GetServiceState()); if (s is TestAuxServices.ServiceA) { latch *= 2; } else { if (s is TestAuxServices.ServiceB) { latch *= 3; } else { NUnit.Framework.Assert.Fail("Unexpected service type " + s.GetType()); } } } NUnit.Framework.Assert.AreEqual("Invalid mix of services", 6, latch); aux.Start(); foreach (Org.Apache.Hadoop.Service.Service s_1 in aux.GetServices()) { NUnit.Framework.Assert.AreEqual(Service.STATE.Started, s_1.GetServiceState()); } aux.Stop(); foreach (Org.Apache.Hadoop.Service.Service s_2 in aux.GetServices()) { NUnit.Framework.Assert.AreEqual(Service.STATE.Stopped, s_2.GetServiceState()); } }