public void Setup()
 {
     this.logger = new TestLogger();
     this.configurationService           = new TestOutboundSyncConfigurationService();
     this.crmService                     = new TestCrmService();
     this.jwtService                     = new TestJwtService();
     this.requestPayloadCreator          = new TestRequestPayloadCreator();
     this.outboundSynchronisationService = new OutboundSynchronisationDataService(this.logger, this.crmService);
 }
示例#2
0
        public void GetNotBeforeTimeTest()
        {
            var expectedResult = "100";

            crmService = new TestCrmService(crmServiceHelper.GetNotBeforeTime);
            outboundSynchronisationDataService = new OutboundSynchronisationDataService(this.logger, this.crmService);
            var actualResult = outboundSynchronisationDataService.GetNotBeforeTime();

            Assert.IsNotNull(actualResult);
            Assert.AreEqual(expectedResult, actualResult);
        }
示例#3
0
        public void GetUpdatedEntityCacheToProcessTest()
        {
            var expectedResult = 5;

            crmService = new TestCrmService(crmServiceHelper.GetUpdatedCacheEntities);
            outboundSynchronisationDataService = new OutboundSynchronisationDataService(this.logger, this.crmService);
            var actualResult = outboundSynchronisationDataService.GetUpdatedEntityCacheToProcess("contact", expectedResult);

            Assert.IsNotNull(actualResult);
            Assert.AreEqual(expectedResult, actualResult.Count);
        }
 public OutboundSynchronisationService(ILogger logger,
                                       IOutboundSynchronisationDataService outboundSynchronisationService,
                                       IJwtService jwtService,
                                       IRequestPayloadCreator requestPayloadCreator,
                                       IOutboundSyncConfigurationService configurationService)
 {
     this.outboundSynchronisationDataService = outboundSynchronisationService;
     this.logger                = logger;
     this.jwtService            = jwtService;
     this.configurationService  = configurationService;
     this.requestPayloadCreator = requestPayloadCreator;
 }
示例#5
0
        public void GetSecretKeyTest()
        {
            var config = ConfigurationManager.AppSettings["privateKeyFileName"];

            Assert.IsNotNull(config);

            var expectedResult = File.ReadAllText(config);

            Assert.IsNotNull(expectedResult);

            crmService = new TestCrmService(crmServiceHelper.GetPrivateKey);
            outboundSynchronisationDataService = new OutboundSynchronisationDataService(this.logger, this.crmService);
            var actualResult = outboundSynchronisationDataService.GetSecretKey();

            Assert.IsNotNull(actualResult);
            Assert.AreEqual(expectedResult, actualResult);
        }
        public OutboundSynchronisationService(ILogger logger,
                                              IOutboundSynchronisationDataService outboundSynchronisationService,
                                              IJwtService jwtService,
                                              IRequestPayloadCreator createRequestPayloadCreator,
                                              IRequestPayloadCreator updateRequestPayloadCreator,
                                              IOutboundSyncConfigurationService configurationService,
                                              IEntityModelDeserializer entityModelDeserializer)
        {
            this.outboundSynchronisationDataService = outboundSynchronisationService;
            this.logger                      = logger;
            this.jwtService                  = jwtService;
            this.configurationService        = configurationService;
            this.createRequestPayloadCreator = createRequestPayloadCreator;
            this.updateRequestPayloadCreator = updateRequestPayloadCreator;
            this.entityModelDeserializer     = entityModelDeserializer;

            RetrySchedule = outboundSynchronisationDataService.GetRetries();
            MaxRetries    = RetrySchedule.Length;
        }
示例#7
0
        public void TestInitialize()
        {
            logger     = A.Fake <ILogger>();
            jwtService = A.Fake <IJwtService>();
            outboundSynchDataService         = A.Fake <IOutboundSynchronisationDataService>();
            createRequestPayloadCreator      = A.Fake <IRequestPayloadCreator>();
            updateRequestPayloadCreator      = A.Fake <IRequestPayloadCreator>();
            outboundSyncConfigurationService = A.Fake <IOutboundSyncConfigurationService>();
            entityModelDeserializer          = A.Fake <IEntityModelDeserializer>();

            A.CallTo(() => outboundSyncConfigurationService.BatchSize).Returns(batchSize);
            A.CallTo(() => outboundSyncConfigurationService.EntityName).Returns(entityName);
            A.CallTo(() => outboundSynchDataService.GetSecretKey()).Returns(secretKey);
            A.CallTo(() => outboundSynchDataService.GetRetries()).Returns(retries);
            A.CallTo(() => outboundSyncConfigurationService.CreateServiceUrl).Returns(createServiceUrl);
            A.CallTo(() => outboundSyncConfigurationService.UpdateServiceUrl).Returns(updateServiceUrl);
            A.CallTo(() => entityModelDeserializer.Deserialize(A <string> ._)).Returns(
                new Crm.Common.IntegrationLayer.Model.EntityModel
            {
                Fields = new List <Crm.Common.IntegrationLayer.Model.Field>
                {
                    new Crm.Common.IntegrationLayer.Model.Field
                    {
                        Name  = Tc.Crm.Common.Constants.Attributes.Customer.FirstName,
                        Type  = Crm.Common.IntegrationLayer.Model.FieldType.String,
                        Value = "Name"
                    }
                }
            });

            outboundSynchService = new OutboundSynchronisationService(
                logger,
                outboundSynchDataService,
                jwtService,
                createRequestPayloadCreator,
                updateRequestPayloadCreator,
                outboundSyncConfigurationService,
                entityModelDeserializer);
        }
示例#8
0
 public OutboundSynchronisationService(ILogger logger, IOutboundSynchronisationDataService outboundSynchronisationService, IConfigurationService configurationService)
 {
     this.outboundSynchronisationDataService = outboundSynchronisationService;
     this.logger = logger;
     this.configurationService = configurationService;
 }