public void Should_replace_default_storages_by_overrides()
        {
            var config = new EndpointConfiguration("MyEndpoint");

            config.UsePersistence <InMemoryPersistence>();
            config.UsePersistence <FakePersistence, StorageType.Sagas>();
            config.UsePersistence <FakePersistence, StorageType.Subscriptions>();
            var persistences = config.Settings.Get <List <EnabledPersistence> >("PersistenceDefinitions");

            var resultedEnabledPersistences = PersistenceStorageMerger.Merge(persistences, config.Settings);

            Assert.That(resultedEnabledPersistences[0].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.Subscriptions)
            }));
            Assert.That(resultedEnabledPersistences[1].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.Sagas)
            }));
#pragma warning disable 0618
            Assert.That(resultedEnabledPersistences[2].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.GatewayDeduplication), typeof(StorageType.Outbox), typeof(StorageType.Timeouts)
            }));
#pragma warning restore 0618
        }
예제 #2
0
        public void Should_replace_default_storages_by_overrides()
        {
            var settingsHolder = new SettingsHolder();
            var userProvidedEnabledPersistences = new List <EnabledPersistence>
            {
                new EnabledPersistence
                {
                    DefinitionType   = typeof(InMemoryPersistence),
                    SelectedStorages = new List <Type>()
                },
                // user provided overrides
                new EnabledPersistence
                {
                    DefinitionType   = typeof(FakePersistence),
                    SelectedStorages = new List <Type> {
                        typeof(StorageType.Sagas), typeof(StorageType.Subscriptions)
                    }
                }
            };

            var resultedEnabledPersistences = PersistenceStorageMerger.Merge(userProvidedEnabledPersistences, settingsHolder);

            Assert.That(resultedEnabledPersistences[0].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.Sagas), typeof(StorageType.Subscriptions)
            }));
            Assert.That(resultedEnabledPersistences[1].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.GatewayDeduplication), typeof(StorageType.Outbox), typeof(StorageType.Timeouts)
            }));
        }
        public void Should_not_use_other_supported_storages()
        {
            var config = new EndpointConfiguration("MyEndpoint");

            config.UsePersistence <FakePersistence, StorageType.Sagas>();
            var persistences = config.Settings.Get <List <EnabledPersistence> >("PersistenceDefinitions");

            var resultedEnabledPersistences = PersistenceStorageMerger.Merge(persistences, config.Settings);

            Assert.IsFalse(resultedEnabledPersistences.Any(p => p.SelectedStorages.Contains(typeof(StorageType.Subscriptions))));
        }
        public void Should_use_all_storages_supported_by_persistence()
        {
            var config = new EndpointConfiguration("MyEndpoint");

            config.UsePersistence <InMemoryPersistence>();
            var persistences = config.Settings.Get <List <EnabledPersistence> >("PersistenceDefinitions");

            var resultedEnabledPersistences = PersistenceStorageMerger.Merge(persistences, config.Settings);

            Assert.That(resultedEnabledPersistences[0].SelectedStorages, Is.EquivalentTo(StorageType.GetAvailableStorageTypes()));
        }
예제 #5
0
        public void Should_use_all_storages_supported_by_persistence()
        {
            var settingsHolder = new SettingsHolder();
            var userProvidedEnabledPersistences = new List <EnabledPersistence>
            {
                new EnabledPersistence
                {
                    DefinitionType   = typeof(InMemoryPersistence),
                    SelectedStorages = new List <Type>()
                }
            };

            var resultedEnabledPersistences = PersistenceStorageMerger.Merge(userProvidedEnabledPersistences, settingsHolder);

            Assert.That(resultedEnabledPersistences[0].SelectedStorages, Is.EquivalentTo(StorageType.GetAvailableStorageTypes()));
        }
        public void Should_replace_default_storages_by_overrides()
        {
            var config = new EndpointConfiguration("MyEndpoint");

            config.UsePersistence <FakePersistence>();
            config.UsePersistence <FakePersistence2, StorageType.Sagas>();
            config.UsePersistence <FakePersistence2, StorageType.Subscriptions>();
            var persistences = config.Settings.Get <List <EnabledPersistence> >("PersistenceDefinitions");

            var resultedEnabledPersistences = PersistenceStorageMerger.Merge(persistences, config.Settings);

            Assert.That(resultedEnabledPersistences[0].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.Subscriptions)
            }));
            Assert.That(resultedEnabledPersistences[1].SelectedStorages, Is.EquivalentTo(
                            new List <Type> {
                typeof(StorageType.Sagas)
            }));
        }