コード例 #1
0
        /// <summary>
        /// NOTE: This method is for use by the Warden. Please do not use otherwise.
        /// More work is required to make this a generally usable method.
        /// </summary>
        /// <param name="containerBasePath"></param>
        /// <param name="userGroupName"></param>
        /// <returns></returns>
        public static ContainerService Warden_RestoreFromContainerBasePath(string containerBasePath, string userGroupName)
        {
            var containerService = new ContainerService(containerBasePath, userGroupName);

            containerService.RestoreFromContainerBasePath();

            return(containerService);
        }
コード例 #2
0
            public void ShouldConvertEnvsFromEmptyList()
            {
                var list = new List <string>()
                {
                };

                var translation = ContainerService.EnvsFromList(list);

                Assert.Equal(translation.Count, 0);
            }
コード例 #3
0
        public ContainerServiceTests()
        {
            ContainerBasePath  = @"C:\Containers";
            ContainerUserGroup = "ContainerUsers";

            ContainerPropertiesService = Substitute.For <IContainerPropertyService>();

            FileSystem = Substitute.For <IFileSystemManager>();

            Id = "DEADBEEF";

            HandleHelper = Substitute.For <ContainerHandleHelper>();
            HandleHelper.GenerateId(null).ReturnsForAnyArgs(Id);

            ProcessRunner  = Substitute.For <IProcessRunner>();
            TcpPortManager = Substitute.For <ILocalTcpPortManager>();
            UserManager    = Substitute.For <IUserManager>();

            ContainerHostClient = Substitute.For <IContainerHostClient>();

            ContainerHostService = Substitute.For <IContainerHostService>();
            ContainerHostService.StartContainerHost(null, null, null, null)
            .ReturnsForAnyArgs(ContainerHostClient);

            UserManager.CreateUser(null).ReturnsForAnyArgs(new NetworkCredential("username", "password"));
            sid = "S-1234";
            UserManager.GetSID(null).ReturnsForAnyArgs(sid);

            diskQuotaManager   = Substitute.For <IDiskQuotaManager>();
            containerDiskQuota = Substitute.For <IContainerDiskQuota>();
            diskQuotaManager.CreateDiskQuotaControl(null, "").ReturnsForAnyArgs(containerDiskQuota);

            var directoryFactory = Substitute.For <IContainerDirectoryFactory>();

            containerDirectory = Substitute.For <IContainerDirectory>();
            directoryFactory.Create(FileSystem, ContainerBasePath, Id).Returns(containerDirectory);

            var containerFactory = new TestContainerFactory();

            Service = new ContainerService(
                HandleHelper,
                UserManager,
                FileSystem,
                ContainerPropertiesService,
                TcpPortManager,
                ProcessRunner,
                ContainerHostService,
                diskQuotaManager,
                directoryFactory,
                containerFactory,
                ContainerBasePath
                );
        }
コード例 #4
0
        public ContainerServiceTests()
        {
            ContainerBasePath = @"C:\Containers";
            ContainerUserGroup = "ContainerUsers";

            ContainerPropertiesService = Substitute.For<IContainerPropertyService>();

            FileSystem = Substitute.For<IFileSystemManager>();

            Id = "DEADBEEF";

            HandleHelper = Substitute.For<ContainerHandleHelper>();
            HandleHelper.GenerateId(null).ReturnsForAnyArgs(Id);

            ProcessRunner = Substitute.For<IProcessRunner>();
            TcpPortManager = Substitute.For<ILocalTcpPortManager>();
            UserManager = Substitute.For<IUserManager>();

            ContainerHostClient = Substitute.For<IContainerHostClient>();

            ContainerHostService = Substitute.For<IContainerHostService>();
            ContainerHostService.StartContainerHost(null, null, null, null)
                .ReturnsForAnyArgs(ContainerHostClient);

            UserManager.CreateUser(null).ReturnsForAnyArgs(new NetworkCredential("username", "password"));
            UserManager.GetSID(null).ReturnsForAnyArgs("S-1234");

            diskQuotaManager = Substitute.For<IDiskQuotaManager>();
            diskQuotaControl = Substitute.For<DiskQuotaControl>();
            diskQuotaManager.CreateDiskQuotaControl(null).ReturnsForAnyArgs(diskQuotaControl);

            var directoryFactory = Substitute.For<IContainerDirectoryFactory>();
            containerDirectory = Substitute.For<IContainerDirectory>();
            directoryFactory.Create(FileSystem, ContainerBasePath, Id).Returns(containerDirectory);

            Service = new ContainerService(
                HandleHelper,
                UserManager,
                FileSystem,
                ContainerPropertiesService,
                TcpPortManager,
                ProcessRunner,
                ContainerHostService,
                diskQuotaManager,
                directoryFactory,
                ContainerBasePath
            );
        }
コード例 #5
0
            public void ShouldConvertEnvsFromList()
            {
                var list = new List <string>()
                {
                    "a=b",
                    "test=1234",
                    "my=varwith=init"
                };

                var translation = ContainerService.EnvsFromList(list);

                Assert.Equal(translation.Count, list.Count);
                Assert.Equal(translation["a"], "b");
                Assert.Equal(translation["test"], "1234");
                Assert.Equal(translation["my"], "varwith=init");
            }
コード例 #6
0
        /// <summary>
        /// NOTE: This method is for use by the Warden. Please do not use otherwise.
        /// More work is required to make this a generally usable method.
        /// </summary>
        /// <param name="containerBasePath"></param>
        /// <param name="userGroupName"></param>
        /// <returns></returns>
        public static ContainerService Warden_RestoreFromContainerBasePath(string containerBasePath, string userGroupName)
        {
            var containerService = new ContainerService(containerBasePath, userGroupName);

            containerService.RestoreFromContainerBasePath();

            return containerService;
        }