Пример #1
0
        public void StartChecksumTimer()
        {
            var method = GetType().GetMethod("RegenerateChecksum");

            EventHandler events = (sender, eventArgs) =>
            {
                method.Invoke(this, new[] { sender, eventArgs });
            };

            foreach (var eventName in _events)
            {
                Event.Subscribe(eventName, events);
            }

            Timer t = new Timer(500);

            t.Elapsed += (sender, e) =>
            {
                if (ContentMigrationRegistration.Root != null)
                {
                    if ((_checksumRefreshQueued || _timeSinceLastChecksumRefresh > 120000) && !_checksumRefreshing)
                    {
                        _checksumRefreshing           = true;
                        _timeSinceLastChecksumRefresh = 0;
                        var newChecksum = new ChecksumGenerator().Generate(ContentMigrationRegistration.Root.Nodes.Select(x => new ID(x.Id)).ToList(), "master");
                        _checksum              = newChecksum ?? _checksum;
                        _checksumRefreshing    = false;
                        _checksumRefreshQueued = false;
                    }
                    _timeSinceLastChecksumRefresh += 500;
                }
            };
            t.Start();
        }
Пример #2
0
        public void Given91685876_ReturnChecksum0()
        {
            var no        = @"91685876";
            var generator = new ChecksumGenerator();

            var result = generator.GenerateChecksum(no);

            result.Should().Be(0);
        }
Пример #3
0
        public void Given99772564_ReturnChecksum6()
        {
            var no        = @"99772564";
            var generator = new ChecksumGenerator();

            var result = generator.GenerateChecksum(no);

            result.Should().Be(6);
        }
Пример #4
0
        public void Given94357453_ReturnChecksum7()
        {
            var no        = @"94357453";
            var generator = new ChecksumGenerator();

            var result = generator.GenerateChecksum(no);

            result.Should().Be(7);
        }
        public void GenerateTest()
        {
            //Arrange
            _checksumGenerator = new ChecksumGenerator();

            //Act
            var result = _checksumGenerator.Generate("");

            //Assert
            Assert.Equal("E3-B0-C4-42-98-FC-1C-14-9A-FB-F4-C8-99-6F-B9-24-27-AE-41-E4-64-9B-93-4C-A4-95-99-1B-78-52-B8-55", result);
        }
Пример #6
0
        public void Given991781544_ReturnEmptyString()
        {
            var completeOrgNum         = @"991781544";
            var orgNumWithouthChecksum = completeOrgNum.Substring(0, completeOrgNum.Length - 1);

            var generator = new ChecksumGenerator();
            var checksum  = generator.GenerateChecksum(orgNumWithouthChecksum);
            var result    = generator.ValidateChecksum(completeOrgNum, checksum);

            result.Should().Be("");
        }
        public void Generate_ShouldGenerateValidChecksum_ForCallWithQuery()
        {
            // Arrange
            string callName = "create";
            string query    = "name=Test+Meeting&meetingID=abc123&attendeePW=111222&moderatorPW=333444";

            // Act
            string checksum = ChecksumGenerator.Generate(callName, _secret, query);

            // Assert
            Assert.Equal("1fcbb0c4fc1f039f73aa6d697d2db9ba7f803f17", checksum);
        }
Пример #8
0
        public void StartChecksumTimer(bool manualChecksumOnly)
        {
            if (!manualChecksumOnly)
            {
                var method = GetType().GetMethod("RegenerateChecksum");

                EventHandler events = (sender, eventArgs) =>
                {
                    method.Invoke(this, new[] { sender, eventArgs });
                };
                foreach (var eventName in _events)
                {
                    Event.Subscribe(eventName, events);
                }
            }

            Timer t = new Timer(500);

            t.Elapsed += (sender, e) =>
            {
                if (ContentMigrationRegistration.Root != null)
                {
                    if ((_checksumRefreshQueued || (_timeSinceLastChecksumRefresh > 120000 && !manualChecksumOnly)) && !ChecksumRefreshing)
                    {
                        ChecksumRefreshing = true;
                        try
                        {
                            _timeSinceLastChecksumRefresh = 0;
                            var newChecksum = new ChecksumGenerator().Generate(ContentMigrationRegistration.Root.Nodes.Select(x => new ID(x.Id)).ToList(), "master");
                            LastTimeRan            = DateTime.Now;
                            _checksum              = newChecksum ?? _checksum;
                            _checksumRefreshQueued = false;
                        }
                        catch (Exception ex)
                        {
                            Log.Error("Problem regenerating checksum", ex, this);
                        }
                        finally
                        {
                            ChecksumRefreshing = false;
                        }
                    }
                    _timeSinceLastChecksumRefresh += 500;
                }
            };
            t.Start();
        }
Пример #9
0
        private string ConstructUrl(string baseUrl, string secret, string callName, string query)
        {
            var checksum = ChecksumGenerator.Generate(callName, secret, query);

            return($"{baseUrl}/api/{callName}?{query}&checksum={checksum}");
        }