示例#1
0
        public async Task ParameterConditions()
        {
            var condition1 = new ParameterConditionDto {
                Id = 1, EventSubscriptionId = 99, Operator = ParameterConditionOperator.GreaterOrEqual, ParameterOrder = 1, Value = "10"
            };
            var condition2 = new ParameterConditionDto {
                Id = 2, EventSubscriptionId = 99, Operator = ParameterConditionOperator.LessOrEqual, ParameterOrder = 2, Value = "5"
            };
            var condition3 = new ParameterConditionDto {
                Id = 3, EventSubscriptionId = 100, Operator = ParameterConditionOperator.Equals, ParameterOrder = 1, Value = "11"
            };

            await Fixture.ConfigRepo.ParameterConditions.UpsertAsync(condition1);

            await Fixture.ConfigRepo.ParameterConditions.UpsertAsync(condition2);

            await Fixture.ConfigRepo.ParameterConditions.UpsertAsync(condition3);

            var sub1Conditions = await Fixture.ConfigRepo.ParameterConditions.GetManyAsync(99);

            var sub2Conditions = await Fixture.ConfigRepo.ParameterConditions.GetManyAsync(100);

            Assert.Equal(2, sub1Conditions.Length);
            Assert.Single(sub2Conditions);

            var c1 = sub1Conditions[0];

            Assert.Equal(condition1.Operator, c1.Operator);
            Assert.Equal(condition1.ParameterOrder, c1.ParameterOrder);
            Assert.Equal(condition1.Value, c1.Value);
        }
示例#2
0
        public EventMatcherFactoryTest()
        {
            _mockParameterConditionRepository       = new Mock <IParameterConditionRepository>();
            _mockEventSubscriptionAddressRepository = new Mock <IEventSubscriptionAddressRepository>();
            _mockSubscriberContractRepository       = new Mock <ISubscriberContractRepository>();

            _factory = new EventMatcherFactory(
                _mockParameterConditionRepository.Object,
                _mockEventSubscriptionAddressRepository.Object,
                _mockSubscriberContractRepository.Object);

            _subscriberOneConfig = new SubscriberDto {
                Id = 1
            };
            _contractDto = new SubscriberContractDto
            {
                Id           = 1,
                SubscriberId = _subscriberOneConfig.Id,
                Abi          = TestData.Contracts.StandardContract.Abi,
                Name         = "Transfer"
            };
            _eventSubscriptionConfig = new EventSubscriptionDto
            {
                Id              = 1,
                SubscriberId    = _subscriberOneConfig.Id,
                ContractId      = _contractDto.Id,
                EventSignatures = new[] { TestData.Contracts.StandardContract.TransferEventSignature }.ToList()
            };
            _addressesConfig = new EventSubscriptionAddressDto
            {
                Id                  = 1,
                Address             = "",
                EventSubscriptionId = _eventSubscriptionConfig.Id
            };
            _parameterConditionConfig = new ParameterConditionDto
            {
                Id = 1,
                EventSubscriptionId = _eventSubscriptionConfig.Id,
                ParameterOrder      = 1,
                Operator            = ParameterConditionOperator.Equals,
                Value = "xyz"
            };

            _mockSubscriberContractRepository.Setup(d => d.GetAsync(_subscriberOneConfig.Id, _contractDto.Id)).ReturnsAsync(_contractDto);
            _mockEventSubscriptionAddressRepository.Setup(d => d.GetManyAsync(_eventSubscriptionConfig.Id)).ReturnsAsync(new[] { _addressesConfig });
            _mockParameterConditionRepository.Setup(d => d.GetManyAsync(_eventSubscriptionConfig.Id)).ReturnsAsync(new[] { _parameterConditionConfig });
        }