Exemplo n.º 1
0
        public void ShouldBeAbleToGetUrlAcl()
        {
            Skip.If(!PermissionsHelper.IsRunAsAdministrator(), "require administrator permissions");
            var sut = new NetShHelper();

            PrepareTestUrlAcl(sut, TestUrls[1]);

            var result = sut.GetUrlAcl(TestUrls[1]);

            result.Should().NotBeNull();
            result.Reservations.First().Url.Should().Be(TestUrls[1]);
            result.Reservations.First().Data["User"].Should().Be($"{Environment.UserDomainName}\\{Environment.UserName}");
        }
Exemplo n.º 2
0
        public void ShouldBeAbleToDeleteUrlAcl()
        {
            Skip.If(!PermissionsHelper.IsRunAsAdministrator(), "require administrator permissions");
            var sut = new NetShHelper();

            PrepareTestUrlAcl(sut, TestUrls[2]);

            var result = sut.DeleteUrlAcl(TestUrls[2]);

            result.Should().BeTrue();
            var getResult = sut.GetUrlAcl(TestUrls[2]);

            getResult.Should().NotBeNull();
            getResult.Reservations.Should().BeEmpty();
        }
Exemplo n.º 3
0
        private void SetUrlAcl()
        {
            var uriBuilder = new UriBuilder(new Uri(_baseAddress))
            {
                Host = "+"
            };
            var baseAddress = uriBuilder.ToString();

            var urlReservations = _netShHelper.GetUrlAcl(baseAddress);

            if (!urlReservations.Reservations.Any())
            {
                var result = _netShHelper.CreateUrlAcl(baseAddress);
                if (!result)
                {
                    MessageBox.Show(
                        $"Sorry, {GeneralInformation.ApplicationName} cannot add URL reservation. Please allow next time or try to run as Administrator.",
                        $"{GeneralInformation.ApplicationName} can't start service.",
                        MessageBoxButton.OK,
                        MessageBoxImage.Information);
                }
            }
        }