public void add_configuration_pack_has_to_be_idempotent() { var pack = new DiscoveryActionsConfigurationPack(); var graph = new ConfigGraph(); graph.Add(pack); var count = graph.LogsFor(ConfigurationType.Discovery).Count(); graph.Add(new DiscoveryActionsConfigurationPack()); graph.Add(new DiscoveryActionsConfigurationPack()); graph.Add(new DiscoveryActionsConfigurationPack()); graph.Add(new DiscoveryActionsConfigurationPack()); graph.Add(new DiscoveryActionsConfigurationPack()); graph.LogsFor(ConfigurationType.Discovery).Count() .ShouldEqual(count); }
public void fill_action_puts_the_provenance_in_the_right_order() { var bottle = new AssemblyPackageInfo(Assembly.GetExecutingAssembly()); var graph = new ConfigGraph(); graph.Push(bottle); var extension = new FakeRegistryExtension(); graph.Push(extension); var policy = new UniquePolicy(); graph.Add(policy, ConfigurationType.Policy); graph.LogsFor(ConfigurationType.Policy).Single() .ProvenanceChain.ShouldHaveTheSameElementsAs(new BottleProvenance(bottle), new FubuRegistryExtensionProvenance(extension)); }
public void add_configuration_pak() { var pack = new DiscoveryActionsConfigurationPack(); var graph = new ConfigGraph(); graph.Add(pack); graph.LogsFor(ConfigurationType.Discovery).Each(log => { log.ProvenanceChain.ShouldHaveTheSameElementsAs(new ConfigurationPackProvenance(pack)); }); // Changed the access overrides to settings graph.LogsFor(ConfigurationType.Settings).Any().ShouldBeTrue(); }
public void prepend_provenance() { var graph = new ConfigGraph(); var defaultConfigurationPack = new DefaultConfigurationPack(); graph.Add(defaultConfigurationPack); var p1 = MockRepository.GenerateMock<Provenance>(); var p2 = MockRepository.GenerateMock<Provenance>(); graph.PrependProvenance(new Provenance[]{p1, p2}); graph.LogsFor(ConfigurationType.Conneg).Each(log => { log.ProvenanceChain.ShouldHaveTheSameElementsAs(p1, p2, new ConfigurationPackProvenance(defaultConfigurationPack)); }); graph.LogsFor(ConfigurationType.ModifyRoutes).Each(log => { log.ProvenanceChain.ShouldHaveTheSameElementsAs(p1, p2, new ConfigurationPackProvenance(defaultConfigurationPack)); }); graph.LogsFor(ConfigurationType.InjectNodes).Each(log => { log.ProvenanceChain.ShouldHaveTheSameElementsAs(p1, p2, new ConfigurationPackProvenance(defaultConfigurationPack)); }); graph.LogsFor(ConfigurationType.Attachment).Each(log => { log.ProvenanceChain.ShouldHaveTheSameElementsAs(p1, p2, new ConfigurationPackProvenance(defaultConfigurationPack)); }); }