Tmx.RegisterSystemUnderTestCommand.Execute C# (CSharp) Method

Execute() private method

private Execute ( ) : void
return void
        internal override void Execute()
        {
            var cmdlet = (RegisterTmxSystemUnderTestCommand)Cmdlet;
            var clientSettings = ClientSettings.Instance;
            clientSettings.ServerUrl = cmdlet.ServerUrl;
            clientSettings.StopImmediately = false;
            
            // 20150918
            // var registration = new Registration(new RestRequestCreator());
            // var registration = new Registration();
            var registration = ProxyFactory.Get<Registration>();
            // temporarily
            // TODO: to a template method
            var startTime = DateTime.Now;
            while (!clientSettings.StopImmediately) {
                // TODO: move to aspect
                try {
                    clientSettings.ClientId = registration.SendRegistrationInfoAndGetClientId(cmdlet.CustomClientString);
                }
                catch (Exception e2) {
Console.WriteLine("registering " + e2.Message);
                    // cmdlet.WriteProgress(new System.Management.Automation.ProgressRecord(
                }
                
                if (Guid.Empty != clientSettings.ClientId)
                    break;
                
                if (!cmdlet.Continuous)
                    if ((DateTime.Now - startTime).TotalSeconds >= cmdlet.Seconds)
                        throw new Exception("Failed to register client in " + cmdlet.Seconds + " seconds");
                
                Thread.Sleep(Preferences.ClientRegistrationSleepIntervalMilliseconds);
            }
            
            clientSettings.StopImmediately = false;
        }
    }

Usage Example

Beispiel #1
0
        static void Main(string[] args)
        {
            var command = new RegisterSystemUnderTestCommand(new RegisterTmxSystemUnderTestCommand { Seconds = 3, CustomClientString = "testConsole", ServerUrl = "http://localhost:12340" });
            command.Execute();

            var clientSettings = ClientSettings.Instance;
            clientSettings.ServerUrl = "http://localhost:12340";
            clientSettings.StopImmediately = false;

            Console.WriteLine(ClientSettings.Instance.ServerUrl);
            Console.WriteLine(ClientSettings.Instance.StopImmediately);

            var log = LogManager.GetLogger("111");
            log = null;

            // var registration = ProxyFactory.Get<Registration>();
            var registration = new Registration();
            registration.SendRegistrationInfoAndGetClientId("testConsole");

            Console.WriteLine("Done!");
            Console.Read();
        }
RegisterSystemUnderTestCommand