mobilize-base 1.378 → 1.379
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/mobilize-base/models/job.rb +1 -15
- data/lib/mobilize-base/version.rb +1 -1
- data/mobilize-base.gemspec +2 -0
- data/test/fixtures/is_due.yml +30 -0
- data/test/unit/mobilize-base_test.rb +35 -23
- metadata +20 -4
|
@@ -125,22 +125,8 @@ module Mobilize
|
|
|
125
125
|
else
|
|
126
126
|
return false
|
|
127
127
|
end
|
|
128
|
-
elsif unit == "day_of_week"
|
|
129
|
-
if curr_time.wday==number and (last_comp_time.nil? or last_comp_time.to_date != curr_time.to_date)
|
|
130
|
-
if mark
|
|
131
|
-
#check if it already ran today
|
|
132
|
-
last_mark_time = Time.at_marks_ago(1,"day",mark)
|
|
133
|
-
if last_comp_time < last_mark_time
|
|
134
|
-
return true
|
|
135
|
-
else
|
|
136
|
-
return false
|
|
137
|
-
end
|
|
138
|
-
else
|
|
139
|
-
return true
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
128
|
elsif unit == "day_of_month"
|
|
143
|
-
if curr_time.day==number and (last_comp_time.nil? or last_comp_time.to_date != curr_time.to_date)
|
|
129
|
+
if curr_time.day==number.to_i and (last_comp_time.nil? or last_comp_time.to_date != curr_time.to_date)
|
|
144
130
|
if mark
|
|
145
131
|
#check if it already ran today
|
|
146
132
|
last_mark_time = Time.at_marks_ago(1,"day",mark)
|
data/mobilize-base.gemspec
CHANGED
data/test/fixtures/is_due.yml
CHANGED
|
@@ -89,3 +89,33 @@
|
|
|
89
89
|
parent: {completed_at: Time.now.utc - 1.second}
|
|
90
90
|
completed_at: Time.now.utc
|
|
91
91
|
expected: false
|
|
92
|
+
- name: day_of_month
|
|
93
|
+
active: true
|
|
94
|
+
trigger: 'every 1.day_of_month'
|
|
95
|
+
status: ""
|
|
96
|
+
stage1: gsheet.method source:"source", target:"target"
|
|
97
|
+
now: Time.utc(2013,9,1)
|
|
98
|
+
expected: true
|
|
99
|
+
- name: not_day_of_month
|
|
100
|
+
active: true
|
|
101
|
+
trigger: 'every 1.day_of_month'
|
|
102
|
+
status: ""
|
|
103
|
+
stage1: gsheet.method source:"source", target:"target"
|
|
104
|
+
now: Time.utc(2013,9,2)
|
|
105
|
+
expected: false
|
|
106
|
+
- name: day_of_month_aft0100_comp_1monthago
|
|
107
|
+
active: true
|
|
108
|
+
trigger: 'every 1.day_of_month after 01:00'
|
|
109
|
+
status: ""
|
|
110
|
+
stage1: gsheet.method source:"source", target:"target"
|
|
111
|
+
now: Time.utc(2013,9,1,1,30)
|
|
112
|
+
completed_at: Time.utc(2013,8,1,1,15)
|
|
113
|
+
expected: true
|
|
114
|
+
- name: day_of_month_aft0100_comp0115
|
|
115
|
+
active: true
|
|
116
|
+
trigger: 'every 1.day_of_month after 01:00'
|
|
117
|
+
status: ""
|
|
118
|
+
stage1: gsheet.method source:"source", target:"target"
|
|
119
|
+
now: Time.utc(2013,9,1,1,30)
|
|
120
|
+
completed_at: Time.utc(2013,9,1,1,15)
|
|
121
|
+
expected: false
|
|
@@ -1,34 +1,46 @@
|
|
|
1
1
|
require 'test_helper'
|
|
2
|
+
require 'mocha/setup'
|
|
3
|
+
|
|
2
4
|
class TestUnit < MiniTest::Unit::TestCase
|
|
3
|
-
def
|
|
5
|
+
def self.test_order
|
|
6
|
+
:sorted
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def self.setup_test
|
|
4
10
|
TestHelper.restart_test_redis
|
|
5
11
|
TestHelper.drop_test_db
|
|
6
12
|
end
|
|
7
13
|
|
|
8
|
-
|
|
9
|
-
def test_is_due
|
|
14
|
+
def self.define_tests(fixture)
|
|
10
15
|
u = TestHelper.owner_user
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
TestHelper.load_fixture(fixture).each_with_index do |jh, i|
|
|
17
|
+
name = "%03d_%s" % [i, jh['name']]
|
|
18
|
+
define_method(:"test_#{name}") do
|
|
19
|
+
job_path = "#{u.runner.path}/#{jh['name']}"
|
|
20
|
+
j = Mobilize::Job.find_or_create_by_path(job_path)
|
|
21
|
+
#update job params
|
|
22
|
+
j.update_from_hash(jh)
|
|
23
|
+
#apply the completed_at, failed at, and parent attributes where appropriate
|
|
24
|
+
if jh['completed_at']
|
|
25
|
+
j.stages.last.update_attributes(:completed_at=>eval(jh['completed_at']))
|
|
26
|
+
end
|
|
27
|
+
if jh['failed_at']
|
|
28
|
+
j.stages.last.update_attributes(:failed_at=>eval(jh['failed_at']))
|
|
29
|
+
end
|
|
30
|
+
if jh['parent']
|
|
31
|
+
j.parent.stages.last.update_attributes(:completed_at=>eval(jh['parent']['completed_at'])) if jh['parent']['completed_at']
|
|
32
|
+
j.parent.stages.last.update_attributes(:failed_at=>eval(jh['parent']['failed_at'])) if jh['parent']['failed_at']
|
|
33
|
+
end
|
|
34
|
+
if jh['now']
|
|
35
|
+
Time.stubs(:now).returns(eval(jh['now']))
|
|
36
|
+
end
|
|
37
|
+
expected = jh['expected']
|
|
38
|
+
#check if is_due
|
|
39
|
+
assert expected == j.is_due?
|
|
20
40
|
end
|
|
21
|
-
if jh['failed_at']
|
|
22
|
-
j.stages.last.update_attributes(:failed_at=>eval(jh['failed_at']))
|
|
23
|
-
end
|
|
24
|
-
if jh['parent']
|
|
25
|
-
j.parent.stages.last.update_attributes(:completed_at=>eval(jh['parent']['completed_at'])) if jh['parent']['completed_at']
|
|
26
|
-
j.parent.stages.last.update_attributes(:failed_at=>eval(jh['parent']['failed_at'])) if jh['parent']['failed_at']
|
|
27
|
-
end
|
|
28
|
-
expected = jh['expected']
|
|
29
|
-
#check if is_due
|
|
30
|
-
puts "checking #{j.name}"
|
|
31
|
-
assert expected == j.is_due?
|
|
32
41
|
end
|
|
33
42
|
end
|
|
43
|
+
|
|
44
|
+
setup_test
|
|
45
|
+
define_tests("is_due")
|
|
34
46
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mobilize-base
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.379'
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2013-09-
|
|
13
|
+
date: 2013-09-23 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rake
|
|
@@ -156,6 +156,22 @@ dependencies:
|
|
|
156
156
|
- - '='
|
|
157
157
|
- !ruby/object:Gem::Version
|
|
158
158
|
version: 3.1.1
|
|
159
|
+
- !ruby/object:Gem::Dependency
|
|
160
|
+
name: mocha
|
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
|
162
|
+
none: false
|
|
163
|
+
requirements:
|
|
164
|
+
- - ! '>='
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0'
|
|
167
|
+
type: :development
|
|
168
|
+
prerelease: false
|
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
170
|
+
none: false
|
|
171
|
+
requirements:
|
|
172
|
+
- - ! '>='
|
|
173
|
+
- !ruby/object:Gem::Version
|
|
174
|
+
version: '0'
|
|
159
175
|
description: ! "Manage your organization's workflows entirely through Google Docs
|
|
160
176
|
and irb.\n Mobilize schedules jobs, queues workers, sends failure
|
|
161
177
|
notifications, and\n integrates mobilize-hadoop, -http, -mysql,
|
|
@@ -237,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
237
253
|
version: '0'
|
|
238
254
|
segments:
|
|
239
255
|
- 0
|
|
240
|
-
hash: -
|
|
256
|
+
hash: -754745545664310301
|
|
241
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
258
|
none: false
|
|
243
259
|
requirements:
|
|
@@ -246,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
246
262
|
version: '0'
|
|
247
263
|
segments:
|
|
248
264
|
- 0
|
|
249
|
-
hash: -
|
|
265
|
+
hash: -754745545664310301
|
|
250
266
|
requirements: []
|
|
251
267
|
rubyforge_project: mobilize-base
|
|
252
268
|
rubygems_version: 1.8.23
|