Exemplo n.º 1
0
        public void EC_WinFormsTest_WMED0004()
        {
            using (var fs = new LocalFileSystem(NOPApplication.Instance))
                using (var mb = new Metabank(fs, null, TestSources.RPATH))
                    using (var skyApp = new SkyApplication(NOPApplication.Instance, SystemApplicationType.TestRig, mb, TestSources.THIS_HOST, true, null, null))
                    {
                        var host = mb.CatalogReg.NavigateHost(WMED0004);

                        var conf = host.GetEffectiveAppConfig("WinFormsTest");

                        Aver.AreEqual("WinFormsTest on HOST1", conf.Navigate("/$application-name").Value);
                        Aver.AreEqual("Nikulin", conf.Navigate("/$clown").Value);

                        Aver.AreEqual("A", conf.Navigate("/gv/$a").Value);
                        Aver.AreEqual("B", conf.Navigate("/gv/$b").Value);

                        Aver.IsNull(conf.Navigate("/glue/$zoloto").Value);
                        Aver.AreEqual("da", conf.Navigate("/glue/$serebro").Value);

                        Aver.AreEqual(123, conf.Navigate("/east-block/$something").ValueAsInt());
                        Aver.IsTrue(conf.Navigate("/cleveland/$solon").ValueAsBool());
                        Aver.IsFalse(conf.Navigate("/cleveland/$hudson").ValueAsBool());
                        Aver.IsFalse(conf.Navigate("/windows7/$build").Exists);
                    }
        }
Exemplo n.º 2
0
        public void EC_Various_Parallel()
        {
            using (var fs = new LocalFileSystem(NOPApplication.Instance))
                using (var mb = new Metabank(fs, null, TestSources.RPATH))
                    using (var skyApp = new SkyApplication(NOPApplication.Instance, SystemApplicationType.TestRig, mb, TestSources.THIS_HOST, true, null, null))
                    {
                        Parallel.For(0, TestSources.PARALLEL_LOOP_TO, (i) =>
                        {
                            Thread.SpinWait(Ambient.Random.NextScaledRandomInteger(10, 2000));

                            var host = mb.CatalogReg.NavigateHost(WMED0004);

                            var conf = host.GetEffectiveAppConfig("WebApp1");

                            Aver.AreEqual("WebApp1", conf.Navigate("/$application-name").Value);

                            Aver.AreEqual("A", conf.Navigate("/gv/$a").Value);
                            Aver.AreEqual("B", conf.Navigate("/gv/$b").Value);

                            Aver.AreEqual("da", conf.Navigate("/glue/$zoloto").Value);
                            Aver.AreEqual("da", conf.Navigate("/glue/$serebro").Value);

                            Aver.AreEqual(123, conf.Navigate("/east-block/$something").ValueAsInt());
                            Aver.AreEqual(true, conf.Navigate("/cleveland/$solon").ValueAsBool());
                            Aver.AreEqual(true, conf.Navigate("/cleveland/$hudson").ValueAsBool());
                            Aver.IsFalse(conf.Navigate("/windows7/$build").Exists);


                            //--------------------------------------------
                            Thread.SpinWait(Ambient.Random.NextScaledRandomInteger(10, 2000));
                            host = mb.CatalogReg.NavigateHost(WMED0002);
                            conf = host.GetEffectiveAppConfig("WebApp");
                            Aver.AreEqual("1.2.0890b", conf.Navigate("/windows7/$build").Value);

                            //--------------------------------------------
                            Thread.SpinWait(Ambient.Random.NextScaledRandomInteger(10, 2000));
                            host = mb.CatalogReg.NavigateHost(WMED0004);

                            conf = host.GetEffectiveAppConfig("WinFormsTest");

                            Aver.AreEqual("WinFormsTest on HOST1", conf.Navigate("/$application-name").Value);

                            Aver.AreEqual("A", conf.Navigate("/gv/$a").Value);
                            Aver.AreEqual("B", conf.Navigate("/gv/$b").Value);

                            Aver.IsNull(conf.Navigate("/glue/$zoloto").Value);
                            Aver.AreEqual("da", conf.Navigate("/glue/$serebro").Value);

                            Aver.AreEqual(123, conf.Navigate("/east-block/$something").ValueAsInt());
                            Aver.AreEqual(true, conf.Navigate("/cleveland/$solon").ValueAsBool());
                            Aver.AreEqual(false, conf.Navigate("/cleveland/$hudson").ValueAsBool());

                            Aver.IsFalse(conf.Navigate("/windows7/$build").Exists);
                        });
                    }
        }
Exemplo n.º 3
0
 private static void run()
 {
     using (var app = new SkyApplication(SystemApplicationType.TestRig, new string[] {}, null))
     {
         ((Azos.Sky.Identification.GdidGenerator)app.GdidProvider).TestingAuthorityNode = "sync://127.0.0.1:4000";
         Application.EnableVisualStyles();
         Application.SetCompatibleTextRenderingDefault(false);
         Application.Run(new MenuForm());
     }
 }
Exemplo n.º 4
0
        public void EC_Server_fail()
        {
            using (var fs = new LocalFileSystem(NOPApplication.Instance))
                using (var mb = new Metabank(fs, null, TestSources.RPATH))
                    using (var skyApp = new SkyApplication(NOPApplication.Instance, SystemApplicationType.TestRig, mb, TestSources.THIS_HOST, true, null, null))
                    {
                        var host = mb.CatalogReg.NavigateHost(WMED0002);

                        var conf = host.GetEffectiveAppConfig("TestApp");
                    }
        }
Exemplo n.º 5
0
        void IRunnableHook.Prologue(Runner runner, FID id)
        {
            Console.WriteLine("{0}.{1}".Args(GetType().FullName, "RigSetup()..."));
            m_FS       = new LocalFileSystem(NOPApplication.Instance);
            m_Metabank = new Metabank(m_FS, null, TestSources.RPATH);
            m_TestApp  = new SkyApplication(NOPApplication.Instance, SystemApplicationType.TestRig, m_Metabank, TestSources.THIS_HOST, true, null, null);

            DoRigSetup();

            Console.WriteLine("{0}.{1}".Args(GetType().FullName, "...RigSetup() DONE"));
        }
Exemplo n.º 6
0
        public void EC_Server_success()
        {
            using (var fs = new LocalFileSystem(NOPApplication.Instance))
                using (var mb = new Metabank(fs, null, TestSources.RPATH))
                    using (var skyApp = new SkyApplication(NOPApplication.Instance, SystemApplicationType.TestRig, mb, TestSources.THIS_HOST, true, null, null))
                    {
                        var host = mb.CatalogReg.NavigateHost(WMED0003);

                        var conf = host.GetEffectiveAppConfig("AZGov");

                        Aver.IsFalse(conf.Navigate("/windows7/$build").Exists);
                    }
        }
Exemplo n.º 7
0
        public void MI_Test()
        {
            using (var fs = new LocalFileSystem(NOPApplication.Instance))
                using (var mb = new Metabank(fs, null, TestSources.RPATH))
                    using (var app = new SkyApplication(NOPApplication.Instance, SystemApplicationType.TestRig, mb, TestSources.THIS_HOST, true, null, null))
                    {
                        var host = mb.CatalogReg.NavigateHost(WMED0004);

                        var conf = host.GetEffectiveAppConfig("WebApp1");

                        Aver.AreEqual("value", conf.Navigate("/$var").Value);
                    }
        }
Exemplo n.º 8
0
        void IRunnableHook.Prologue(Runner runner, FID id)
        {
            Console.WriteLine("{0}.{1}".Args(GetType().FullName, "RigSetup()..."));
            m_FS = new LocalFileSystem(NOPApplication.Instance);
            var m_TestApp = new SkyApplication(NOPApplication.Instance,
                                               SystemApplicationType.TestRig,
                                               m_FS,
                                               new FileSystemSessionConnectParams(),
                                               TestSources.RPATH,
                                               TestSources.THIS_HOST,
                                               false,
                                               null, null);

            DoRigSetup();

            Console.WriteLine("{0}.{1}".Args(GetType().FullName, "...RigSetup() DONE"));
        }
Exemplo n.º 9
0
        static void run(string[] args)
        {
            const string FROM = "AGDIDA.Program";

            using (var app = new SkyApplication(SystemApplicationType.GDIDAuthority, args, null))
            {
                try
                {
                    using (var authority = new GdidAuthorityService(app))
                    {
                        authority.Configure(null);
                        authority.Start();
                        try
                        {
                            // WARNING: Do not modify what this program reads/writes from/to standard IO streams because
                            //  AHGOV uses those particular string messages for its protocol
                            Console.WriteLine("OK."); //<-- AHGOV protocol, AHGOV waits for this token to assess startup situation
                            ConsoleUtils.WriteMarkupContent(typeof(ProgramBody).GetText("Welcome.txt"));
                            Console.WriteLine("Waiting for line to terminate...");

                            var abortableConsole = new TerminalUtils.AbortableLineReader();
                            try
                            {
                                while (app.Active)
                                {
                                    if (abortableConsole.Line != null)
                                    {
                                        app.Log.Write(new Message
                                        {
                                            Type  = MessageType.Info,
                                            Topic = SysConsts.LOG_TOPIC_ID_GEN,
                                            From  = FROM,
                                            Text  = "Main loop received CR|LF. Exiting..."
                                        });
                                        break; //<-- AHGOV protocol, AHGOV sends a <CRLF> when it is time to shut down
                                    }
                                    Thread.Sleep(250);
                                }
                            }
                            finally
                            {
                                abortableConsole.Abort();
                            }
                        }
                        finally
                        {
                            authority.WaitForCompleteStop();
                        }
                    }
                }
                catch (Exception error)
                {
                    app.Log.Write(new Message
                    {
                        Type      = MessageType.CatastrophicError,
                        Topic     = SysConsts.LOG_TOPIC_ID_GEN,
                        From      = FROM,
                        Text      = "Exception leaked in run(): " + error.ToMessageWithType(),
                        Exception = error
                    });

                    throw error;
                }
            }//using app
        }
Exemplo n.º 10
0
        static void run(string[] args)
        {
            const string FROM = "AHGOV.Program";

            using (var app = new SkyApplication(SystemApplicationType.HostGovernor, args, null))
            {
                try
                {
                    var fromARD       = app.CommandArgs[SysConsts.ARD_PARENT_CMD_PARAM].Exists;
                    var updateProblem = app.CommandArgs[SysConsts.ARD_UPDATE_PROBLEM_CMD_PARAM].Exists;
                    using (var governor = new HostGovernorService(app, fromARD, updateProblem))
                    {
                        governor.Configure(null);
                        governor.Start();
                        try
                        {
                            // WARNING: Do not modify what this program reads/writes from/to standard IO streams because
                            // ARD uses those particular string messages for its protocol
                            Console.WriteLine("OK."); //<-- ARD protocol, ARD waits for this token to assess startup situation
                            ConsoleUtils.WriteMarkupContent(typeof(ProgramBody).GetText("Welcome.txt"));
                            Console.WriteLine("Waiting for line to terminate...");


                            var abortableConsole = new TerminalUtils.AbortableLineReader();
                            try
                            {
                                while (app.Active && !governor.NeedsProcessRestart)
                                {
                                    if (abortableConsole.Line != null)
                                    {
                                        app.Log.Write(new Message
                                        {
                                            Type  = MessageType.Info,
                                            Topic = SysConsts.LOG_TOPIC_APP_MANAGEMENT,
                                            From  = FROM,
                                            Text  = "Main loop received CR|LF. Exiting..."
                                        });
                                        break; //<-- ARD protocol, ARD sends a <CRLF> when it is time to shut down
                                    }
                                    Thread.Sleep(250);
                                }
                            }
                            finally
                            {
                                abortableConsole.Abort();
                            }
                        }
                        finally
                        {
                            governor.WaitForCompleteStop();
                        }
                    }//using governor
                }
                catch (Exception error)
                {
                    app.Log.Write(new Message
                    {
                        Type      = MessageType.CatastrophicError,
                        Topic     = SysConsts.LOG_TOPIC_APP_MANAGEMENT,
                        From      = FROM,
                        Text      = "Exception leaked in run(): " + error.ToMessageWithType(),
                        Exception = error
                    });

                    throw error;
                }
            }//using APP
        }
Exemplo n.º 11
0
        static void run(string[] args)
        {
            using (var app = new AzosApplication(allowNesting: true, args: args, rootConfig: null))
            {
                var silent = app.CommandArgs["s", "silent"].Exists;
                if (!silent)
                {
                    ConsoleUtils.WriteMarkupContent(typeof(ProgramBody).GetText("Welcome.txt"));

                    ConsoleUtils.Info("Build information:");
                    Console.WriteLine(" Azos:     " + BuildInformation.ForFramework);
                    Console.WriteLine(" Tool:     " + new BuildInformation(typeof(amm.ProgramBody).Assembly));
                }

                if (app.CommandArgs["?", "h", "help"].Exists)
                {
                    ConsoleUtils.WriteMarkupContent(typeof(ProgramBody).GetText("Help.txt"));
                    return;
                }


                var mbPath = app.CommandArgs
                             .AttrByIndex(0)
                             .ValueAsString(System.Environment.GetEnvironmentVariable(BootConfLoader.ENV_VAR_METABASE_FS_ROOT));

                if (!Directory.Exists(mbPath))
                {
                    throw new Exception("Specified metabase path not found");
                }

                var fromHost = app.CommandArgs["host", "from"].AttrByIndex(0).Value;
                if (fromHost.IsNullOrWhiteSpace())
                {
                    fromHost = System.Environment.GetEnvironmentVariable(BootConfLoader.ENV_VAR_HOST_NAME);
                }

                if (!silent)
                {
                    ConsoleUtils.Info("Metabase path: " + mbPath);
                    ConsoleUtils.Info("Host (this machine): " + fromHost);
                }

                var w = System.Diagnostics.Stopwatch.StartNew();

                using (var fs = new LocalFileSystem(app))
                    using (var mb = new Metabank(fs, new FileSystemSessionConnectParams(), mbPath))
                    {
                        //using (new BootConfLoader(SystemApplicationType.Tool, mb, fromHost))
                        using (var skyApp = new SkyApplication(app, SystemApplicationType.Tool, mb, fromHost, allowNesting: false, args: null, rootConfig: null))
                        {
                            if (app.CommandArgs["gbm"].Exists)
                            {
                                generateManifests(mb, silent);
                            }
                            else
                            {
                                validate(mb, silent);
                            }
                        }
                    }

                if (!silent)
                {
                    Console.WriteLine();
                    ConsoleUtils.Info("Run time: " + w.Elapsed.ToString());
                }
            }//using APP
        }