lazylead 0.3.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.0pdd.yml +4 -1
  3. data/.docs/accuracy.md +107 -0
  4. data/.docs/accuracy_email.jpg +0 -0
  5. data/.docs/accuracy_jira_comment.jpg +0 -0
  6. data/.docs/duedate_expired.md +3 -3
  7. data/.docs/propagate_down.md +4 -4
  8. data/.gitattributes +1 -0
  9. data/.github/dependabot.yml +6 -0
  10. data/.pdd +1 -1
  11. data/.rubocop.yml +6 -0
  12. data/Rakefile +2 -0
  13. data/bin/lazylead +7 -4
  14. data/lazylead.gemspec +5 -4
  15. data/lib/lazylead/exchange.rb +16 -9
  16. data/lib/lazylead/log.rb +30 -8
  17. data/lib/lazylead/model.rb +78 -22
  18. data/lib/lazylead/opts.rb +80 -0
  19. data/lib/lazylead/postman.rb +1 -1
  20. data/lib/lazylead/schedule.rb +18 -17
  21. data/lib/lazylead/smtp.rb +1 -1
  22. data/lib/lazylead/system/jira.rb +55 -14
  23. data/lib/lazylead/system/synced.rb +2 -1
  24. data/lib/lazylead/task/accuracy/accuracy.rb +136 -0
  25. data/lib/lazylead/task/accuracy/affected_build.rb +39 -0
  26. data/lib/lazylead/task/accuracy/attachment.rb +44 -0
  27. data/lib/lazylead/task/accuracy/environment.rb +39 -0
  28. data/lib/lazylead/task/accuracy/logs.rb +40 -0
  29. data/lib/lazylead/task/accuracy/records.rb +45 -0
  30. data/lib/lazylead/task/accuracy/requirement.rb +49 -0
  31. data/lib/lazylead/task/accuracy/servers.rb +50 -0
  32. data/lib/lazylead/task/accuracy/stacktrace.rb +63 -0
  33. data/lib/lazylead/task/accuracy/testcase.rb +75 -0
  34. data/lib/lazylead/task/accuracy/wiki.rb +41 -0
  35. data/lib/lazylead/task/alert.rb +8 -6
  36. data/lib/lazylead/task/confluence_ref.rb +4 -3
  37. data/lib/lazylead/task/echo.rb +22 -0
  38. data/lib/lazylead/task/fix_version.rb +18 -7
  39. data/lib/lazylead/task/missing_comment.rb +7 -5
  40. data/lib/lazylead/task/propagate_down.rb +11 -3
  41. data/lib/lazylead/task/savepoint.rb +1 -1
  42. data/lib/lazylead/task/touch.rb +119 -0
  43. data/lib/lazylead/version.rb +1 -1
  44. data/lib/messages/accuracy.erb +118 -0
  45. data/lib/messages/svn_log.erb +117 -0
  46. data/lib/messages/svn_touch.erb +147 -0
  47. data/license.txt +1 -1
  48. data/readme.md +20 -19
  49. data/test/lazylead/cc_test.rb +2 -2
  50. data/test/lazylead/cli/app_test.rb +12 -12
  51. data/test/lazylead/exchange_test.rb +3 -3
  52. data/test/lazylead/model_test.rb +4 -4
  53. data/test/lazylead/opts_test.rb +70 -0
  54. data/test/lazylead/postman_test.rb +1 -1
  55. data/test/lazylead/smtp_test.rb +1 -1
  56. data/test/lazylead/system/jira_test.rb +65 -1
  57. data/test/lazylead/task/accuracy/accuracy_test.rb +73 -0
  58. data/test/lazylead/task/accuracy/affected_build_test.rb +42 -0
  59. data/test/lazylead/task/accuracy/attachment_test.rb +50 -0
  60. data/test/lazylead/task/accuracy/environment_test.rb +42 -0
  61. data/test/lazylead/task/accuracy/logs_test.rb +78 -0
  62. data/test/lazylead/task/accuracy/records_test.rb +60 -0
  63. data/test/lazylead/task/accuracy/servers_test.rb +66 -0
  64. data/test/lazylead/task/accuracy/stacktrace_test.rb +113 -0
  65. data/test/lazylead/task/accuracy/testcase_test.rb +205 -0
  66. data/test/lazylead/task/accuracy/wiki_test.rb +40 -0
  67. data/test/lazylead/task/assignee_alert_test.rb +2 -2
  68. data/test/lazylead/task/duedate_test.rb +36 -26
  69. data/test/lazylead/task/fix_version_test.rb +9 -6
  70. data/test/lazylead/task/missing_comment_test.rb +11 -9
  71. data/test/lazylead/task/propagate_down_test.rb +4 -2
  72. data/test/lazylead/task/touch_test.rb +88 -0
  73. data/test/test.rb +25 -0
  74. data/upgrades/sqlite/001-install-main-lazylead-tables.sql +1 -5
  75. data/upgrades/sqlite/999.testdata.sql +12 -16
  76. metadata +65 -8
  77. data/.travis.yml +0 -16
@@ -34,8 +34,8 @@ require_relative "../../../lib/lazylead/task/alert"
34
34
 
35
35
  module Lazylead
36
36
  class AssigneeAlertTest < Lazylead::Test
37
- test "issue #154: undefined method to_hash for nil object" do
38
- CLI::App.new(Log::NOTHING, NoSchedule.new).run(
37
+ test "issue #154 undefined method to_hash for nil object" do
38
+ CLI::App.new(Log.new, NoSchedule.new).run(
39
39
  home: ".",
40
40
  sqlite: "test/resources/#{no_ext(__FILE__)}.#{__method__}.db",
41
41
  vcs4sql: "upgrades/sqlite",
@@ -41,10 +41,12 @@ module Lazylead
41
41
  Task::AssigneeAlert.new.run(
42
42
  NoAuthJira.new("https://jira.spring.io"),
43
43
  Postman.new,
44
- "from" => "fake@email.com",
45
- "sql" => "filter=16743",
46
- "subject" => "[DD] PDTN!",
47
- "template" => "lib/messages/due_date_expired.erb"
44
+ Opts.new(
45
+ "from" => "fake@email.com",
46
+ "sql" => "filter=16743",
47
+ "subject" => "[DD] PDTN!",
48
+ "template" => "lib/messages/due_date_expired.erb"
49
+ )
48
50
  )
49
51
  assert_equal 2,
50
52
  Mail::TestMailer.deliveries
@@ -53,7 +55,7 @@ module Lazylead
53
55
  end
54
56
 
55
57
  test "configuration properties merged successfully" do
56
- CLI::App.new(Log::NOTHING, NoSchedule.new).run(
58
+ CLI::App.new(Log.new, NoSchedule.new).run(
57
59
  home: ".",
58
60
  sqlite: "test/resources/#{no_ext(__FILE__)}.#{__method__}.db",
59
61
  vcs4sql: "upgrades/sqlite",
@@ -75,10 +77,12 @@ module Lazylead
75
77
  Task::AssigneeAlert.new.run(
76
78
  NoAuthJira.new("https://jira.spring.io"),
77
79
  Postman.new,
78
- "from" => "fake@email.com",
79
- "sql" => "key in ('STS-3599')",
80
- "subject" => "[DD] HMCHT!",
81
- "template" => "lib/messages/due_date_expired.erb"
80
+ Opts.new(
81
+ "from" => "fake@email.com",
82
+ "sql" => "key in ('STS-3599')",
83
+ "subject" => "[DD] HMCHT!",
84
+ "template" => "lib/messages/due_date_expired.erb"
85
+ )
82
86
  )
83
87
  assert_email "[DD] HMCHT!",
84
88
  %w[STS-3599 2013-11-08 Major Miles\ Parker Use JavaFX WebView]
@@ -89,12 +93,14 @@ module Lazylead
89
93
  Task::Alert.new.run(
90
94
  NoAuthJira.new("https://jira.spring.io"),
91
95
  Postman.new,
92
- "from" => "fake@email.com",
93
- "sql" => "key in ('STS-3599')",
94
- "subject" => "ALRT: Frozen",
95
- "template" => "lib/messages/due_date_expired.erb",
96
- "to" => "big.boss@example.com",
97
- "addressee" => "Boss"
96
+ Opts.new(
97
+ "from" => "fake@email.com",
98
+ "sql" => "key in ('STS-3599')",
99
+ "subject" => "ALRT: Frozen",
100
+ "template" => "lib/messages/due_date_expired.erb",
101
+ "to" => "big.boss@example.com",
102
+ "addressee" => "Boss"
103
+ )
98
104
  )
99
105
  assert_email "ALRT: Frozen",
100
106
  %w[Hi Boss STS-3599 2013-11-08 Major Miles\ Parker Use JavaFX WebView]
@@ -105,13 +111,15 @@ module Lazylead
105
111
  Task::Alert.new.run(
106
112
  NoAuthJira.new("https://jira.spring.io"),
107
113
  Postman.new,
108
- "from" => "fake@email.com",
109
- "sql" => "key in ('STS-3599')",
110
- "subject" => "CC: Watching",
111
- "template" => "lib/messages/due_date_expired.erb",
112
- "to" => "big.boss@example.com",
113
- "addressee" => "Boss",
114
- "cc" => "another.boss@example.com,mom@home.com"
114
+ Opts.new(
115
+ "from" => "fake@email.com",
116
+ "sql" => "key in ('STS-3599')",
117
+ "subject" => "CC: Watching",
118
+ "template" => "lib/messages/due_date_expired.erb",
119
+ "to" => "big.boss@example.com",
120
+ "addressee" => "Boss",
121
+ "cc" => "another.boss@example.com,mom@home.com"
122
+ )
115
123
  )
116
124
  assert_equal %w[another.boss@example.com mom@home.com],
117
125
  Mail::TestMailer.deliveries
@@ -124,10 +132,12 @@ module Lazylead
124
132
  Task::ReporterAlert.new.run(
125
133
  NoAuthJira.new("https://jira.spring.io"),
126
134
  Postman.new,
127
- "from" => "fake@email.com",
128
- "sql" => "filter=16743",
129
- "subject" => "DD Expired!",
130
- "template" => "lib/messages/due_date_expired.erb"
135
+ Opts.new(
136
+ "from" => "fake@email.com",
137
+ "sql" => "filter=16743",
138
+ "subject" => "DD Expired!",
139
+ "template" => "lib/messages/due_date_expired.erb"
140
+ )
131
141
  )
132
142
  assert_equal 2,
133
143
  Mail::TestMailer.deliveries
@@ -26,6 +26,7 @@ require "mail"
26
26
 
27
27
  require_relative "../../test"
28
28
  require_relative "../../../lib/lazylead/smtp"
29
+ require_relative "../../../lib/lazylead/opts"
29
30
  require_relative "../../../lib/lazylead/postman"
30
31
  require_relative "../../../lib/lazylead/task/fix_version"
31
32
 
@@ -36,12 +37,14 @@ module Lazylead
36
37
  Task::FixVersion.new.run(
37
38
  NoAuthJira.new("https://jira.spring.io"),
38
39
  Postman.new,
39
- "to" => "lead@company.com",
40
- "from" => "ll@company.com",
41
- "jql" => "key in ('DATAJDBC-480') and fixVersion is not empty",
42
- "allowed" => "tom,mike,bob",
43
- "subject" => "FixVersion: How dare you?",
44
- "template" => "lib/messages/illegal_fixversion_change.erb"
40
+ Opts.new(
41
+ "to" => "lead@company.com",
42
+ "from" => "ll@company.com",
43
+ "jql" => "key in ('DATAJDBC-480') and fixVersion is not empty",
44
+ "allowed" => "tom,mike,bob",
45
+ "subject" => "FixVersion: How dare you?",
46
+ "template" => "lib/messages/illegal_fixversion_change.erb"
47
+ )
45
48
  )
46
49
  assert_email "FixVersion: How dare you?",
47
50
  %w[DATAJDBC-480 01-Apr-2020 Minor Mark\ Paluch tom,mike,bob EntityInstantiators]
@@ -37,15 +37,17 @@ module Lazylead
37
37
  Task::MissingComment.new.run(
38
38
  NoAuthJira.new("https://jira.spring.io"),
39
39
  Postman.new,
40
- "to" => "lead@company.com",
41
- "addressee" => "Tom",
42
- "from" => "ll@company.com",
43
- "jql" => "key=DATAJDBC-523",
44
- "text" => "ftp.com/demo.avi",
45
- "details" => "reference to <code>ftp.com/demo.avi</code>",
46
- "subject" => "Expected ftp link is missing",
47
- "template" => "lib/messages/missing_comment.erb",
48
- "template_details" => "reference to <a href='file://ftp/path'>ftp</a>"
40
+ Opts.new(
41
+ "to" => "lead@company.com",
42
+ "addressee" => "Tom",
43
+ "from" => "ll@company.com",
44
+ "jql" => "key=DATAJDBC-523",
45
+ "text" => "ftp.com/demo.avi",
46
+ "details" => "reference to <code>ftp.com/demo.avi</code>",
47
+ "subject" => "Expected ftp link is missing",
48
+ "template" => "lib/messages/missing_comment.erb",
49
+ "template_details" => "reference to <a href='file://ftp/path'>ftp</a>"
50
+ )
49
51
  )
50
52
  assert_email "Expected ftp link is missing",
51
53
  %w[DATAJDBC-523 Major Mark\ Paluch https://github.com/spring-projects/spring-data-jdbc/commit/aadbb667ed1d61139d5ac51a06eb3dd1b39316db#diff-510a5041bb8a0575e97fedf105606b83R130]
@@ -66,8 +66,10 @@ module Lazylead
66
66
  Task::PropagateDown.new.run(
67
67
  Fake.new([parent, child]),
68
68
  [],
69
- "jql" => "type=Defect and updated>-1h and has subtasks without fields",
70
- "fields" => "customfield_101,customfield_102"
69
+ Opts.new(
70
+ "jql" => "type=Defect and updated>-1h and subtasks without fields",
71
+ "propagate" => "customfield_101,customfield_102"
72
+ )
71
73
  )
72
74
  assert_entries(
73
75
  {
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The MIT License
4
+ #
5
+ # Copyright (c) 2019-2020 Yurii Dubinka
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"),
9
+ # to deal in the Software without restriction, including without limitation
10
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
11
+ # and/or sell copies of the Software, and to permit persons to whom
12
+ # the Software is furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included
15
+ # in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
23
+ # OR OTHER DEALINGS IN THE SOFTWARE.
24
+
25
+ require "mail"
26
+ require_relative "../../test"
27
+ require_relative "../../../lib/lazylead/smtp"
28
+ require_relative "../../../lib/lazylead/opts"
29
+ require_relative "../../../lib/lazylead/postman"
30
+ require_relative "../../../lib/lazylead/task/touch"
31
+
32
+ module Lazylead
33
+ class SvnTouchTest < Lazylead::Test
34
+ test "important files changed in svn repo" do
35
+ skip "No svn credentials provided" unless env? "svn_touch_user",
36
+ "svn_touch_password"
37
+ skip "No internet connection to riouxsvn.com" unless ping? "riouxsvn.com"
38
+ Lazylead::Smtp.new.enable
39
+ Task::SvnTouch.new.run(
40
+ [],
41
+ Postman.new,
42
+ Opts.new(
43
+ "svn_url" => "https://svn.riouxsvn.com/touch4ll",
44
+ "svn_user" => ENV["svn_touch_user"],
45
+ "svn_password" => ENV["svn_touch_password"],
46
+ "commit_url" => "https://view.commit.com?rev=",
47
+ "user" => "https://user.com?id=",
48
+ "to" => "lead@fake.com",
49
+ "from" => "ll@fake.com",
50
+ "now" => "2020-08-17T00:00:00+01:00",
51
+ "period" => "864000",
52
+ "files" => "189.md,absent.txt",
53
+ "subject" => "[SVN] Important files have been changed!",
54
+ "template" => "lib/messages/svn_touch.erb"
55
+ )
56
+ )
57
+ assert_email "[SVN] Important files have been changed!",
58
+ %w[3 dgroup /189.md Add\ description\ for\ 189\ issue]
59
+ end
60
+ end
61
+
62
+ class SvnLogTest < Lazylead::Test
63
+ test "changes since revision" do
64
+ skip "No svn credentials provided" unless env? "svn_log_user",
65
+ "svn_log_password"
66
+ skip "No internet connection to riouxsvn.com" unless ping? "riouxsvn.com"
67
+ Lazylead::Smtp.new.enable
68
+ Task::SvnLog.new.run(
69
+ [],
70
+ Postman.new,
71
+ Opts.new(
72
+ "from" => "svnlog@test.com",
73
+ "svn_url" => "https://svn.riouxsvn.com/touch4ll",
74
+ "svn_user" => ENV["svn_log_user"],
75
+ "svn_password" => ENV["svn_log_password"],
76
+ "commit_url" => "https://view.commit.com?rev=",
77
+ "user" => "https://user.com?id=",
78
+ "to" => "lead@fake.com",
79
+ "since_rev" => "1",
80
+ "subject" => "[SVN] Changed since rev1",
81
+ "template" => "lib/messages/svn_log.erb"
82
+ )
83
+ )
84
+ assert_email_line "[SVN] Changed since rev1",
85
+ %w[r2 by dgroup at 2020-08-16]
86
+ end
87
+ end
88
+ end
@@ -110,5 +110,30 @@ module Lazylead
110
110
  .first
111
111
  .body.parts.first.body.raw_source
112
112
  end
113
+
114
+ # Assert that email sent using 'mail' gem in test mode
115
+ # has expected subject and line with expected words
116
+ # @todo #/DEV Gem 'mail' sends email as a single line, find a way how to add
117
+ # symbol '\n' to each line for email during unit testing.
118
+ def assert_email_line(subject, words)
119
+ words = [words] unless words.respond_to? :each
120
+ mail = Mail::TestMailer.deliveries
121
+ .filter { |m| m.subject.eql? subject }
122
+ .first
123
+ .body.parts.first.body.raw_source
124
+ .split("\n")
125
+ .reject(&:blank?)
126
+ assert mail.any? { |line| words.all? { |w| line.include? w } },
127
+ "Words '#{words.join(',')}' wasn't found in '#{mail.join('\n')}'"
128
+ end
129
+
130
+ # Ping remote host
131
+ # https://github.com/eitoball/net-ping
132
+ # https://stackoverflow.com/a/35508446/6916890
133
+ # https://rubygems.org/gems/net-ping/versions/2.0.8
134
+ def ping?(host)
135
+ require "net/ping"
136
+ Net::Ping::External.new(host).ping?
137
+ end
113
138
  end
114
139
  end
@@ -46,11 +46,7 @@ create table if not exists tasks
46
46
  (
47
47
  id integer primary key,
48
48
  name text not null,
49
- cron text not null,
50
- -- @todo #/DEV task.cron - add support for non-cron based schedule like at, once, every.
51
- -- More details:
52
- -- https://github.com/jmettraux/rufus-scheduler
53
- -- https://stackoverflow.com/questions/46691666/using-constantize-to-invoke-both-a-class-and-method-from-separate-strings
49
+ schedule text not null,
54
50
  system integer not null,
55
51
  action text not null,
56
52
  team_id integer not null,
@@ -22,23 +22,19 @@
22
22
  * OR OTHER DEALINGS IN THE SOFTWARE.
23
23
  */
24
24
  insert into systems(id, properties)
25
- values (1,
26
- '{"type":"Lazylead::Jira", "username":"", "password":"", "site":"https://jira.spring.io", "context_path":""}'),
27
- (2,
28
- '{"type":"Lazylead::Jira", "username":"${jsi_usr}", "password":"${jsi_psw}", "site":"https://jira.spring.io", "context_path":""}');
25
+ values (1,'{"type":"Lazylead::Jira", "username":"", "password":"", "site":"https://jira.spring.io", "context_path":""}'),
26
+ (2,'{"type":"Lazylead::Jira", "username":"${jsi_usr}", "password":"${jsi_psw}", "site":"https://jira.spring.io", "context_path":""}');
29
27
  insert into teams(id, name, properties)
30
28
  values (1, 'BA squad', '{"from":"basquad@fake.com", "usr":"${usr}"}'),
31
29
  (154, 'Team for issue #154', '{"cc":"lead@fake.com"}');
32
- insert into tasks(name, cron, enabled, id, system, team_id, action, properties)
33
- values ('echo', '* * * * *', 'false', 1, 1, 1, 'Lazylead::Task::Echo', '{}'),
34
- ('expired due date', '* * * * *', 'false', 2, 1, 1,
35
- 'Lazylead::Task::Notification',
36
- '{"sql":"filter=100500","subject":"[DD] PDTN!","template":"lib/messages/due_date_expired.erb"}'),
37
- ('task with cc', '* * * * *', 'false', 3, 1, 1, 'Lazylead::Task::Echo',
38
- '{"cc":"leelakenny@mail.com,maciecrane@mail.com"}'),
39
- ('task', '* * * * *', 'false', 4, 2, 1, 'Lazylead::Task::Echo', '{}'),
30
+ insert into tasks(name, schedule, enabled, id, system, team_id, action, properties)
31
+ values ('echo', 'cron:* * * * *', 'false', 1, 1, 1, 'Lazylead::Task::Echo', '{}'),
32
+ ('expired due date', 'cron:* * * * *', 'false', 2, 1, 1,'Lazylead::Task::Notification','{"sql":"filter=100500","subject":"[DD] PDTN!","template":"lib/messages/due_date_expired.erb"}'),
33
+ ('task with cc', 'cron:* * * * *', 'false', 3, 1, 1, 'Lazylead::Task::Echo','{"cc":"leelakenny@mail.com,maciecrane@mail.com"}'),
34
+ ('task', 'cron:* * * * *', 'false', 4, 2, 1, 'Lazylead::Task::Echo', '{}'),
40
35
  ('pman', '', '', 5, 2, 1, '', '{"postman":"Lazylead::Postman"}'),
41
- ('issue 154', '* * * * *', 'false', 154, 1, 154, 'Lazylead::Task::AssigneeAlert', '{}'),
42
- ('task with complex cc', '* * * * *', 'false', 165, 1, 1, 'Lazylead::Task::Echo',
43
- '{"cc":{"type":"Lazylead::PredefinedCC","opts": {"jvm":"tom@fake.com","jdbc":"mike@fake.com"}}}'),
44
- ('issue 171', '* * * * *', 'false', 171, 1, 1, 'Lazylead::Task::Echo', '{"envkey":"${key171}"}');
36
+ ('issue 154', '', 'false', 154, 1, 154, 'Lazylead::Task::AssigneeAlert', '{}'),
37
+ ('task with complex cc', '', 'false', 165, 1, 1, 'Lazylead::Task::Echo','{"cc":{"type":"Lazylead::PredefinedCC","opts": {"jvm":"tom@fake.com","jdbc":"mike@fake.com"}}}'),
38
+ ('issue 171', '', 'false', 171, 1, 1, 'Lazylead::Task::Echo', '{"envkey":"${key171}"}'),
39
+ ('issue 195', '', 'false', 195, 1, 1, 'Lazylead::Task::Accuracy', '{"key":"value"}'),
40
+ ('issue 130', 'in:0.001s', 'true', 130, 1, 1, 'Lazylead::Task::EchoIO', '{}');
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lazylead
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yurii Dubinka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-19 00:00:00.000000000 Z
11
+ date: 2020-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 2.2.0
89
+ version: 2.3.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 2.2.0
96
+ version: 2.3.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: logging
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -296,14 +296,14 @@ dependencies:
296
296
  requirements:
297
297
  - - '='
298
298
  - !ruby/object:Gem::Version
299
- version: 0.1.14
299
+ version: 0.2.3
300
300
  type: :development
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - '='
305
305
  - !ruby/object:Gem::Version
306
- version: 0.1.14
306
+ version: 0.2.3
307
307
  - !ruby/object:Gem::Dependency
308
308
  name: guard
309
309
  requirement: !ruby/object:Gem::Requirement
@@ -388,6 +388,20 @@ dependencies:
388
388
  - - '='
389
389
  - !ruby/object:Gem::Version
390
390
  version: 1.3.6
391
+ - !ruby/object:Gem::Dependency
392
+ name: net-ping
393
+ requirement: !ruby/object:Gem::Requirement
394
+ requirements:
395
+ - - '='
396
+ - !ruby/object:Gem::Version
397
+ version: 2.0.8
398
+ type: :development
399
+ prerelease: false
400
+ version_requirements: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - '='
403
+ - !ruby/object:Gem::Version
404
+ version: 2.0.8
391
405
  - !ruby/object:Gem::Dependency
392
406
  name: rake
393
407
  requirement: !ruby/object:Gem::Requirement
@@ -541,6 +555,9 @@ files:
541
555
  - ".docker/docker-compose.yml"
542
556
  - ".docker/readme.md"
543
557
  - ".docker/vcs.dockerfile"
558
+ - ".docs/accuracy.md"
559
+ - ".docs/accuracy_email.jpg"
560
+ - ".docs/accuracy_jira_comment.jpg"
544
561
  - ".docs/duedate_expired.md"
545
562
  - ".docs/propagate_down.md"
546
563
  - ".gitattributes"
@@ -550,6 +567,7 @@ files:
550
567
  - ".github/ISSUE_TEMPLATE/bug_report.md"
551
568
  - ".github/ISSUE_TEMPLATE/feature_request.md"
552
569
  - ".github/PULL_REQUEST_TEMPLATE.md"
570
+ - ".github/dependabot.yml"
553
571
  - ".github/tasks.yml"
554
572
  - ".github/trello.md"
555
573
  - ".gitignore"
@@ -558,7 +576,6 @@ files:
558
576
  - ".ruby-version"
559
577
  - ".rultor.yml"
560
578
  - ".simplecov"
561
- - ".travis.yml"
562
579
  - CNAME
563
580
  - Gemfile
564
581
  - Guardfile
@@ -578,6 +595,7 @@ files:
578
595
  - lib/lazylead/home.rb
579
596
  - lib/lazylead/log.rb
580
597
  - lib/lazylead/model.rb
598
+ - lib/lazylead/opts.rb
581
599
  - lib/lazylead/postman.rb
582
600
  - lib/lazylead/salt.rb
583
601
  - lib/lazylead/schedule.rb
@@ -586,6 +604,17 @@ files:
586
604
  - lib/lazylead/system/fake.rb
587
605
  - lib/lazylead/system/jira.rb
588
606
  - lib/lazylead/system/synced.rb
607
+ - lib/lazylead/task/accuracy/accuracy.rb
608
+ - lib/lazylead/task/accuracy/affected_build.rb
609
+ - lib/lazylead/task/accuracy/attachment.rb
610
+ - lib/lazylead/task/accuracy/environment.rb
611
+ - lib/lazylead/task/accuracy/logs.rb
612
+ - lib/lazylead/task/accuracy/records.rb
613
+ - lib/lazylead/task/accuracy/requirement.rb
614
+ - lib/lazylead/task/accuracy/servers.rb
615
+ - lib/lazylead/task/accuracy/stacktrace.rb
616
+ - lib/lazylead/task/accuracy/testcase.rb
617
+ - lib/lazylead/task/accuracy/wiki.rb
589
618
  - lib/lazylead/task/alert.rb
590
619
  - lib/lazylead/task/confluence_ref.rb
591
620
  - lib/lazylead/task/echo.rb
@@ -593,11 +622,15 @@ files:
593
622
  - lib/lazylead/task/missing_comment.rb
594
623
  - lib/lazylead/task/propagate_down.rb
595
624
  - lib/lazylead/task/savepoint.rb
625
+ - lib/lazylead/task/touch.rb
596
626
  - lib/lazylead/version.rb
627
+ - lib/messages/accuracy.erb
597
628
  - lib/messages/due_date_expired.erb
598
629
  - lib/messages/illegal_fixversion_change.erb
599
630
  - lib/messages/missing_comment.erb
600
631
  - lib/messages/savepoint.erb
632
+ - lib/messages/svn_log.erb
633
+ - lib/messages/svn_touch.erb
601
634
  - license.txt
602
635
  - readme.md
603
636
  - test/lazylead/allocated_test.rb
@@ -606,11 +639,22 @@ files:
606
639
  - test/lazylead/confluence_test.rb
607
640
  - test/lazylead/exchange_test.rb
608
641
  - test/lazylead/model_test.rb
642
+ - test/lazylead/opts_test.rb
609
643
  - test/lazylead/postman_test.rb
610
644
  - test/lazylead/salt_test.rb
611
645
  - test/lazylead/smoke_test.rb
612
646
  - test/lazylead/smtp_test.rb
613
647
  - test/lazylead/system/jira_test.rb
648
+ - test/lazylead/task/accuracy/accuracy_test.rb
649
+ - test/lazylead/task/accuracy/affected_build_test.rb
650
+ - test/lazylead/task/accuracy/attachment_test.rb
651
+ - test/lazylead/task/accuracy/environment_test.rb
652
+ - test/lazylead/task/accuracy/logs_test.rb
653
+ - test/lazylead/task/accuracy/records_test.rb
654
+ - test/lazylead/task/accuracy/servers_test.rb
655
+ - test/lazylead/task/accuracy/stacktrace_test.rb
656
+ - test/lazylead/task/accuracy/testcase_test.rb
657
+ - test/lazylead/task/accuracy/wiki_test.rb
614
658
  - test/lazylead/task/assignee_alert_test.rb
615
659
  - test/lazylead/task/confluence_ref_test.rb
616
660
  - test/lazylead/task/duedate_test.rb
@@ -619,6 +663,7 @@ files:
619
663
  - test/lazylead/task/missing_comment_test.rb
620
664
  - test/lazylead/task/propagate_down_test.rb
621
665
  - test/lazylead/task/savepoint_test.rb
666
+ - test/lazylead/task/touch_test.rb
622
667
  - test/lazylead/version_test.rb
623
668
  - test/sqlite_test.rb
624
669
  - test/test.rb
@@ -629,7 +674,7 @@ licenses:
629
674
  - MIT
630
675
  metadata: {}
631
676
  post_install_message: |-
632
- Thanks for installing Lazylead v0.3.1!
677
+ Thanks for installing Lazylead v0.5.0!
633
678
  Read our blog posts: https://lazylead.org
634
679
  Stay in touch with the community in Telegram: https://t.me/lazylead
635
680
  Follow us on Twitter: https://twitter.com/lazylead
@@ -660,11 +705,22 @@ test_files:
660
705
  - test/lazylead/confluence_test.rb
661
706
  - test/lazylead/exchange_test.rb
662
707
  - test/lazylead/model_test.rb
708
+ - test/lazylead/opts_test.rb
663
709
  - test/lazylead/postman_test.rb
664
710
  - test/lazylead/salt_test.rb
665
711
  - test/lazylead/smoke_test.rb
666
712
  - test/lazylead/smtp_test.rb
667
713
  - test/lazylead/system/jira_test.rb
714
+ - test/lazylead/task/accuracy/accuracy_test.rb
715
+ - test/lazylead/task/accuracy/affected_build_test.rb
716
+ - test/lazylead/task/accuracy/attachment_test.rb
717
+ - test/lazylead/task/accuracy/environment_test.rb
718
+ - test/lazylead/task/accuracy/logs_test.rb
719
+ - test/lazylead/task/accuracy/records_test.rb
720
+ - test/lazylead/task/accuracy/servers_test.rb
721
+ - test/lazylead/task/accuracy/stacktrace_test.rb
722
+ - test/lazylead/task/accuracy/testcase_test.rb
723
+ - test/lazylead/task/accuracy/wiki_test.rb
668
724
  - test/lazylead/task/assignee_alert_test.rb
669
725
  - test/lazylead/task/confluence_ref_test.rb
670
726
  - test/lazylead/task/duedate_test.rb
@@ -673,6 +729,7 @@ test_files:
673
729
  - test/lazylead/task/missing_comment_test.rb
674
730
  - test/lazylead/task/propagate_down_test.rb
675
731
  - test/lazylead/task/savepoint_test.rb
732
+ - test/lazylead/task/touch_test.rb
676
733
  - test/lazylead/version_test.rb
677
734
  - test/sqlite_test.rb
678
735
  - test/test.rb