コード例 #1
0
        public void SetNtpIpv6ConfigurationTest()
        {
            NetworkInterface ni = null;

            RunTest <NTPInformation>(
                new Backup <NTPInformation>(() =>
            {
                NTPInformation originalInformation = GetNTP();
                Assert(originalInformation != null,
                       "The DUT did not return NTP configuration",
                       "Check that DUT returned NTP information");

                ni = TurnOffDhcpIpv6();

                return(originalInformation);
            }),
                () =>
            {
                NTPInformation testInformation           = new NTPInformation();
                testInformation.FromDHCP                 = false;
                testInformation.NTPManual                = new NetworkHost[] { new NetworkHost() };
                testInformation.NTPManual[0].Type        = NetworkHostType.IPv6;
                testInformation.NTPManual[0].IPv6Address = _environmentSettings.NtpIpv6;

                SetNTP(testInformation);

                NTPInformation currentInformation = GetNTP();
                Assert(currentInformation != null, "The DUT did not return NTP configuration",
                       "Check that DUT returned NTP information");

                BeginStep("Validate current NTP configuration");

                bool bAllEquals;

                bool bEquals = (currentInformation.FromDHCP == testInformation.FromDHCP);

                LogStepEvent(string.Format("FromDHCP: expected - {0}, actual - {1}",
                                           testInformation.FromDHCP,
                                           currentInformation.FromDHCP));

                bAllEquals = bEquals;

                string actualIpDescription;
                actualIpDescription = DeviceManagementNetworkTestSuite.DumpNetworkHostArray(currentInformation.NTPManual);

                NetworkHostType type   = testInformation.NTPManual[0].Type;
                string expectedAddress = testInformation.NTPManual[0].IPv6Address;
                if (
                    currentInformation.NTPManual.Where(
                        A => A.Type == type && A.IPv6Address == expectedAddress).Count() > 0)
                {
                    bEquals = true;
                }
                else
                {
                    bEquals = false;
                }

                string expectedDescription = string.Format("{0} should be presented",
                                                           testInformation.NTPManual[0].IPv6Address);

                LogStepEvent(string.Format("NTPManual: expected - {0}, actual - {1}",
                                           expectedDescription, actualIpDescription));

                bAllEquals = bAllEquals && bEquals;

                actualIpDescription = DeviceManagementNetworkTestSuite.DumpNetworkHostArray(currentInformation.NTPFromDHCP);
                if (currentInformation.NTPFromDHCP == null)
                {
                    bEquals = true;
                }
                else
                {
                    bEquals = (currentInformation.NTPFromDHCP.Length == 0);
                }

                expectedDescription = "No NTPFromDHCP";

                LogStepEvent(string.Format("NTPFromDHCP: expected - {0}, actual - {1}",
                                           expectedDescription, actualIpDescription));

                bAllEquals = bAllEquals && bEquals;

                if (!bAllEquals)
                {
                    throw new AssertException(
                        "Current NTP configuration differs from configuration set in previous step");
                }

                StepPassed();
            },
                (originalInformation) =>
            {
                SetNTP(originalInformation, "Restore NTP configuration");
                if (ni.IPv6.Config.DHCP != IPv6DHCPConfiguration.Off)
                {
                    RestoreNetworkInterface(ni.token, ni);
                }
            }
                );
        }
コード例 #2
0
        public void SetNtpConfigurationDnsFromDHCPTest()
        {
            NetworkInterface ni = null;

            RunTest <NTPInformation>(
                // Backup action
                new Backup <NTPInformation>(() =>
            {
                NTPInformation originalInformation = GetNTP();
                string reason = null;
                Assert((originalInformation != null) && originalInformation.IsValidNTPInformation(false, out reason),
                       reason == null ? "Failed to get original NTP configuration" : reason,
                       "Check that original NTP configuration returned from the DUT");

                ni = TurnOnDhcpIpv4();

                return(originalInformation);
            }),
                // Main action
                () =>
            {
                NTPInformation testInformation = new NTPInformation();
                testInformation.FromDHCP       = true;

                SetNTP(testInformation);

                double timeout = ((double)_operationDelay) / 1000;

                BeginStep(string.Format("Wait {0} seconds to allow the DUT to interact with DHCP server", timeout.ToString("0.000")));
                Sleep(_operationDelay);
                StepPassed();

                NTPInformation actualInformation = GetNTP();
                string reason = null;
                Assert((actualInformation != null) && actualInformation.IsValidNTPInformation(false, out reason),
                       reason == null ? "Failed to get current NTP configuration" : reason,
                       "Check that current NTP configuration returned from the DUT");

                BeginStep("Check current NTP configuration");

                bool bAllEquals;

                bool bEquals = (actualInformation.FromDHCP == testInformation.FromDHCP);

                LogStepEvent(string.Format("FromDHCP: expected - {0}, actual - {1}", testInformation.FromDHCP,
                                           actualInformation.FromDHCP));

                bAllEquals = bEquals;

                string actualIpDescription;
                actualIpDescription = DeviceManagementNetworkTestSuite.DumpNetworkHostArray(actualInformation.NTPManual);

                string expectedAddress = "No Network Hosts";

                if (actualInformation.NTPManual != null && actualInformation.NTPManual.Count() > 0)
                {
                    bEquals = false;
                }
                else
                {
                    bEquals = true;
                }

                LogStepEvent(string.Format("NTPManual: expected - {0}, actual - {1}",
                                           expectedAddress, actualIpDescription));

                bAllEquals = bAllEquals && bEquals;

                /*************************************************/

                actualIpDescription = DeviceManagementNetworkTestSuite.DumpNetworkHostArray(actualInformation.NTPFromDHCP);

                if (actualInformation.NTPFromDHCP == null)
                {
                    bEquals = false;
                }
                else
                {
                    bEquals = (actualInformation.NTPFromDHCP.Length > 0);
                }

                string expectedDescription = "List of NTP servers";

                LogStepEvent(string.Format("NTPFromDHCP: expected - {0}, actual - {1}",
                                           expectedDescription, actualIpDescription));

                bAllEquals = bAllEquals && bEquals;

                /*********************************************************/

                if (!bAllEquals)
                {
                    throw new AssertException("Current NTP configuration differs from configuration was set");
                }

                StepPassed();
            },
                // Restore action
                (originalInformation) =>
            {
                // if DHCP was ON, it has not been changed
                if (!ni.IPv4.Config.DHCP)
                {
                    // restore network interface configuration
                    RestoreNetworkInterface(ni.token, ni);
                }

                SetNTP(originalInformation, "Restore NTP configuration");
            }

                );
        }
コード例 #3
0
        public void SetDnsConfigurationDnsManualIpv6Test()
        {
            NetworkInterface ni = null;

            RunTest <DNSInformation>(

                new Backup <DNSInformation>(() =>
            {
                DNSInformation originalInformation = GetDnsConfiguration();
                Assert(originalInformation != null, "Failed to get original DNS configuration", "Check that original DNS configuration returned from the DUT");

                ni = TurnOffDhcpIpv6();

                return(originalInformation);
            }),

                () =>
            {
                DNSInformation testInformation = new DNSInformation();
                testInformation.FromDHCP       = false;
                testInformation.DNSManual      =
                    new IPAddress[]
                {
                    new IPAddress()
                    {
                        IPv6Address = _environmentSettings.DnsIpv6, Type = IPType.IPv6
                    }
                };

                SetDnsConfiguration(testInformation);

                double timeout = ((double)_operationDelay) / 1000;

                BeginStep(string.Format("Wait {0} seconds to allow the DUT to apply settings", timeout.ToString("0.000")));
                Sleep(_operationDelay);
                StepPassed();

                DNSInformation actualInformation = GetDnsConfiguration();

                Assert(actualInformation != null, "Failed to get current DNS configuration", "Check that current DNS configuration returned from the DUT");

                BeginStep("Check current DNS configuration");

                bool bAllEquals;

                bool bEquals = (actualInformation.FromDHCP == testInformation.FromDHCP);

                LogStepEvent(string.Format("FromDHCP: expected - {0}, actual - {1}", testInformation.FromDHCP,
                                           actualInformation.FromDHCP));

                bAllEquals = bEquals;

                string actualIpDescription;
                actualIpDescription = DeviceManagementNetworkTestSuite.DumpIPArray(actualInformation.DNSManual);

                string expectedAddress = testInformation.DNSManual[0].IPv6Address;
                IPType expectedType    = testInformation.DNSManual[0].Type;

                if (actualInformation.DNSManual.Where(
                        A => A.Type == expectedType && A.IPv6Address == expectedAddress).Count() > 0)
                {
                    bEquals = true;
                }
                else
                {
                    bEquals = false;
                }

                LogStepEvent(string.Format("DNSManual: expected - {0} should be presented, actual - {1}",
                                           expectedAddress, actualIpDescription));

                bAllEquals = bAllEquals && bEquals;

                /*************************************************/

                actualIpDescription = DeviceManagementNetworkTestSuite.DumpIPArray(actualInformation.DNSFromDHCP);

                if (actualInformation.DNSFromDHCP == null)
                {
                    bEquals = true;
                }
                else
                {
                    bEquals = (actualInformation.DNSFromDHCP.Length == 0);
                }

                string expectedDescription = "No DNSFromDHCP";

                LogStepEvent(string.Format("DNSFromDHCP: expected - {0}, actual - {1}",
                                           expectedDescription, actualIpDescription));

                bAllEquals = bAllEquals && bEquals;

                /*********************************************************/

                if (!bAllEquals)
                {
                    throw new AssertException("Current DNS configuration differs from configuration was set");
                }

                StepPassed();
            },

                (originalInformation) =>
            {
                SetDnsConfiguration(originalInformation, "Restore DNS configuration");
                if (ni.IPv6.Config.DHCP != IPv6DHCPConfiguration.Off)
                {
                    // restore network interface configuration
                    RestoreNetworkInterface(ni.token, ni);
                }
            }
                );
        }