示例#1
0
        public void Insert_ShouldHaveCount_1()
        {
            // Arrange
            var job = TestJob.Create(123);

            // Act
            _repository.Insert(job);
            var jobs = _repository.Get();

            // Assert
            jobs.Should().HaveCount(1);
        }
示例#2
0
        public void SQLiteJobRepository_Insert_DBShouldContainOneRecord()
        {
            // Arrange
            var expected = TestJob.Create(123);

            // Act
            _repository.Insert(expected);
            var actual = _repository.Get <TestJob>(expected.JobName);

            // Assert
            actual.Should().BeEquivalentTo(expected);
        }
示例#3
0
        public void TryGetJob_EnqueueJob_ShouldBeTrue()
        {
            // Arrange
            var job   = TestJob.Create();
            var queue = CreateJobQueue();

            // Act
            queue.AddLastRange(new[] { job });

            // Assert
            queue.TryGetJob(out var actual).Should().BeTrue();
        }
示例#4
0
        public void SQLiteJobRepository_RemoveByJobName_DBShouldContainOnceRecords()
        {
            // Arrange
            var expected = TestJob.Create(123);

            // Act
            _repository.Insert(expected);

            var actual = _repository.Get().First();

            // Assert
            actual.Should().BeEquivalentTo(expected);
        }
示例#5
0
        public void RemoveByJobName_RepositoryShouldBeEmpty()
        {
            // Arrange
            var job = TestJob.Create(123);

            // Act
            _repository.Insert(job);
            _repository.Remove <TestJob>(job.JobName);
            var jobs = _repository.Get();

            // Assert
            jobs.Should().BeEmpty();
        }
示例#6
0
        public void SQLiteJobRepository_RemoveByJobName_DBShouldNotContainRecords()
        {
            // Arrange
            var job = TestJob.Create(123);

            // Act
            _repository.Insert(job);
            _repository.Remove(job);

            var jobs = _repository.Get();

            // Assert
            jobs.Should().BeEmpty();
        }
示例#7
0
        public void DeleteJob_Count_ShouldBe0()
        {
            // Arrange
            var job   = TestJob.Create();
            var queue = CreateJobQueue();

            // Act
            queue.AddLastRange(new[] { job });
            queue.TryGetJob(out var actual);
            queue.ArchiveJob(actual);

            // Assert
            queue.Count.Should().Be(0);
        }
示例#8
0
        public void SQLiteJobRepository_Update_RecordShouldBeUpdated()
        {
            // Arrange
            var job = TestJob.Create(123);

            // Act
            _repository.Insert(job);
            job.Value = 57;
            _repository.Update(job);

            var result = _repository.Get <TestJob>(job.JobName);

            // Assert
            result.Value.Should().Be(57);
        }
示例#9
0
        public void DeleteJob_Remove_ShouldNeverBeCalled()
        {
            // Arrange
            var job   = new TestJob("test", attempt: AttemptOptions.Infinitely());
            var queue = CreateJobQueue();

            // Act
            queue.AddLastRange(new[] { job });
            queue.TryGetJob(out var actual);
            queue.ArchiveJob(actual);

            // Assert
            queue.Count.Should().Be(0);
            _jobRepository.Verify(x => x.Remove(It.IsAny <Job>()), Times.Once);
        }
示例#10
0
        public void JobQueue_TryGetJob_ShouldBeFalse2()
        {
            // Arrange
            var queue    = CreateJobQueue();
            var expected = TestJob.Create();

            // Act
            queue.AddLast(expected);
            var result = queue.TryGetJob(out var actual);

            // Assert
            result.Should().BeTrue();
            actual.Should().BeEquivalentTo(expected);
            queue.JobsInQueue.IsSet.Should().BeFalse();
        }
示例#11
0
        public void ExecuteJob_Remove_ShouldNeverBeCalled()
        {
            // Arrange
            var job   = TestJob.Create();
            var queue = CreateJobQueue();

            var expected = job.Execution.ExecuteTime;

            // Act
            queue.AddLast(job);
            queue.ExecuteJob(job, default);

            //
            // queue.TryGetJob(out var actual);

            // Assert
            queue.Count.Should().Be(0);

            //actual.Should().BeNull();
            _jobExecutor.Verify(x => x.Execute(job, default), Times.Once);
        }