Ejemplo n.º 1
0
        public void PluginManagerRegisterProvisioned_Test()
        {
            var fs = new PhysicalFileSystem();
            var appDataDirectory = new DirectoryInfo(Path.GetTempPath())
                                   .CreateSubdirectory(Guid.NewGuid().ToString());
            var module = new Module(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, appDataDirectory,
                                    Version.Parse("1.0.0"));
            var resourceDir = module.ContentsDirectory.CreateSubdirectory("resource")
                              .CreateSubdirectory("TestPluginProvisioned");
            string pluginJson = TestUtilities.GetStringResource("Loader.plugin.json");

            File.WriteAllText(Path.Combine(resourceDir.FullName, "plugin.json"), pluginJson);
            var directoryProvider = new ContentDirectoryProvider(appDataDirectory.FullName);
            var optionsBuilder    = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var sqliteProvider = new PluginConfigurationStore(optionsBuilder);

            var logProvider   = new LogProvider();
            var pluginManager = new PluginManager(logProvider, directoryProvider, sqliteProvider, fs);
            var provision     = pluginManager.GetProvision <ProvisionedPluginImpl>(module);
            var plugin        = new ProvisionedPluginImpl(provision);

            pluginManager.Register <ProvisionedPlugin>(plugin);
            Assert.NotEmpty(pluginManager.Get <ProvisionedPlugin>());
            Assert.NotNull(pluginManager.Get <ProvisionedPlugin>("TestPluginProvisioned"));
        }
Ejemplo n.º 2
0
        public void ContentDirectoryProvider_Test()
        {
            string tmp = Path.GetTempPath();
            IContentDirectoryProvider cdp = new ContentDirectoryProvider(tmp);

            Assert.Equal(tmp, cdp.ApplicationData.FullName);
        }
Ejemplo n.º 3
0
        public void PluginManagerRegister_Test()
        {
            var appDataDirectory = new DirectoryInfo(Path.GetTempPath())
                                   .CreateSubdirectory(Guid.NewGuid().ToString());
            var directoryProvider = new ContentDirectoryProvider(appDataDirectory.FullName);
            var optionsBuilder    = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var sqliteProvider = new PluginConfigurationStore(optionsBuilder);
            var logProvider    = new LogProvider();
            var pluginManager  = new PluginManager(logProvider, directoryProvider, sqliteProvider);

            pluginManager.Register <StandalonePlugin>(new StandalonePluginImpl());
            Assert.NotEmpty(pluginManager.Get <StandalonePlugin>());
            Assert.NotNull(pluginManager.Get <StandalonePlugin>("TestPlugin"));
        }