public void AssemblyComposer_InvalidBruteforceComposeTest() { var appDataDirectory = new DirectoryInfo(Path.GetTempPath()) .CreateSubdirectory(Guid.NewGuid().ToString()); var moduleDirectory = appDataDirectory.CreateSubdirectory("modules"); Stream composableAssemblyZipStream = TestUtilities.GetResource("Loader.Snowflake.Framework.Tests.InvalidComposable.zip"); ZipArchive archive = new ZipArchive(composableAssemblyZipStream); archive.ExtractToDirectory(moduleDirectory.CreateSubdirectory("Snowflake.Framework.Tests").FullName); var container = new ServiceContainer(appDataDirectory.FullName, "http://localhost:9797"); var module = container.Get <IModuleEnumerator>() .Modules.FirstOrDefault(m => m.Entry == "Snowflake.Framework.Tests.InvalidComposable.dll"); Assert.NotNull(module); var assemblyComposer = new AssemblyComposer(container, container.Get <IModuleEnumerator>()); assemblyComposer.Compose(); Assert.Null(container.Get <IInvalidService>()); var invalidComposable = new InvalidDummyServiceComposable(); Assert.Throws <InvalidOperationException>(() => { invalidComposable.Compose(module, new ServiceProvider(container, new List <string>() { typeof(IServiceRegistrationProvider).FullName })); }); }
public void StartCore() { this.loadedCore = new ServiceContainer(this.appDataDirectory); var loader = this.loadedCore.Get <IModuleEnumerator>(); var composer = new AssemblyComposer(this.loadedCore, loader); composer.Compose(); }
public void AssemblyComposer_InvalidComposeTest() { var appDataDirectory = new DirectoryInfo(Path.GetTempPath()) .CreateSubdirectory(Guid.NewGuid().ToString()); var moduleDirectory = appDataDirectory.CreateSubdirectory("modules"); Stream composableAssemblyZipStream = TestUtilities.GetResource("Loader.Snowflake.Framework.Tests.InvalidComposable.zip"); ZipArchive archive = new ZipArchive(composableAssemblyZipStream); archive.ExtractToDirectory(moduleDirectory.CreateSubdirectory("Snowflake.Framework.Tests").FullName); var container = new ServiceContainer(appDataDirectory.FullName, "https://localhost:9797"); Assert.Contains(container.Get <IModuleEnumerator>() .Modules, m => m.Entry == "Snowflake.Framework.Tests.InvalidComposable.dll"); var assemblyComposer = new AssemblyComposer(container, container.Get <IModuleEnumerator>()); assemblyComposer.Compose(); Assert.Null(container.Get <IInvalidService>()); }