Exemplo n.º 1
0
        /// <inheritdoc />
        public IResult ValidateDomainEvent(DomainEvent domainEvent)
        {
            if (domainEvent is null)
            {
                return(Result.Error("invalid data: null event", ErrorCode.ValidationFailed));
            }

            if (string.IsNullOrWhiteSpace(domainEvent.EventType))
            {
                return(Result.Error("event does not contain EventType", ErrorCode.ValidationFailed));
            }

            var result = domainEvent switch
            {
                ConfigurationBuilt @event => ValidateDomainEvent(@event),
                DefaultEnvironmentCreated @event => ValidateDomainEvent(@event),
                EnvironmentCreated @event => ValidateDomainEvent(@event),
                EnvironmentDeleted @event => ValidateDomainEvent(@event),
                EnvironmentKeysImported @event => ValidateDomainEvent(@event),
                EnvironmentKeysModified @event => ValidateDomainEvent(@event),
                StructureCreated @event => ValidateDomainEvent(@event),
                StructureDeleted @event => ValidateDomainEvent(@event),
                StructureVariablesModified @event => ValidateDomainEvent(@event),
                _ => Result.Error($"DomainEvent '{domainEvent.GetType().Name}' can't be validated; not supported", ErrorCode.ValidationFailed)
            };

            KnownMetrics.EventsValidated.WithLabels(result.IsError ? "Invalid" : "Valid").Inc();

            return(result);
        }
Exemplo n.º 2
0
        private IResult ValidateDomainEvent(ConfigurationBuilt @event)
        {
            var identifierResult = ValidateIdentifier(@event.Identifier);

            if (identifierResult.IsError)
            {
                return(identifierResult);
            }

            return(Result.Success());
        }
        public void MetadataFilled(string envCategory,
                                   string envName,
                                   string structName,
                                   int structVersion,
                                   int version,
                                   DateTime start,
                                   DateTime end)
        {
            var domainEvent = new ConfigurationBuilt(new ConfigurationIdentifier(
                                                         new EnvironmentIdentifier(envCategory, envName),
                                                         new StructureIdentifier(structName, structVersion),
                                                         version),
                                                     start,
                                                     end);

            var metadata = domainEvent.GetMetadata();

            Assert.NotEmpty(metadata.Filters);
        }
        public void GetHashCodeStable(string envCategory,
                                      string envName,
                                      string structName,
                                      int structVersion,
                                      int version,
                                      DateTime start,
                                      DateTime end)
        {
            var domainEvent = new ConfigurationBuilt(new ConfigurationIdentifier(
                                                         new EnvironmentIdentifier(envCategory, envName),
                                                         new StructureIdentifier(structName, structVersion),
                                                         version),
                                                     start,
                                                     end);

            var hashes = Enumerable.Range(0, 1000)
                         .Select(i => domainEvent.GetHashCode())
                         .ToList();

            var example = domainEvent.GetHashCode();

            Assert.True(hashes.All(h => h == example), "hashes.All(h=>h==example)");
        }
        public void NullCheckOperator(string envCategory,
                                      string envName,
                                      string structName,
                                      int structVersion,
                                      int version,
                                      DateTime start,
                                      DateTime end)
        {
            var left = new ConfigurationBuilt(new ConfigurationIdentifier(
                                                  new EnvironmentIdentifier(envCategory, envName),
                                                  new StructureIdentifier(structName, structVersion),
                                                  version),
                                              start,
                                              end);

            var right = new ConfigurationBuilt(new ConfigurationIdentifier(
                                                   new EnvironmentIdentifier(envCategory, envName),
                                                   new StructureIdentifier(structName, structVersion),
                                                   version),
                                               start,
                                               end);

            Assert.True(left == right, "left == right");
        }
        public void Equality(string envCategory,
                             string envName,
                             string structName,
                             int structVersion,
                             int version,
                             DateTime start,
                             DateTime end)
        {
            var left = new ConfigurationBuilt(new ConfigurationIdentifier(
                                                  new EnvironmentIdentifier(envCategory, envName),
                                                  new StructureIdentifier(structName, structVersion),
                                                  version),
                                              start,
                                              end);

            var right = new ConfigurationBuilt(new ConfigurationIdentifier(
                                                   new EnvironmentIdentifier(envCategory, envName),
                                                   new StructureIdentifier(structName, structVersion),
                                                   version),
                                               start,
                                               end);

            Assert.True(left.Equals(right), "left.Equals(right)");
        }