public void should_configure_interface_with_all_the_present_dns_servers()
 {
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface ip add dns name=\"Lan1\" addr=192.168.1.3 index=1"));
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface ip add dns name=\"Lan1\" addr=192.168.1.4 index=2"));
 }
        public void Setup()
        {
            Setup("fakemac", true);
            ExecutableProcessQueue.Expect(x => x.Go()).Repeat.Once();

            SetNetworkInterface = new SetNetworkInterface(ExecutableProcessQueue, WmiMacNetworkNameGetter, Logger, new IPFinder());
        }
 public void should_configure_the_interface_correctly_with_the_gateway()
 {
     ExecutableProcessQueue.AssertWasCalled(
         x =>
         x.Enqueue("netsh",
                   "interface ip add address name=\"Lan1\" addr=192.168.1.110 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=2"));
 }
 public void should_set_the_interface_for_dhcp_first_before_configuring_it()
 {
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface ip set address name=\"Lan1\" source=dhcp", new[] { "0", "1" }));
 }
 public void should_configure_interface_with_the_dns_servers_as_dhcp()
 {
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface ip set dns name=\"Lan1\" source=dhcp", new[] { "0", "1" }));
 }
 public void should_set_interface_name()
 {
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface set interface name=\"Lan1\" newname=\"Front End0\""));
 }
Exemple #7
0
 public void should_not_have_called_executable_process()
 {
     Setup();
     SetProviderData.Execute(ProviderData);
     ExecutableProcessQueue.AssertWasNotCalled(
         queue => queue.Enqueue(Arg <string> .Is.Equal("netsh"), Arg <string> .Is.Anything));
     Logger.AssertWasCalled(l => l.Log("Role Names did not match. Roles names from provider data fake role1,fake role2. Role names from configuration rax_managed,rack_connect"));
 }
 public void should_call_enable_on_disabled_interfaces_whose_macs_are_absent()
 {
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface set interface name=\"Lan2\" admin=ENABLED"));
 }
 public void should_handle_ip6s_being_null()
 {
     NetworkInterface.ip6s = null;
     ExecutableProcessQueue.Expect(queue => queue.Enqueue(Arg <string> .Is.Equal("netsh"), Arg <string> .Is.Anything)).WhenCalled(ShouldNotHaveIpv6SubCommand).Repeat.Any().Return(null);
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
 }
 public void should_try_to_diff_name_if_set_interface_name_fails()
 {
     ExecutableProcessQueue.Expect(x => x.Go()).Throw(new UnsuccessfulCommandExecutionException("something", new ExecutableResult()));
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface set interface name=\"Lan1\" newname=\"Front End1\""));
 }
        public void should_not_set_the_same_label_again()
        {
            NetworkInterface.label = "Lan1";
            SetNetworkInterface.Execute(new List <NetworkInterface> {
                NetworkInterface
            });

            ExecutableProcessQueue.AssertWasNotCalled(x => x.Enqueue("netsh", "interface set interface name=\"Lan1\" newname=\"Lan1\""));
        }
        public void Setup()
        {
            Setup("fakemac");
            ExecutableProcessQueue.Expect(x => x.Go()).Repeat.Twice();

            SetNetworkInterface = new SetNetworkInterface(ExecutableProcessQueue, WmiMacNetworkNameGetter, Logger, new IPFinder());
            SetNetworkInterface.Execute(new List <NetworkInterface> {
                NetworkInterface
            });
        }
Exemple #13
0
        public void should_have_called_executable_process_when_firewall_rule_is_available_with_metadata()
        {
            Setup();
            NetshFirewallRuleNameAvailable.Stub(x => x.IsRuleAvailable(Constants.SoftwareFirewallRuleName)).Return(true);

            UserMetadata.Add("build_config");
            SetProviderData.Execute(ProviderData, UserMetadata);
            ExecutableProcessQueue.AssertWasCalled(
                queue => queue.Enqueue("netsh", "advfirewall firewall set rule name=\"RS_FIREWALL_RULE\" new enable=yes remoteip=10.177.212.96,10.181.136.241,10.176.89.224,10.177.212.79"));
        }
Exemple #14
0
        public void Setup()
        {
            Setup("fakemac", false, false, true);
            ExecutableProcessQueue.Expect(x => x.Go()).Repeat.Once();

            SetNetworkInterface = new SetNetworkInterface(ExecutableProcessQueue, WmiMacNetworkNameGetter, Logger);
            SetNetworkInterface.Execute(new List <NetworkInterface> {
                NetworkInterface
            });
        }
 public void should_configure_the_interface_correctly_for_both_ips_without_the_gateway()
 {
     NetworkInterface.gateway = null;
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface ip add address name=\"Lan1\" addr=192.168.1.110 mask=255.255.255.0"));
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface ip add address name=\"Lan1\" addr=1.2.2.2 mask=255.255.0.0"));
 }
        public void should_not_set_diff_name_if_set_interface_name_fails_for_more_than_retry_attempts()
        {
            const int noOfRetries = SetNetworkInterface.NO_OF_RETRIES_FOR_SETTING_INTERFACE_NAME;

            ExecutableProcessQueue.Expect(x => x.Go()).Throw(new UnsuccessfulCommandExecutionException("something", new ExecutableResult())).Repeat.Times(noOfRetries + 1);
            SetNetworkInterface.Execute(new List <NetworkInterface> {
                NetworkInterface
            });
            ExecutableProcessQueue.AssertWasNotCalled(
                x => x.Enqueue("netsh", string.Format("interface set interface name=\"Lan1\" newname=\"Front End{0}\"", noOfRetries + 1)));
        }
Exemple #17
0
        public void should_have_called_executable_process_when_firewall_rule_is_not_available()
        {
            Setup();
            NetshFirewallRuleNameAvailable.Stub(x => x.IsRuleAvailable(Constants.SoftwareFirewallRuleName)).Return(false);
            ProviderData.roles = new List <string>()
            {
                "rax_managed", "rack_connect"
            };

            SetProviderData.Execute(ProviderData);
            ExecutableProcessQueue.AssertWasCalled(
                queue => queue.Enqueue("netsh", "advfirewall firewall add rule name=\"RS_FIREWALL_RULE\" enable=yes dir=in profile=public,private,domain localip=any remoteip=10.177.212.96,10.181.136.241,10.176.89.224,10.177.212.79 protocol=tcp localport=445 remoteport=any edge=no action=allow"));
        }
Exemple #18
0
        public void should_have_called_executable_process_when_firewall_rule_is_available()
        {
            Setup();
            NetshFirewallRuleNameAvailable.Stub(x => x.IsRuleAvailable(Constants.SoftwareFirewallRuleName)).Return(true);

            ProviderData.roles = new List <string>()
            {
                "rax_managed", "rack_connect"
            };
            SetProviderData.Execute(ProviderData);
            ExecutableProcessQueue.AssertWasCalled(
                queue => queue.Enqueue("netsh", "advfirewall firewall set rule name=\"RS_FIREWALL_RULE\" new enable=yes remoteip=10.177.212.96,10.181.136.241,10.176.89.224,10.177.212.79"));
        }
 public void should_set_ipv6_addresses()
 {
     SetNetworkInterface.Execute(new List <NetworkInterface> {
         NetworkInterface
     });
     ExecutableProcessQueue.AssertWasCalled(
         x =>
         x.Enqueue("netsh",
                   "interface ipv6 add address interface=\"Lan1\" address=2001:4801:787F:202:278E:89D8:FF06:B476/96"));
     ExecutableProcessQueue.AssertWasCalled(
         x =>
         x.Enqueue("netsh",
                   "interface ipv6 add route prefix=::/0 interface=\"Lan1\" nexthop=fe80::def publish=Yes"));
 }
Exemple #20
0
        public void should_not_have_called_executable_process_because_white_list_ips_count_is_less_than_zero()
        {
            Setup();

            ProviderData.white_List_Ips = new List <string>();
            ProviderData.roles          = new List <string>()
            {
                "rax_managed", "rack_connect"
            };

            SetProviderData.Execute(ProviderData);
            ExecutableProcessQueue.AssertWasNotCalled(
                queue => queue.Enqueue(Arg <string> .Is.Equal("netsh"), Arg <string> .Is.Anything));
            Logger.AssertWasCalled(l => l.Log("White List Ips not available. Firewall rules will not be added/updated."));
        }
        public void should_reset_ipv6_address_and_route_before_setting_ipv6_addresses()
        {
            _mockIPFinder.findIpv6Addresses("Lan1").Add(IPAddress.Parse("2001:4801:787F:202:278E:89D8:FF06:B476"));
            SetNetworkInterface.Execute(new List <NetworkInterface> {
                NetworkInterface
            });
            ExecutableProcessQueue.AssertWasCalled(
                x =>
                x.Enqueue("netsh",
                          "interface ipv6 delete address interface=\"Lan1\" address=2001:4801:787F:202:278E:89D8:FF06:B476"));


            ExecutableProcessQueue.AssertWasCalled(
                x => x.Enqueue("netsh", "interface ipv6 delete route ::/0 \"Lan1\"", new[] { "0", "1" }));
        }
 public void should_not_call_the_dns_configuration()
 {
     ExecutableProcessQueue.AssertWasNotCalled(
         x => x.Enqueue("netsh", "interface ip set dns name=\"Lan1\" source=dhcp"));
 }
        public void Setup()
        {
            _network = new Network();


            Setup("fakemac");
            SetupRoutesOnInterface(new[]
            {
                new NetworkRoute
                {
                    gateway = "10.1.10.20",
                    netmask = "255.255.255.0",
                    route   = "10.1.10.1"
                },
                new NetworkRoute
                {
                    gateway = "10.1.10.20",
                    netmask = "255.255.255.0",
                    route   = "10.1.10.2"
                }
            });
            _networkInterface1       = NetworkInterface;
            _networkInterface1.label = "public";
            _network.Interfaces.Add("fakemac", _networkInterface1);

            Setup("fakemac1");
            SetupRoutesOnInterface(new[]
            {
                new NetworkRoute
                {
                    gateway = "10.1.10.20",
                    netmask = "255.255.255.0",
                    route   = "10.1.10.1"
                },
                new NetworkRoute
                {
                    gateway = "10.1.10.20",
                    netmask = "255.255.255.0",
                    route   = "10.1.10.3"
                }
            });
            _networkInterface2         = NetworkInterface;
            _networkInterface2.gateway = "10.1.1.1";
            _network.Interfaces.Add("fakemac1", _networkInterface2);

            _executableProcessQueue = MockRepository.GenerateMock <IExecutableProcessQueue>();
            _executableProcessQueue.Expect(x => x.Go()).Repeat.Once();

            _registryReader = MockRepository.GenerateMock <IRegistryReader>();
            _registryReader.Stub(x => x.GetValuesFrom(Arg <string> .Is.Anything))
            .Return(new List <string> {
                "0.0.0.0,0.0.0.0,172.16.251.2,2",
                "1.2.3.4,5.6.7.8,9.10.11.12.13,10"
            });

            _logger = MockRepository.GenerateMock <ILogger>();

            ExecutableProcessQueue.Replay();
            _setNetworkRoutes = new SetNetworkRoutes(_executableProcessQueue, _registryReader, _logger);
            _setNetworkRoutes.Execute(_network);
        }
 public void Teardown()
 {
     ExecutableProcessQueue.VerifyAllExpectations();
 }
        public void should_call_enable_on_disabled_interfaces_whose_macs_are_absent()
        {
            ExecutableProcessQueue.AssertWasCalled(
                x => x.Enqueue("netsh", "interface set interface name=\"Lan2\" admin=ENABLED"));
//            ExecutableProcessQueue.AssertWasCalled(x => x.Go());
        }
 public void should_set_interface_name()
 {
     ExecutableProcessQueue.AssertWasCalled(
         x => x.Enqueue("netsh", "interface set interface name=\"Lan1\" newname=\"Front End\""));
 }
Exemple #27
0
 public void Setup()
 {
     Setup("some_mac_not_found");
     ExecutableProcessQueue.Expect(x => x.Go()).Repeat.Once();
     SetNetworkInterface = new SetNetworkInterface(ExecutableProcessQueue, WmiMacNetworkNameGetter, Logger);
 }