private static X509Certificate2 LoadCertificate() { var socialSampleAssembly = typeof(Startup).GetTypeInfo().Assembly; var embeddedFileProvider = new EmbeddedFileProvider(socialSampleAssembly, "SocialSample"); var certificateFileInfo = embeddedFileProvider.GetFileInfo("compiler/resources/cert.pfx"); using (var certificateStream = certificateFileInfo.CreateReadStream()) { byte[] certificatePayload; using (var memoryStream = new MemoryStream()) { certificateStream.CopyTo(memoryStream); certificatePayload = memoryStream.ToArray(); } return new X509Certificate2(certificatePayload, "testPassword"); } }
public void Trigger_ShouldNot_Support_Registering_Callbacks() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); var trigger = provider.Watch("Resources/File.txt"); Assert.NotNull(trigger); Assert.False(trigger.ActiveExpirationCallbacks); Assert.False(trigger.IsExpired); }
public void Trigger_ShouldNot_Support_Registering_Callbacks() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); var token = provider.Watch("Resources/File.txt"); Assert.NotNull(token); Assert.False(token.ActiveChangeCallbacks); Assert.False(token.HasChanged); }
public void When_GetFileInfo_and_resource_does_not_exist_then_should_not_get_file_info() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); var fileInfo = provider.GetFileInfo("DoesNotExist.Txt"); Assert.NotNull(fileInfo); Assert.False(fileInfo.Exists); }
public void GetDirInfo_with_no_matching_base_namespace() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, "Unknown.Namespace"); var files = provider.GetDirectoryContents(string.Empty); Assert.NotNull(files); Assert.True(files.Exists); Assert.Equal(0, files.Count()); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseBrowserLink(); app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); // ------------------------------------ if (_ModuleManager.Modules != null) { foreach (ModuleBase module in _ModuleManager.Modules) { Assembly assembly = module.GetType().Assembly; string resourceNamespace = assembly.GetName().Name; EmbeddedFileProvider fileProvider = new EmbeddedFileProvider(assembly); foreach (ResourceInfo resourceInfo in module.Resources) { var options = new StaticFileOptions() { FileProvider = new EmbeddedFileProvider(assembly), RequestPath = "" //new PathString("/" + resourceInfo.Path) }; app.UseStaticFiles(options); } //IDirectoryContents dirContents = fileProvider.GetDirectoryContents(""); //foreach (IFileInfo fileInfo in dirContents) //{ // Stream viewStream = assembly.GetManifestResourceStream(resourceNamespace + "." + fileInfo.Name); // TextReader reader = new StreamReader(viewStream); // string viewCode = reader.ReadToEnd(); //} } } // ------------------------------------ app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
public static string ReadResourceAsString(string resourceName) { string[] names = Assembly.GetAssembly(typeof(ResourceProvider)).GetManifestResourceNames(); IFileProvider embeddedProvider = new EmbeddedFileProvider(Assembly.GetAssembly(typeof(ResourceProvider)), "GraphSchema.io.Client.Resources"); using (var stream = embeddedProvider.GetFileInfo(resourceName).CreateReadStream()) { using (var reader = new StreamReader(stream, Encoding.UTF8)) { return(reader.ReadToEnd()); } } }
public static void UseComponentLibraryScripts(this IApplicationBuilder builder) { var embeddedProvider = new EmbeddedFileProvider(typeof(ComponentLibrary.ViewComponents.NavComponent) .GetTypeInfo().Assembly, "ComponentLibrary.Scripts"); builder.UseStaticFiles(new StaticFileOptions() { FileProvider = embeddedProvider, RequestPath = new PathString("/Scripts") }); }
/// <summary> /// Creates a template provider using an embedded file provider for the given assembly. /// </summary> /// <param name="assembly">The source assembly.</param> /// <param name="namespace">The base namespace.</param> /// <returns>The template provider.</returns> public static TemplateProvider FromAssembly(Assembly assembly, string @namespace) { if (assembly is null) { throw new ArgumentNullException(nameof(assembly)); } var fileProvider = new EmbeddedFileProvider(assembly, $"{@namespace}.templates"); return(new TemplateProvider(fileProvider)); }
private static IFileProvider BuildFileProvider() { var assembly = typeof(GraphiQlExtensions).GetTypeInfo().Assembly; var embeddedFileProvider = new EmbeddedFileProvider(assembly, "graphiql.assets"); var fileProvider = new CompositeFileProvider( embeddedFileProvider ); return(fileProvider); }
public GtkWindow(WindowConfiguration config, IUiFactory windowFactory) { if (windowFactory == null) { throw new ArgumentNullException(nameof(windowFactory)); } this.config = config ?? throw new ArgumentNullException(nameof(config)); var contentProvider = new EmbeddedFileProvider(config.ContentAssembly, config.ContentFolder); bridge = new WebviewBridge(); webview = new GtkWebview(config, contentProvider, bridge); Handle = Gtk.Window.Create(GtkWindowType.Toplevel); Title = config.Title; Gtk.Window.SetResizable(Handle, config.CanResize); Gtk.Window.SetDefaultSize(Handle, config.Width, config.Height); string backgroundColor = config.BackgroundColor; if (string.IsNullOrWhiteSpace(backgroundColor)) { backgroundColor = "#FFFFFF"; } SetBackgroundColor(backgroundColor); IntPtr scroller = Gtk.Window.CreateScrolled(IntPtr.Zero, IntPtr.Zero); Gtk.Widget.ContainerAdd(Handle, scroller); Gtk.Widget.ContainerAdd(scroller, webview.Handle); // need to keep the delegates around or they will get garbage collected deleteDelegate = DeleteCallback; destroyDelegate = DestroyCallback; GLib.ConnectSignal(Handle, "delete-event", deleteDelegate, IntPtr.Zero); GLib.ConnectSignal(Handle, "destroy", destroyDelegate, IntPtr.Zero); webview.CloseRequested += Webview_CloseRequested; if (config.EnableScriptInterface) { bridge.Init(this, webview, windowFactory); } if (config.UseBrowserTitle) { webview.TitleChanged += Webview_TitleChanged; bridge.TitleChanged += Webview_TitleChanged; } SetIcon(config.Icon); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddCors( options => options.AddPolicy("AllowCors", builder => { builder .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); })); // Add framework services. services.AddMvc().AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }); LogWriterFactory log = new LogWriterFactory(); LogWriter logWriter = log.Create(); Logger.SetLogWriter(logWriter, false); //---Adding scope for all classes services.AddSingleton <ILoggingHelper, LoggingHelper>(serviceProvider => { return(new LoggingHelper(logWriter)); }); services.AddSingleton <IExceptionHelper, ExceptionHelper>(serviceProvider => { return(new ExceptionHelper(logWriter)); }); // Infrastructure services.AddTransient <IDatabaseFactory <ReferenceDataDBContext>, DatabaseFactory <ReferenceDataDBContext> >(); //---Adding scope for all classes services.AddScoped <IReferenceDataBusinessService, ReferenceDataBusinessService>(); services.AddScoped <DataService.Interface.IReferenceDataDataService, DataService.ReferenceDataDataService>(); services.AddScoped <IActionManagerDataService, ActionManagerDataService>(); services.AddScoped <IUserRoleUnitDataService, UserRoleUnitDataService>(); services.AddScoped <IConfigurationHelper, ConfigurationHelper>(); var physicalProvider = hostingEnvironment.ContentRootFileProvider; var embeddedProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); services.AddSingleton <IFileProvider>(embeddedProvider); }
private void SetupEmbeddedViewsForPlugins(IServiceCollection services, IEnumerable <Assembly> pluginAssemblies) { services.Configure <RazorViewEngineOptions>(options => { foreach (var assembly in pluginAssemblies) { var embeddedFile = new EmbeddedFileProvider(assembly); options.FileProviders.Add(embeddedFile); } }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews() .AddRazorRuntimeCompilation(options => options.FileProviders.Add( new EmbeddedFileProvider(typeof(FormFactory.FF).GetTypeInfo().Assembly, nameof(FormFactory)) )); var embeddedProvider = new EmbeddedFileProvider(typeof(FF).Assembly, nameof(FormFactory)); services.AddSingleton <IFileProvider>(embeddedProvider); }
// IFileProvider; 文件提供者相应的提供者 // PhysicalFileProvider; // EmbeddedFileProvider; // CompositeFileProvider; public void ConfigureServices(IServiceCollection services) { IFileProvider physicalFileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory()); IFileProvider embeddedFileProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); // 组合文件系统 // 装饰器模式 IFileProvider compositeFileProvider = new CompositeFileProvider(physicalFileProvider, embeddedFileProvider); services.AddSingleton <IFileProvider>(compositeFileProvider); }
public async Task UploadFile_FromFileProvider_ExpectedSkylink() { // Arrange var fileProvider = new EmbeddedFileProvider(Assembly.GetExecutingAssembly()); // Act var skylink = await _skynetWebPortal.UploadFile(fileProvider, "assets/test-file.txt"); // Assert Assert.That(skylink.ToString() == "AAAox419FTqN04JIo3urNNtyxwY9i61cZVnbwNlhGluwOQ"); }
private byte[] ObterLogoBanco(IBanco banco) { var embeddedProvider = new EmbeddedFileProvider(Assembly.GetExecutingAssembly()); using (var reader = embeddedProvider.GetFileInfo($"logos/{banco.Codigo.ToString("000")}.bmp").CreateReadStream()) { var logo = new byte[reader.Length]; reader.Read(logo, 0, (int)reader.Length); return(logo); } }
private string GetPartialViewMacroSnippetContent(string snippetName, PartialViewType partialViewType) { if (snippetName.IsNullOrWhiteSpace()) { throw new ArgumentNullException(nameof(snippetName)); } string partialViewHeader; switch (partialViewType) { case PartialViewType.PartialView: partialViewHeader = PartialViewHeader; break; case PartialViewType.PartialViewMacro: partialViewHeader = PartialViewMacroHeader; break; default: throw new ArgumentOutOfRangeException(nameof(partialViewType)); } var snippetProvider = new EmbeddedFileProvider(GetType().Assembly, "Umbraco.Cms.Core.EmbeddedResources.Snippets"); IFileInfo?file = snippetProvider.GetDirectoryContents(string.Empty) .FirstOrDefault(x => x.Exists && x.Name.Equals(snippetName + ".cshtml")); // Try and get the snippet path if (file is null) { throw new InvalidOperationException("Could not load snippet with name " + snippetName); } using (var snippetFile = new StreamReader(file.CreateReadStream())) { var snippetContent = snippetFile.ReadToEnd().Trim(); // strip the @inherits if it's there snippetContent = StripPartialViewHeader(snippetContent); // Update Model.Content to be Model when used as PartialView if (partialViewType == PartialViewType.PartialView) { snippetContent = snippetContent .Replace("Model.Content.", "Model.") .Replace("(Model.Content)", "(Model)"); } var content = $"{partialViewHeader}{Environment.NewLine}{snippetContent}"; return(content); } }
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { var physicalProvider = _hostingEnvironment.ContentRootFileProvider; var embeddedProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); var compositeProvider = new CompositeFileProvider(physicalProvider, embeddedProvider); // choose one provider to use for the app and register it //services.AddSingleton<IFileProvider>(physicalProvider); //services.AddSingleton<IFileProvider>(embeddedProvider); services.AddSingleton <IFileProvider>(compositeProvider); }
public void ConfigureServices(IServiceCollection services) { var physicalProvider = HostingEnvironment.WebRootFileProvider; var embeddedProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); var compositeProvider = new CompositeFileProvider(physicalProvider, embeddedProvider); services.AddSingleton <IFileProvider>(compositeProvider); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
public IEnumerable <Word> GetWords() { var wordJson = string.Empty; var embeddedProvider = new EmbeddedFileProvider(Assembly.GetExecutingAssembly()); using var stream = embeddedProvider.GetFileInfo("Resources/words.json").CreateReadStream(); wordJson = new StreamReader(stream).ReadToEnd(); var words = JsonConvert.DeserializeObject <Word[]>(wordJson); return(words); }
public static byte[] GetEmbeddedFile(this Assembly assembly, string path) { var fileProvider = new EmbeddedFileProvider(assembly); var fileInfo = fileProvider.GetFileInfo(path); if (fileInfo?.Exists != true) { throw new ApplicationException($"Embedded file '{path}' not found in assembly {assembly.FullName}"); } using (var stream = fileInfo.CreateReadStream()) return(stream.ReadAll()); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var physicalProvider = HostingEnvironment.ContentRootFileProvider; var embeddedProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); var compositeProvider = new CompositeFileProvider(physicalProvider, embeddedProvider); var scopeFactory = services.BuildServiceProvider().GetServices <IServiceScopeFactory>().FirstOrDefault(); var serviceProv = services.BuildServiceProvider().GetServices <IServiceProvider>().FirstOrDefault(); var logger = services.BuildServiceProvider().GetServices <ILogger <AllEmptyPostCodesUpdateNowTask> >().FirstOrDefault(); services.AddSingleton <IFileProvider>(compositeProvider); services.AddSingleton <IConfiguration>(Configuration); ConfigureContexts(services); services.AddIdentity <ApplicationUser, ApplicationRole>() .AddEntityFrameworkStores <ApplicationDbContext>() .AddDefaultTokenProviders(); services.Configure <FormOptions>(options => { options.MultipartBodyLengthLimit = 100000000; }); // Add application services. services.AddTransient <IEmailSender, EmailSender>(); services.AddTransient <PatientViewModel>(); services.AddMvc(); services.AddRouteAnalyzer(); services.AddMvc().AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; options.SerializerSettings.MaxDepth = 1; }); Audit.Core.Configuration.Setup() .UseSqlServer(config => config .ConnectionString(Configuration.GetConnectionString("DefaultConnection")) .Schema("dbo") .TableName("AuditEvents") .IdColumnName("ID") .JsonColumnName("Data") .LastUpdatedColumnName("LastUpdatedDate")); ConfigurePdfService(services); services.AddScoped <IViewRenderService, ViewRenderService>(); services.AddSingleton <IHostedService, PatientVoriconazoleLevelBackgruondTask>(); //monday services.AddSingleton <IHostedService, ImmunoglobulinUpdateBackgroundTask>(); //runs tuesday services.AddSingleton <IHostedService, EmptyPostCodesUpdateScheduledTask>(); //runs wednesday services.AddSingleton <IHostedService, PatientTestResultBackgroundUpdateTask>(); //thursday services.AddSingleton <IHostedService, PatientRadiologyUpdateBackgroundTask>(); //friday services.AddSingleton <IHostedService, PatientICD10DiagnosesBackgroundTask>(); //saturday services.AddSingleton <IHostedService, PatientSGRQImporterBackgroundTask>(); //saturday at 12:15 services.AddSingleton <IHostedService, PatientAdministrationSystemStatusTask>(); //sunday services.AddHostedService <QueuedHostedService>(); services.AddSingleton <IBackgroundTaskQueue, BackgroundTaskQueue>(); }
private string LoadEmbeddedTemplate(IChallengeTemplateOptions options) { var assembly = options.GetType().Assembly; _logger.LogTrace("Loading embedded template {name} from {assembly}", options.TemplateName, assembly.GetName().Name); using var stream = new EmbeddedFileProvider(assembly, typeof(ChallengeTemplateService).Namespace) .GetFileInfo(GetTemplateFileName(options.TemplateName)).CreateReadStream(); using var reader = new StreamReader(stream); return(reader.ReadToEnd()); }
public async Task <int> OnExecuteAsync() { var fileProvider = new EmbeddedFileProvider(typeof(AttributionsCommand).Assembly); var attributions = fileProvider.GetFileInfo("Properties.ATTRIBUTIONS.txt"); using (var streamReader = new StreamReader(attributions.CreateReadStream())) { _logger.LogInformation(await streamReader.ReadToEndAsync()); } return(0); }
public static IEnumerable <IFileInfo> GetResources(this Assembly assembly, string name, bool ignoreCase = false) { List <IFileInfo> files = new List <IFileInfo>(); var embedded = new EmbeddedFileProvider(assembly); var resources = embedded.GetDirectoryContents("/").Where(x => x.Name.Contains(name, ignoreCase)); foreach (var resource in resources) { files.Add(resource); } return(files); }
private static void RegisterDependencies(WebAssemblyHostBuilder builder) { var services = builder.Services; var fileProvider = new EmbeddedFileProvider(Assembly.GetExecutingAssembly()); var configuration = builder.Configuration .AddJsonFile(provider: fileProvider, path: "appsettings.json", optional: true, reloadOnChange: false) .Build(); services.AddSingleton <IConfiguration>(configuration); services.AddSingleton <DevToolService>(); }
public static IEnumerable <Stream> GetResourcesAsStream(this Assembly assembly, Regex regex) { List <Stream> files = new List <Stream>(); var embedded = new EmbeddedFileProvider(assembly); var resources = embedded.GetDirectoryContents("/").Where(x => regex.IsMatch(x.Name)); foreach (var resource in resources) { files.Add(resource.CreateReadStream()); } return(files); }
public void GetFileInfo_ReturnsNotFoundFileInfo_IfFileDoesNotExistUnderSpecifiedNamespace() { // Arrange var provider = new EmbeddedFileProvider(GetType().Assembly, Namespace + ".SubNamespace"); // Act var fileInfo = provider.GetFileInfo("File.txt"); // Assert Assert.NotNull(fileInfo); Assert.False(fileInfo.Exists); }
public void GetDirectoryContents() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace + ".Resources"); var files = provider.GetDirectoryContents(""); Assert.NotNull(files); Assert.Equal(2, files.Count()); Assert.False(provider.GetDirectoryContents("file").Exists); Assert.False(provider.GetDirectoryContents("file/").Exists); Assert.False(provider.GetDirectoryContents("file.txt").Exists); Assert.False(provider.GetDirectoryContents("file/txt").Exists); }
public FileProvider(Kernel kernel) { if (kernel == null) { throw new ArgumentNullException(nameof(kernel)); } _root = new EmbeddedFileProvider(typeof(FileProvider).Assembly); _eventSubscription = kernel.KernelEvents .OfType <KernelExtensionLoaded>() .Subscribe(@event => RegisterExtension(@event.KernelExtension)); }
public static IEnumerable <IFileInfo> GetResources(this Assembly assembly) { List <IFileInfo> files = new List <IFileInfo>(); var embedded = new EmbeddedFileProvider(assembly); var resources = embedded.GetDirectoryContents("/"); foreach (var resource in resources) { files.Add(resource); } return(files); }
public void GetFileInfo_ReturnsNotFoundFileInfo_IfFileDoesNotExistUnderSpecifiedNamespace() { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace + ".SubNamespace"); // Act var fileInfo = provider.GetFileInfo("File.txt"); // Assert Assert.NotNull(fileInfo); Assert.False(fileInfo.Exists); }
public void GetFileInfo_ReturnsNotFoundIfPathStartsWithBackSlash() { // Arrange var provider = new EmbeddedFileProvider(GetType().Assembly); // Act var fileInfo = provider.GetFileInfo("\\File.txt"); // Assert Assert.NotNull(fileInfo); Assert.False(fileInfo.Exists); }
public static void UseAjaxSpa(this IApplicationBuilder app) { var embeddedProvider = new EmbeddedFileProvider(typeof(AjaxSpaMvcCore.AjaxSpaRequestHandlerExtension) .Assembly, "AjaxSpaMvcCore.Resources"); app.UseStaticFiles(new StaticFileOptions { FileProvider = embeddedProvider, RequestPath = "/AjaxSpaResource" }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddRazorPages(); services.Configure <DataSourceOptions>(Configuration.GetSection("DataSource")); services.AddSingleton <IRestrictedDataService, RestrictedDataService>(); var physicalFileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory()); var embeddedFileProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); var compositeFileProvider = new CompositeFileProvider(physicalFileProvider, embeddedFileProvider); services.AddSingleton <IFileProvider>(compositeFileProvider); }
public void GetFileInfo_ReturnsNotFoundFileInfo_IfFileDoesNotExist() { // Arrange var provider = new EmbeddedFileProvider(GetType().Assembly); // Act var fileInfo = provider.GetFileInfo("DoesNotExist.Txt"); // Assert Assert.NotNull(fileInfo); Assert.False(fileInfo.Exists); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); var physicalProvider = _hostingEnvironment.ContentRootFileProvider; var embeddedProvider = new EmbeddedFileProvider(Assembly.GetEntryAssembly()); var compositeProvider = new CompositeFileProvider(physicalProvider, embeddedProvider); // choose one provider to use for the app and register it //services.AddSingleton<IFileProvider>(physicalProvider); //services.AddSingleton<IFileProvider>(embeddedProvider); services.AddSingleton<IFileProvider>(compositeProvider); }
public void GetFileInfo_ReturnsFilesAtRoot(string filePath) { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); var expectedFileLength = 8; // Act var fileInfo = provider.GetFileInfo(filePath); // Assert Assert.NotNull(fileInfo); Assert.True(fileInfo.Exists); Assert.NotEqual(default(DateTimeOffset), fileInfo.LastModified); Assert.Equal(expectedFileLength, fileInfo.Length); Assert.False(fileInfo.IsDirectory); Assert.Null(fileInfo.PhysicalPath); Assert.Equal("File.txt", fileInfo.Name); }
public void Watch_ReturnsNoOpTrigger() { // Arange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); // Act var token = provider.Watch("Resources/File.txt"); // Assert Assert.NotNull(token); Assert.False(token.ActiveChangeCallbacks); Assert.False(token.HasChanged); Assert.Throws<NotSupportedException>(() => token.RegisterChangeCallback(_ => { }, new object())); }
public void Watch_ReturnsNoOpTrigger() { // Arange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); // Act var token = provider.Watch("Resources/File.txt"); // Assert Assert.NotNull(token); Assert.False(token.ActiveChangeCallbacks); Assert.False(token.HasChanged); }
public void Configure_FileServerEmbeddedDefaultFiles(IApplicationBuilder app) { var fs = new EmbeddedFileProvider(this.GetType().GetTypeInfo().Assembly, "StaticFilesSignoff.wwwroot");; app.UseDefaultFiles(new DefaultFilesOptions() { DefaultFileNames = new[] { "TextFile.txt" }, FileProvider = fs }); app.UseStaticFiles(new StaticFileOptions() { FileProvider = fs, }); }
public void GetFileInfo_LocatesFilesUnderSubDirectories(string path) { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); // Act var fileInfo = provider.GetFileInfo(path); // Assert Assert.NotNull(fileInfo); Assert.True(fileInfo.Exists); Assert.NotEqual(default(DateTimeOffset), fileInfo.LastModified); Assert.True(fileInfo.Length > 0); Assert.False(fileInfo.IsDirectory); Assert.Null(fileInfo.PhysicalPath); Assert.Equal("File.txt", fileInfo.Name); }
public void When_GetFileInfo_and_resource_exists_in_root_then_should_get_file_info() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); var expectedFileLength = new FileInfo("File.txt").Length; var fileInfo = provider.GetFileInfo("File.txt"); Assert.NotNull(fileInfo); Assert.True(fileInfo.Exists); Assert.NotEqual(default(DateTimeOffset), fileInfo.LastModified); Assert.Equal(expectedFileLength, fileInfo.Length); Assert.False(fileInfo.IsDirectory); Assert.Null(fileInfo.PhysicalPath); Assert.Equal("File.txt", fileInfo.Name); //Passing in a leading slash fileInfo = provider.GetFileInfo("/File.txt"); Assert.NotNull(fileInfo); Assert.True(fileInfo.Exists); Assert.NotEqual(default(DateTimeOffset), fileInfo.LastModified); Assert.Equal(expectedFileLength, fileInfo.Length); Assert.False(fileInfo.IsDirectory); Assert.Null(fileInfo.PhysicalPath); Assert.Equal("File.txt", fileInfo.Name); }
public MiniWebAdminMiddleware(RequestDelegate next, IMiniWebSite miniWeb) { _miniWebSite = miniWeb; _next = next; _provider = new EmbeddedFileProvider(this.GetType().GetTypeInfo().Assembly, this.GetType().Namespace); }
public void GetDirectoryContents_ReturnsAllFilesInFileSystem(string path) { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace + ".Resources"); // Act var files = provider.GetDirectoryContents(path); // Assert Assert.Collection(files.OrderBy(f => f.Name, StringComparer.Ordinal), file => Assert.Equal("File.txt", file.Name), file => Assert.Equal("ResourcesInSubdirectory.File3.txt", file.Name)); Assert.False(provider.GetDirectoryContents("file").Exists); Assert.False(provider.GetDirectoryContents("file/").Exists); Assert.False(provider.GetDirectoryContents("file.txt").Exists); Assert.False(provider.GetDirectoryContents("file/txt").Exists); }
public void GetDirectoryContents_ReturnsEmptySequence_IfResourcesDoNotExistUnderNamespace() { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, "Unknown.Namespace"); // Act var files = provider.GetDirectoryContents(string.Empty); // Assert Assert.NotNull(files); Assert.True(files.Exists); Assert.Empty(files); }
public void GetDirectoryContents_ReturnsNotFoundDirectoryContents_IfHierarchicalPathIsSpecified(string path) { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); // Act var files = provider.GetDirectoryContents(path); // Assert Assert.NotNull(files); Assert.False(files.Exists); Assert.Empty(files); }
private static Scripts CopyEmbeddedScriptFilesToDisk() { var embeddedFileNames = new[] { "RemotePSSessionHelper.ps1", "StartServer.ps1", "StopServer.ps1" }; // Copy the scripts from this assembly's embedded resources to the temp path on the machine where these // tests are being run var embeddedFileProvider = new EmbeddedFileProvider( typeof(RemoteWindowsDeployer).GetTypeInfo().Assembly, "Microsoft.AspNetCore.Server.Testing.Deployers.RemoteWindowsDeployer"); var filesOnDisk = new string[embeddedFileNames.Length]; for (var i = 0; i < embeddedFileNames.Length; i++) { var embeddedFileName = embeddedFileNames[i]; var physicalFilePath = Path.Combine(Path.GetTempPath(), embeddedFileName); var sourceStream = embeddedFileProvider .GetFileInfo(embeddedFileName) .CreateReadStream(); using (sourceStream) { var destinationStream = File.Create(physicalFilePath); using (destinationStream) { sourceStream.CopyTo(destinationStream); } } filesOnDisk[i] = physicalFilePath; } var scripts = new Scripts(filesOnDisk[0], filesOnDisk[1], filesOnDisk[2]); return scripts; }
public void GetFileInfo_ReturnsNotFoundIfPathStartsWithBackSlash() { // Arrange var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); // Act var fileInfo = provider.GetFileInfo("\\File.txt"); // Assert Assert.NotNull(fileInfo); Assert.False(fileInfo.Exists); }
public void When_GetFileInfo_and_resources_in_path_then_should_get_file_infos() { var provider = new EmbeddedFileProvider(GetType().GetTypeInfo().Assembly, Namespace); var fileInfo = provider.GetFileInfo("Resources/File.txt"); Assert.NotNull(fileInfo); Assert.True(fileInfo.Exists); Assert.NotEqual(default(DateTimeOffset), fileInfo.LastModified); Assert.True(fileInfo.Length > 0); Assert.False(fileInfo.IsDirectory); Assert.Null(fileInfo.PhysicalPath); Assert.Equal("File.txt", fileInfo.Name); }