public void SetUp()
        {
            var factory           = new DomainEventFactory();
            var definitionService = new EventDefinitionService(new NullLog());

            definitionService.Load(typeof(ThingyPingEvent));

            _serializer = new EventJsonSerializer(new JsonSerializer(), definitionService, factory);
        }
Exemplo n.º 2
0
        public void UnicodeEvents()
        {
            // Arrange
            var eventDefinitionService = new EventDefinitionService(new NullLog());

            // Act
            Action action = () => eventDefinitionService.Load(typeof(Püng1Event));

            // Assert
            action.Should().NotThrow();
        }
Exemplo n.º 3
0
        public void SetUp()
        {
            var factory           = new DomainEventFactory();
            var definitionService = new EventDefinitionService(
                Mock <ILogger <EventDefinitionService> >(),
                Mock <ILoadedVersionedTypes>());

            definitionService.Load(typeof(ThingyPingEvent));

            _serializer = new EventJsonSerializer(new JsonSerializer(), definitionService, factory);
        }
Exemplo n.º 4
0
        public void UnicodeEvents()
        {
            // Arrange
            var eventDefinitionService = new EventDefinitionService(
                Mock <ILogger <EventDefinitionService> >(),
                Mock <ILoadedVersionedTypes>());

            // Act
            Action action = () => eventDefinitionService.Load(typeof(Püng1Event));

            // Assert
            action.Should().NotThrow();
        }
        private EventStoreBase CreateStore()
        {
            var aggregateFactory  = Mock.Of <IAggregateFactory>();
            var resolver          = Mock.Of <IResolver>();
            var metadataProviders = Enumerable.Empty <IMetadataProvider>();
            var snapshotStore     = Mock.Of <ISnapshotStore>();
            var log               = new NullLog();
            var factory           = new DomainEventFactory();
            var persistence       = new InMemoryEventPersistence(log);
            var upgradeManager    = new EventUpgradeManager(log, resolver);
            var definitionService = new EventDefinitionService(log);

            definitionService.Load(typeof(ThingyPingEvent));
            var serializer = new EventJsonSerializer(new JsonSerializer(), definitionService, factory);

            var store = new EventStoreBase(log, aggregateFactory,
                                           serializer, upgradeManager, metadataProviders,
                                           persistence, snapshotStore);

            return(store);
        }
Exemplo n.º 6
0
        private EventStoreBase CreateStore()
        {
            var aggregateFactory  = Mock <IAggregateFactory>();
            var serviceProvider   = Mock <IServiceProvider>();
            var metadataProviders = Enumerable.Empty <IMetadataProvider>();
            var snapshotStore     = Mock <ISnapshotStore>();
            var factory           = new DomainEventFactory();
            var persistence       = new InMemoryEventPersistence(Logger <InMemoryEventPersistence>());
            var upgradeManager    = new EventUpgradeManager(Logger <EventUpgradeManager>(), serviceProvider);
            var definitionService = new EventDefinitionService(Logger <EventDefinitionService>(), Mock <ILoadedVersionedTypes>());

            definitionService.Load(typeof(ThingyPingEvent));
            var serializer = new EventJsonSerializer(new JsonSerializer(), definitionService, factory);

            var store = new EventStoreBase(
                Logger <EventStoreBase>(),
                aggregateFactory,
                serializer, upgradeManager, metadataProviders,
                persistence, snapshotStore);

            return(store);
        }
Exemplo n.º 7
0
        private void Signal <TAggregateEvent>(TAggregateEvent aggregateEvent, IMetadata metadata = null)
            where TAggregateEvent : IAggregateEvent <TestAggregate, TestAggregateId>
        {
            if (aggregateEvent == null)
            {
                throw new ArgumentNullException(nameof(aggregateEvent));
            }

            EventDefinitionService.Load(aggregateEvent.GetType());
            var eventDefinition         = EventDefinitionService.GetDefinition(aggregateEvent.GetType());
            var aggregateSequenceNumber = Version;
            var eventId = EventId.NewDeterministic(
                GuidFactories.Deterministic.Namespaces.Events,
                $"{Id.Value}-v{aggregateSequenceNumber}");
            var now           = DateTimeOffset.UtcNow;
            var eventMetadata = new Metadata
            {
                Timestamp = now,
                AggregateSequenceNumber = aggregateSequenceNumber,
                AggregateName           = Name.Value,
                AggregateId             = Id.Value,
                EventId      = eventId,
                EventName    = eventDefinition.Name,
                EventVersion = eventDefinition.Version
            };

            eventMetadata.Add(MetadataKeys.TimestampEpoch, now.ToUnixTime().ToString());
            if (metadata != null)
            {
                eventMetadata.AddRange(metadata);
            }

            Logger.Info($"[{Name}] With Id={Id} Commited [{typeof(TAggregateEvent).PrettyPrint()}]");

            var domainEvent = new DomainEvent <TestAggregate, TestAggregateId, TAggregateEvent>(Id, aggregateEvent, eventMetadata, now, Version);

            Publish(domainEvent);
        }