示例#1
0
    public void RemoveFromQueue_WhenItemExists()
    {
        var job = new HangfireJob
        {
            InvocationData = InvocationDataStub,
            QueuedJobs     = new List <HangfireQueuedJob>
            {
                new HangfireQueuedJob
                {
                    Queue     = "queue",
                    FetchedAt = DateTime.UtcNow,
                },
            },
        };

        UseContextSavingChanges(context => context.Add(job));
        using var instance = new EFCoreFetchedJob(Storage, job.QueuedJobs.Single());

        instance.RemoveFromQueue();

        UseContext(context =>
        {
            Assert.Single(context.Set <HangfireJob>());
            Assert.Empty(context.Set <HangfireQueuedJob>());
        });
        Assert.True(Assert.IsType <bool>(
                        instance.GetFieldValue("_completed")));
        Assert.False(Assert.IsType <bool>(
                         instance.GetFieldValue("_disposed")));
    }
示例#2
0
    public void Ctor_CreatesInstance()
    {
        var queuedJob = new HangfireQueuedJob
        {
            Id    = 1,
            JobId = 2,
            Queue = "queue",
        };

        using var instance = new EFCoreFetchedJob(Storage, queuedJob);

        Assert.False(Assert.IsType <bool>(
                         instance.GetFieldValue("_disposed")));
        Assert.False(Assert.IsType <bool>(
                         instance.GetFieldValue("_completed")));
        Assert.Same(Storage, Assert.IsType <EFCoreStorage>(
                        instance.GetFieldValue("_storage")));
        Assert.Same(queuedJob,
                    Assert.IsType <HangfireQueuedJob>(
                        instance.GetFieldValue("_queuedJob")));
        Assert.Equal(queuedJob.Id, instance.Id);
        Assert.Equal(queuedJob.JobId, instance.JobId);
        Assert.Equal(queuedJob.Queue, instance.Queue);
        Assert.Equal
            (queuedJob.JobId.ToString(CultureInfo.InvariantCulture),
            ((IFetchedJob)instance).JobId);
    }
示例#3
0
    public void RemoveFromQueue_WhenItemAlreadyRemoved()
    {
        var item = new HangfireQueuedJob
        {
            Id        = 1,
            Queue     = "queue",
            FetchedAt = DateTime.UtcNow,
        };

        using var instance = new EFCoreFetchedJob(Storage, item);

        instance.RemoveFromQueue();

        UseContext(context => Assert.Empty(context.Set <HangfireQueuedJob>()));
        Assert.True(Assert.IsType <bool>(
                        instance.GetFieldValue("_completed")));
        Assert.False(Assert.IsType <bool>(
                         instance.GetFieldValue("_disposed")));
    }