IDirectory GetCacheDirectory(CassetteConfigurationSection configurationSection)
        {
            var path = configurationSection.CacheDirectory;

            if (string.IsNullOrEmpty(path))
            {
                return(new IsolatedStorageDirectory(() =>
                {
                    if (configurationSection.IsolatedStoragePerDomain)
                    {
                        return IsolatedStorageContainer.ForDomain.IsolatedStorageFile;
                    }
                    else
                    {
                        return IsolatedStorageContainer.ForAssembly.IsolatedStorageFile;
                    }
                }));
            }
            else if (Path.IsPathRooted(path))
            {
                return(new FileSystemDirectory(path));
            }
            else
            {
                path = path.TrimStart('~', '/');
                return(new FileSystemDirectory(Path.Combine(AppDomainAppPath, path)));
            }
        }
示例#2
0
 public InitialConfiguration(CassetteConfigurationSection configurationSection, bool isAspNetDebuggingEnabled, string sourceDirectory, string virtualDirectory)
 {
     this.configurationSection     = configurationSection;
     this.isAspNetDebuggingEnabled = isAspNetDebuggingEnabled;
     this.sourceDirectory          = sourceDirectory;
     this.virtualDirectory         = virtualDirectory;
 }
 public void UseIsolatedStorageWhenCachedDirectoryNotConfigured()
 {
     var section = new CassetteConfigurationSection();
     var configuration = new TestableWebHostSettingsConfiguration("/", section);
     var settings = new CassetteSettings();
     configuration.Configure(settings);
     settings.CacheDirectory.ShouldBeType<IsolatedStorageDirectory>();
 }
示例#4
0
 public InitialConfiguration(CassetteConfigurationSection configurationSection, bool globalIsDebuggingEnabled, string sourceDirectory, string virtualDirectory, IsolatedStorageFile storage)
 {
     this.configurationSection     = configurationSection;
     this.globalIsDebuggingEnabled = globalIsDebuggingEnabled;
     this.sourceDirectory          = sourceDirectory;
     this.virtualDirectory         = virtualDirectory;
     this.storage = storage;
 }
        public void UseIsolatedStorageWhenCachedDirectoryNotConfigured()
        {
            var section       = new CassetteConfigurationSection();
            var configuration = new TestableWebHostSettingsConfiguration("/", section);
            var settings      = new CassetteSettings();

            configuration.Configure(settings);
            settings.CacheDirectory.ShouldBeType <IsolatedStorageDirectory>();
        }
 public void UseFileSystemDirectoryWhenCacheDirectoryIsConfigured()
 {
     var section = new CassetteConfigurationSection
     {
         CacheDirectory = Environment.CurrentDirectory
     };
     var configuration = new TestableWebHostSettingsConfiguration("/", section);
     var settings = new CassetteSettings();
     configuration.Configure(settings);
     settings.CacheDirectory.ShouldBeType<FileSystemDirectory>();
 }
        public void UseFileSystemDirectoryWhenCacheDirectoryIsConfigured()
        {
            var section = new CassetteConfigurationSection
            {
                CacheDirectory = Environment.CurrentDirectory
            };
            var configuration = new TestableWebHostSettingsConfiguration("/", section);
            var settings      = new CassetteSettings();

            configuration.Configure(settings);
            settings.CacheDirectory.ShouldBeType <FileSystemDirectory>();
        }
        public void UseAbsoluteFileSystemDirectoryWhenCacheDirectoryIsConfiguredAsRelativePath()
        {
            var section = new CassetteConfigurationSection
            {
                CacheDirectory = "test"
            };
            var configuration = new TestableWebHostSettingsConfiguration("/", section);
            var settings = new CassetteSettings();
            configuration.Configure(settings);

            var directory = settings.CacheDirectory.ShouldBeType<FileSystemDirectory>();
            directory.FullSystemPath.ShouldEqual(Path.Combine(Environment.CurrentDirectory, "test").Replace('\\', '/'));
        }
        public void UseAbsoluteFileSystemDirectoryWhenCacheDirectoryIsConfiguredAsRelativePath()
        {
            var section = new CassetteConfigurationSection
            {
                CacheDirectory = "test"
            };
            var configuration = new TestableWebHostSettingsConfiguration("/", section);
            var settings      = new CassetteSettings();

            configuration.Configure(settings);

            var directory = settings.CacheDirectory.ShouldBeType <FileSystemDirectory>();

            directory.FullSystemPath.ShouldEqual(Path.Combine(Environment.CurrentDirectory, "test").Replace('\\', '/'));
        }
示例#10
0
 public CassetteApplicationContainerFactory(ICassetteConfigurationFactory cassetteConfigurationFactory,
                                            CassetteConfigurationSection configurationSection,
                                            string physicalDirectory,
                                            string virtualDirectory,
                                            bool isDebuggingEnabled,
                                            Func <NancyContext> getCurrentContext,
                                            CassetteRouteGenerator routeGenerator)
     : base(cassetteConfigurationFactory, configurationSection, physicalDirectory, virtualDirectory)
 {
     this.configurationSection = configurationSection;
     this.physicalDirectory    = physicalDirectory;
     this.virtualDirectory     = virtualDirectory;
     this.isDebuggingEnabled   = isDebuggingEnabled;
     this.getCurrentContext    = getCurrentContext;
     this.routeGenerator       = routeGenerator;
 }
示例#11
0
 public CassetteApplicationContainerFactory(
     ICassetteConfigurationFactory cassetteConfigurationFactory,
     CassetteConfigurationSection configurationSection,
     string physicalDirectory,
     string virtualDirectory,
     bool isAspNetDebuggingEnabled,
     Func <HttpContextBase> getHttpContext
     )
     : base(cassetteConfigurationFactory, configurationSection, physicalDirectory, virtualDirectory)
 {
     this.configurationSection     = configurationSection;
     this.physicalDirectory        = physicalDirectory;
     this.virtualDirectory         = virtualDirectory;
     this.isAspNetDebuggingEnabled = isAspNetDebuggingEnabled;
     this.getHttpContext           = getHttpContext;
 }
示例#12
0
        static List <ICassetteConfiguration> GetAllConfigurations(CassetteConfigurationSection section)
        {
            var initialConfiguration = new InitialConfiguration(
                section,
                GetSystemWebCompilationDebug(),
                HttpRuntime.AppDomainAppPath,
                HttpRuntime.AppDomainAppVirtualPath,
                _storage
                );

            var allConfigurations = new List <ICassetteConfiguration> {
                initialConfiguration
            };

            allConfigurations.AddRange(_configurations);
            return(allConfigurations);
        }
 public TestableWebHostSettingsConfiguration(string virtualDirectory, CassetteConfigurationSection section)
     : base(virtualDirectory)
 {
     this.section = section;
 }
示例#14
0
 public InitialConfiguration_Tests()
 {
     storage  = IsolatedStorageFile.GetUserStoreForAssembly();
     section  = new CassetteConfigurationSection();
     settings = new CassetteSettings();
 }
示例#15
0
 public CassetteApplicationContainerFactory_Test()
 {
     configurationSection = new CassetteConfigurationSection();
 }
 public TestableWebHostSettingsConfiguration(string virtualDirectory, CassetteConfigurationSection section)
     : base(virtualDirectory)
 {
     this.section = section;
 }