Ejemplo n.º 1
0
        public PluginExecutionResult Execute(PluginExecutionData executionData)
        {
            CtcSettings.Initialize(executionData);

            // create activity data
            FirewallActivityData activityData = executionData.GetMetadata <FirewallActivityData>(CtcMetadataConverter.Converters);
            PrinterFamilies      family       = (PrinterFamilies)Enum.Parse(typeof(PrinterFamilies), activityData.ProductFamily);

            // Instance for EWS adapter and Start WebDriver
            EwsWrapper.Instance().Create(family, activityData.ProductName, activityData.IPv4Address, Path.Combine(activityData.SitemapPath, activityData.SitemapsVersion), BrowserModel.Firefox);
            EwsWrapper.Instance().Start();
            EwsWrapper.Instance().WakeUpPrinter();
            EwsWrapper.Instance().SetWSDiscovery(true);
            EwsWrapper.Instance().SetDHCPv6OnStartup(true);
            EwsWrapper.Instance().EnableSnmpv1v2ReadWriteAccess();

            // Get All IPv6 Addresses

            Printer.Printer printer = PrinterFactory.Create(family, IPAddress.Parse(activityData.IPv4Address));
            activityData.IPv6LinkLocalAddress = printer.IPv6LinkLocalAddress?.ToString() ?? string.Empty;
            activityData.IPv6StatefulAddress  = printer.IPv6StateFullAddress?.ToString() ?? string.Empty;
            activityData.IPv6StatelessAddress = printer.IPv6StatelessAddresses.Count == 0 ? string.Empty : printer.IPv6StatelessAddresses[0].ToString();

            // Instance for SNMP wrapper
            SnmpWrapper.Instance().Create(activityData.IPv4Address);

            // Instance for Telnet wrapper
            TelnetWrapper.Instance().Create(activityData.IPv4Address);

            // Instance for Firewall Tests
            if (null == _tests)
            {
                _tests = new FirewallTests(activityData);
            }

            foreach (int testNumber in activityData.SelectedTests)
            {
                try
                {
                    ExecutionServices.SessionRuntime.AsInternal().WaitIfPaused();
                    _tests.RunTest(executionData, testNumber, IPAddress.Parse(activityData.IPv4Address), (ProductFamilies)Enum.Parse(typeof(ProductFamilies), activityData.ProductFamily));
                }
                catch (Exception exception)
                {
                    TraceFactory.Logger.Info("Error while executing test {0} with exception {1}. \n".FormatWith(testNumber, exception.Message));
                }
            }

            EwsWrapper.Instance().Stop();

            return(new PluginExecutionResult(PluginResult.Passed));
        }
 public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment)
 {
     _activityData = configuration.GetMetadata <FirewallActivityData>(CtcMetadataConverter.Converters);
     CtcSettings.Initialize(environment);
     LoadUI();
 }
 public void Initialize(PluginEnvironment environment)
 {
     _activityData = new FirewallActivityData();
     CtcSettings.Initialize(environment);
     LoadUI();
 }