public void TestAddEntryRecursive_defaults() { SystemPath testDirectory = TestResources.GetResource("core/layer"); SystemPath testFile = TestResources.GetResource("core/fileA"); ILayerConfiguration layerConfiguration = LayerConfiguration.CreateBuilder() .AddEntryRecursive(testDirectory, AbsoluteUnixPath.Get("/app/layer/")) .AddEntryRecursive(testFile, AbsoluteUnixPath.Get("/app/fileA")) .Build(); ImmutableHashSet <LayerEntry> expectedLayerEntries = ImmutableHashSet.Create( DefaultLayerEntry(testDirectory, AbsoluteUnixPath.Get("/app/layer/")), DefaultLayerEntry(testDirectory.Resolve("a"), AbsoluteUnixPath.Get("/app/layer/a/")), DefaultLayerEntry( testDirectory.Resolve("a/b"), AbsoluteUnixPath.Get("/app/layer/a/b/")), DefaultLayerEntry( testDirectory.Resolve("a/b/bar"), AbsoluteUnixPath.Get("/app/layer/a/b/bar/")), DefaultLayerEntry(testDirectory.Resolve("c/"), AbsoluteUnixPath.Get("/app/layer/c")), DefaultLayerEntry( testDirectory.Resolve("c/cat/"), AbsoluteUnixPath.Get("/app/layer/c/cat")), DefaultLayerEntry(testDirectory.Resolve("foo"), AbsoluteUnixPath.Get("/app/layer/foo")), DefaultLayerEntry(testFile, AbsoluteUnixPath.Get("/app/fileA"))); CollectionAssert.AreEquivalent( expectedLayerEntries, ImmutableHashSet.CreateRange(layerConfiguration.LayerEntries)); }
public void SetUp() { fakeDependenciesLayerConfiguration = MakeLayerConfiguration( "core/application/dependencies", EXTRACTION_PATH_ROOT.Resolve("libs")); fakeSnapshotDependenciesLayerConfiguration = MakeLayerConfiguration( "core/application/snapshot-dependencies", EXTRACTION_PATH_ROOT.Resolve("libs")); fakeResourcesLayerConfiguration = MakeLayerConfiguration( "core/application/resources", EXTRACTION_PATH_ROOT.Resolve("resources")); fakeClassesLayerConfiguration = MakeLayerConfiguration("core/application/classes", EXTRACTION_PATH_ROOT.Resolve("classes")); fakeExtraFilesLayerConfiguration = LayerConfiguration.CreateBuilder() .AddEntry( Paths.Get(TestResources.GetResource("core/fileA").ToURI()), EXTRA_FILES_LAYER_EXTRACTION_PATH.Resolve("fileA")) .AddEntry( Paths.Get(TestResources.GetResource("core/fileB").ToURI()), EXTRA_FILES_LAYER_EXTRACTION_PATH.Resolve("fileB")) .Build(); emptyLayerConfiguration = LayerConfiguration.CreateBuilder().Build(); cache = LayersCache.WithDirectory(temporaryFolder.NewFolder().ToPath()); Mock.Get(mockBuildConfiguration).Setup(m => m.GetEventHandlers()).Returns(mockEventHandlers); Mock.Get(mockBuildConfiguration).Setup(m => m.GetApplicationLayersCache()).Returns(cache); }
public TransformTemplate(ILayerConfiguration local) { version = local.Version.ToString(); foreach (var layer in local.Layers) { layers.Add(layer.Name, (IEnumerable <Context>)layer.Contexts); } }
public void TestAddEntryRecursive_permissionsAndTimestamps() { SystemPath testDirectory = TestResources.GetResource("core/layer"); SystemPath testFile = TestResources.GetResource("core/fileA"); FilePermissions permissions1 = FilePermissions.FromOctalString("111"); FilePermissions permissions2 = FilePermissions.FromOctalString("777"); Instant timestamp1 = Instant.FromUnixTimeSeconds(123); Instant timestamp2 = Instant.FromUnixTimeSeconds(987); FilePermissions permissionsProvider(SystemPath _, AbsoluteUnixPath destination) => destination.ToString().StartsWith("/app/layer/a", StringComparison.Ordinal) ? permissions1 : permissions2; Instant timestampProvider(SystemPath _, AbsoluteUnixPath destination) => destination.ToString().StartsWith("/app/layer/a", StringComparison.Ordinal) ? timestamp1 : timestamp2; ILayerConfiguration layerConfiguration = LayerConfiguration.CreateBuilder() .AddEntryRecursive( testDirectory, AbsoluteUnixPath.Get("/app/layer/"), permissionsProvider, timestampProvider) .AddEntryRecursive( testFile, AbsoluteUnixPath.Get("/app/fileA"), permissionsProvider, timestampProvider) .Build(); ImmutableHashSet <LayerEntry> expectedLayerEntries = ImmutableHashSet.Create( new LayerEntry( testDirectory, AbsoluteUnixPath.Get("/app/layer/"), permissions2, timestamp2), new LayerEntry( testDirectory.Resolve("a"), AbsoluteUnixPath.Get("/app/layer/a/"), permissions1, timestamp1), new LayerEntry( testDirectory.Resolve("a/b"), AbsoluteUnixPath.Get("/app/layer/a/b/"), permissions1, timestamp1), new LayerEntry( testDirectory.Resolve("a/b/bar"), AbsoluteUnixPath.Get("/app/layer/a/b/bar/"), permissions1, timestamp1), new LayerEntry( testDirectory.Resolve("c/"), AbsoluteUnixPath.Get("/app/layer/c"), permissions2, timestamp2), new LayerEntry( testDirectory.Resolve("c/cat/"), AbsoluteUnixPath.Get("/app/layer/c/cat"), permissions2, timestamp2), new LayerEntry( testDirectory.Resolve("foo"), AbsoluteUnixPath.Get("/app/layer/foo"), permissions2, timestamp2), new LayerEntry(testFile, AbsoluteUnixPath.Get("/app/fileA"), permissions2, timestamp2)); CollectionAssert.AreEquivalent( expectedLayerEntries, ImmutableHashSet.CreateRange(layerConfiguration.LayerEntries)); }
/** * Adds a layer (defined by a {@link LayerConfiguration}). * * @param layerConfiguration the {@link LayerConfiguration} * @return this */ public FibContainerBuilder AddLayer(ILayerConfiguration layerConfiguration) { layerConfigurations.Add(layerConfiguration); return(this); }