File: web_extesion_test.rb

package info (click to toggle)
ruby-sidekiq-cron 0.4.2-6
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 444 kB
  • ctags: 118
  • sloc: ruby: 1,463; sh: 8; makefile: 3
file content (89 lines) | stat: -rw-r--r-- 2,191 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
require './test/test_helper'

def app
  Sidekiq::Web
end

describe 'Cron web' do
  include Rack::Test::Methods

  before do
    Sidekiq.redis = REDIS
    Sidekiq.redis {|c| c.flushdb }

    #clear all previous saved data from redis
    Sidekiq.redis do |conn|
      conn.keys("cron_job*").each do |key|
        conn.del(key)
      end
    end

    @args = {
      name: "TestNameOfCronJob",
      cron: "*/2 * * * *",
      klass: "CronTestClass"
    }

  end

  it 'display cron web' do
    get '/cron'
    assert_equal 200, last_response.status
  end

  it 'display cron web with message - no cron jobs' do
    get '/cron'
    assert last_response.body.include?('No cron jobs found')
  end

  it 'display cron web with cron jobs table' do
    Sidekiq::Cron::Job.create(@args)
    get '/cron'
    assert_equal 200, last_response.status
    refute last_response.body.include?('No cron jobs found')
    assert last_response.body.include?('table')
    assert last_response.body.include?("TestNameOfCronJob")
  end

  describe "work with cron job" do

    before do
      @job = Sidekiq::Cron::Job.new(@args.merge(status: "enabled"))
      @job.save
      @name = "TestNameOfCronJob"
    end

#    it "disable and enable cron job" do
#      post "/cron/#{@name}/disable"
#      assert_equal Sidekiq::Cron::Job.find(@name).status, "disabled"

#      post "/cron/#{@name}/enable"
#      assert_equal Sidekiq::Cron::Job.find(@name).status, "enabled"
#    end

#    it "enqueue job" do
#      Sidekiq.redis do |conn|
#       assert_equal 0, conn.llen("queue:default"), "Queue should have no jobs"
#      end
#
#      post "/cron/#{@name}/enque"
#
#      Sidekiq.redis do |conn|
#        assert_equal 1, conn.llen("queue:default"), "Queue should have 1 job"
#      end

#      #should enqueue more times
#      post "/cron/#{@name}/enque"

#      Sidekiq.redis do |conn|
#        assert_equal 2, conn.llen("queue:default"), "Queue should have 2 job"
#      end
#    end

#    it "destroy job" do
#      assert_equal Sidekiq::Cron::Job.all.size, 1, "Should have 1 job"
#      post "/cron/#{@name}/delete"
#      assert_equal Sidekiq::Cron::Job.all.size, 0, "Should have zero jobs"
#    end
  end
end