lazylead 0.8.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.docker/docker-compose.yml +1 -1
- data/.rubocop.yml +2 -0
- data/Rakefile +1 -1
- data/bin/lazylead +3 -0
- data/lazylead.gemspec +10 -9
- data/lib/lazylead/cc.rb +16 -22
- data/lib/lazylead/log.rb +11 -0
- data/lib/lazylead/model.rb +5 -7
- data/lib/lazylead/system/jira.rb +11 -7
- data/lib/lazylead/task/accuracy/accuracy.rb +22 -11
- data/lib/lazylead/task/accuracy/onlyll.rb +5 -7
- data/lib/lazylead/task/accuracy/screenshots.rb +65 -0
- data/lib/lazylead/task/assignment.rb +9 -13
- data/lib/lazylead/task/loading.rb +5 -1
- data/lib/lazylead/task/micromanager.rb +87 -0
- data/lib/lazylead/task/svn/diff.rb +28 -6
- data/lib/lazylead/version.rb +1 -1
- data/lib/messages/illegal_duedate_change.erb +120 -0
- data/lib/messages/loading.erb +8 -7
- data/readme.md +26 -18
- data/test/lazylead/task/accuracy/score_test.rb +38 -0
- data/test/lazylead/task/accuracy/screenshots_test.rb +140 -0
- data/test/lazylead/task/loading_test.rb +3 -2
- data/{Guardfile → test/lazylead/task/micromanager_test.rb} +28 -7
- data/test/lazylead/task/svn/diff_test.rb +7 -3
- data/test/test.rb +12 -0
- metadata +38 -18
@@ -40,10 +40,11 @@ module Lazylead
|
|
40
40
|
Opts.new(
|
41
41
|
"to" => "lead@company.com",
|
42
42
|
"from" => "ll@company.com",
|
43
|
-
"jql" => "key
|
43
|
+
"jql" => "key in (STS-3599, XD-3739, XD-3744)",
|
44
44
|
"team" => "mclaren:Tom McLaren,milesparker:Mi Pa",
|
45
45
|
"user_link" => "https://user.com?id=",
|
46
|
-
"
|
46
|
+
"search_link" => "https://jira.spring.io/issues/?jql=",
|
47
|
+
"fields" => "assignee,duedate,customfield_10480",
|
47
48
|
"subject" => "[LL] Team loading",
|
48
49
|
"template" => "lib/messages/loading.erb"
|
49
50
|
)
|
@@ -22,12 +22,33 @@
|
|
22
22
|
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
23
23
|
# OR OTHER DEALINGS IN THE SOFTWARE.
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
require "mail"
|
26
|
+
|
27
|
+
require_relative "../../test"
|
28
|
+
require_relative "../../../lib/lazylead/smtp"
|
29
|
+
require_relative "../../../lib/lazylead/opts"
|
30
|
+
require_relative "../../../lib/lazylead/postman"
|
31
|
+
require_relative "../../../lib/lazylead/task/micromanager"
|
32
|
+
|
33
|
+
module Lazylead
|
34
|
+
class MicromanagerTest < Lazylead::Test
|
35
|
+
test "alert in case duedate changed by not authorized person" do
|
36
|
+
Lazylead::Smtp.new.enable
|
37
|
+
Task::Micromanager.new.run(
|
38
|
+
NoAuthJira.new("https://jira.spring.io"),
|
39
|
+
Postman.new,
|
40
|
+
Opts.new(
|
41
|
+
"to" => "lead@company.com",
|
42
|
+
"from" => "ll@company.com",
|
43
|
+
"jql" => "key in ('STS-3599','SPR-6541') and duedate is not empty",
|
44
|
+
"fields" => "assignee,duedate,priority,created,summary,reporter",
|
45
|
+
"allowed" => "tom,mike,bob",
|
46
|
+
"subject" => "DD: How dare you?",
|
47
|
+
"template" => "lib/messages/illegal_duedate_change.erb"
|
48
|
+
)
|
49
|
+
)
|
50
|
+
assert_email "DD: How dare you?",
|
51
|
+
%w[SPR-6541 Major (kdonald) 2009-12-10 Spring's\ Maven\ Central tom,mike,bob]
|
52
|
+
end
|
32
53
|
end
|
33
54
|
end
|
@@ -31,6 +31,10 @@ require_relative "../../../../lib/lazylead/task/svn/diff"
|
|
31
31
|
|
32
32
|
module Lazylead
|
33
33
|
class DiffTest < Lazylead::Test
|
34
|
+
# @todo #/DEV Right now its impossible to check that attachment is present in email as we
|
35
|
+
# removing the directory with attachments once SVN::Diff is sent the email through the postman.
|
36
|
+
# Think about how to test this case in automatically, because for now we are doing it manually
|
37
|
+
# during the development.
|
34
38
|
test "changes since revision" do
|
35
39
|
skip "No svn credentials provided" unless env? "svn_log_user",
|
36
40
|
"svn_log_password"
|
@@ -53,8 +57,8 @@ module Lazylead
|
|
53
57
|
"template-attachment" => "lib/messages/svn_diff_attachment.erb"
|
54
58
|
)
|
55
59
|
)
|
56
|
-
assert_email_line "[SVN] Changed since rev1",
|
57
|
-
|
60
|
+
assert_email_line "[SVN] Changed since rev1", %w[r2 by dgroup at 2020-08-16]
|
61
|
+
# assert_attachment "[SVN] Changed since rev1", /^.*svn-log-.*.html.zip$/
|
58
62
|
end
|
59
63
|
|
60
64
|
test "changes since revision with attachment" do
|
@@ -68,7 +72,7 @@ module Lazylead
|
|
68
72
|
"LL_SMTP_TO",
|
69
73
|
"LL_SMTP_FROM"
|
70
74
|
Lazylead::Smtp.new(
|
71
|
-
Log.new,
|
75
|
+
Log.new.verbose,
|
72
76
|
NoSalt.new,
|
73
77
|
smtp_host: ENV["LL_SMTP_HOST"],
|
74
78
|
smtp_port: ENV["LL_SMTP_PORT"],
|
data/test/test.rb
CHANGED
@@ -126,6 +126,18 @@ module Lazylead
|
|
126
126
|
"Words '#{words.join(',')}' wasn't found in '#{mail.join('\n')}'"
|
127
127
|
end
|
128
128
|
|
129
|
+
def assert_attachment(subject, regexp)
|
130
|
+
parts = Mail::TestMailer.deliveries
|
131
|
+
.find { |m| m.subject.eql? subject }
|
132
|
+
.body.parts.parts
|
133
|
+
.select do |p|
|
134
|
+
p.header.fields.any? { |f| f.value.start_with? "attachment" }
|
135
|
+
end
|
136
|
+
refute_empty parts, "No attachments found within the email"
|
137
|
+
assert parts.first.header.fields.any? { |f| f.value.match regexp },
|
138
|
+
"No attachments found matches to '#{regexp}' in #{subject}"
|
139
|
+
end
|
140
|
+
|
129
141
|
# Ping remote host
|
130
142
|
# https://github.com/eitoball/net-ping
|
131
143
|
# https://stackoverflow.com/a/35508446/6916890
|
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.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yurii Dubinka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.4.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.4.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: get_process_mem
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 3.0.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rubyzip
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 2.3.0
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 2.3.0
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: rufus-scheduler
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -338,14 +352,14 @@ dependencies:
|
|
338
352
|
requirements:
|
339
353
|
- - '='
|
340
354
|
- !ruby/object:Gem::Version
|
341
|
-
version: 0.5.
|
355
|
+
version: 0.5.2
|
342
356
|
type: :development
|
343
357
|
prerelease: false
|
344
358
|
version_requirements: !ruby/object:Gem::Requirement
|
345
359
|
requirements:
|
346
360
|
- - '='
|
347
361
|
- !ruby/object:Gem::Version
|
348
|
-
version: 0.5.
|
362
|
+
version: 0.5.2
|
349
363
|
- !ruby/object:Gem::Dependency
|
350
364
|
name: guard
|
351
365
|
requirement: !ruby/object:Gem::Requirement
|
@@ -492,42 +506,42 @@ dependencies:
|
|
492
506
|
requirements:
|
493
507
|
- - '='
|
494
508
|
- !ruby/object:Gem::Version
|
495
|
-
version: 1.
|
509
|
+
version: 1.13.0
|
496
510
|
type: :development
|
497
511
|
prerelease: false
|
498
512
|
version_requirements: !ruby/object:Gem::Requirement
|
499
513
|
requirements:
|
500
514
|
- - '='
|
501
515
|
- !ruby/object:Gem::Version
|
502
|
-
version: 1.
|
516
|
+
version: 1.13.0
|
503
517
|
- !ruby/object:Gem::Dependency
|
504
518
|
name: rubocop-minitest
|
505
519
|
requirement: !ruby/object:Gem::Requirement
|
506
520
|
requirements:
|
507
521
|
- - '='
|
508
522
|
- !ruby/object:Gem::Version
|
509
|
-
version: 0.
|
523
|
+
version: 0.12.1
|
510
524
|
type: :development
|
511
525
|
prerelease: false
|
512
526
|
version_requirements: !ruby/object:Gem::Requirement
|
513
527
|
requirements:
|
514
528
|
- - '='
|
515
529
|
- !ruby/object:Gem::Version
|
516
|
-
version: 0.
|
530
|
+
version: 0.12.1
|
517
531
|
- !ruby/object:Gem::Dependency
|
518
532
|
name: rubocop-performance
|
519
533
|
requirement: !ruby/object:Gem::Requirement
|
520
534
|
requirements:
|
521
535
|
- - '='
|
522
536
|
- !ruby/object:Gem::Version
|
523
|
-
version: 1.
|
537
|
+
version: 1.11.0
|
524
538
|
type: :development
|
525
539
|
prerelease: false
|
526
540
|
version_requirements: !ruby/object:Gem::Requirement
|
527
541
|
requirements:
|
528
542
|
- - '='
|
529
543
|
- !ruby/object:Gem::Version
|
530
|
-
version: 1.
|
544
|
+
version: 1.11.0
|
531
545
|
- !ruby/object:Gem::Dependency
|
532
546
|
name: rubocop-rake
|
533
547
|
requirement: !ruby/object:Gem::Requirement
|
@@ -548,28 +562,28 @@ dependencies:
|
|
548
562
|
requirements:
|
549
563
|
- - '='
|
550
564
|
- !ruby/object:Gem::Version
|
551
|
-
version: 2.
|
565
|
+
version: 2.3.0
|
552
566
|
type: :development
|
553
567
|
prerelease: false
|
554
568
|
version_requirements: !ruby/object:Gem::Requirement
|
555
569
|
requirements:
|
556
570
|
- - '='
|
557
571
|
- !ruby/object:Gem::Version
|
558
|
-
version: 2.
|
572
|
+
version: 2.3.0
|
559
573
|
- !ruby/object:Gem::Dependency
|
560
574
|
name: sqlint
|
561
575
|
requirement: !ruby/object:Gem::Requirement
|
562
576
|
requirements:
|
563
577
|
- - '='
|
564
578
|
- !ruby/object:Gem::Version
|
565
|
-
version: 0.
|
579
|
+
version: 0.2.0
|
566
580
|
type: :development
|
567
581
|
prerelease: false
|
568
582
|
version_requirements: !ruby/object:Gem::Requirement
|
569
583
|
requirements:
|
570
584
|
- - '='
|
571
585
|
- !ruby/object:Gem::Version
|
572
|
-
version: 0.
|
586
|
+
version: 0.2.0
|
573
587
|
- !ruby/object:Gem::Dependency
|
574
588
|
name: tempfile
|
575
589
|
requirement: !ruby/object:Gem::Requirement
|
@@ -648,7 +662,6 @@ files:
|
|
648
662
|
- ".simplecov"
|
649
663
|
- CNAME
|
650
664
|
- Gemfile
|
651
|
-
- Guardfile
|
652
665
|
- Rakefile
|
653
666
|
- appveyor.yml
|
654
667
|
- bin/.ruby-version
|
@@ -683,6 +696,7 @@ files:
|
|
683
696
|
- lib/lazylead/task/accuracy/onlyll.rb
|
684
697
|
- lib/lazylead/task/accuracy/records.rb
|
685
698
|
- lib/lazylead/task/accuracy/requirement.rb
|
699
|
+
- lib/lazylead/task/accuracy/screenshots.rb
|
686
700
|
- lib/lazylead/task/accuracy/servers.rb
|
687
701
|
- lib/lazylead/task/accuracy/stacktrace.rb
|
688
702
|
- lib/lazylead/task/accuracy/testcase.rb
|
@@ -695,6 +709,7 @@ files:
|
|
695
709
|
- lib/lazylead/task/echo.rb
|
696
710
|
- lib/lazylead/task/fix_version.rb
|
697
711
|
- lib/lazylead/task/loading.rb
|
712
|
+
- lib/lazylead/task/micromanager.rb
|
698
713
|
- lib/lazylead/task/missing_comment.rb
|
699
714
|
- lib/lazylead/task/propagate_down.rb
|
700
715
|
- lib/lazylead/task/savepoint.rb
|
@@ -707,6 +722,7 @@ files:
|
|
707
722
|
- lib/messages/created_recently.erb
|
708
723
|
- lib/messages/due_date_expired.erb
|
709
724
|
- lib/messages/illegal_assignee_change.erb
|
725
|
+
- lib/messages/illegal_duedate_change.erb
|
710
726
|
- lib/messages/illegal_fixversion_change.erb
|
711
727
|
- lib/messages/loading.erb
|
712
728
|
- lib/messages/missing_comment.erb
|
@@ -738,6 +754,7 @@ files:
|
|
738
754
|
- test/lazylead/task/accuracy/onlyll_test.rb
|
739
755
|
- test/lazylead/task/accuracy/records_test.rb
|
740
756
|
- test/lazylead/task/accuracy/score_test.rb
|
757
|
+
- test/lazylead/task/accuracy/screenshots_test.rb
|
741
758
|
- test/lazylead/task/accuracy/servers_test.rb
|
742
759
|
- test/lazylead/task/accuracy/stacktrace_test.rb
|
743
760
|
- test/lazylead/task/accuracy/testcase_test.rb
|
@@ -752,6 +769,7 @@ files:
|
|
752
769
|
- test/lazylead/task/echo_test.rb
|
753
770
|
- test/lazylead/task/fix_version_test.rb
|
754
771
|
- test/lazylead/task/loading_test.rb
|
772
|
+
- test/lazylead/task/micromanager_test.rb
|
755
773
|
- test/lazylead/task/missing_comment_test.rb
|
756
774
|
- test/lazylead/task/propagate_down_test.rb
|
757
775
|
- test/lazylead/task/savepoint_test.rb
|
@@ -768,7 +786,7 @@ licenses:
|
|
768
786
|
- MIT
|
769
787
|
metadata: {}
|
770
788
|
post_install_message: |-
|
771
|
-
Thanks for installing Lazylead v0.
|
789
|
+
Thanks for installing Lazylead v0.9.1!
|
772
790
|
Read our blog posts: https://lazylead.org
|
773
791
|
Stay in touch with the community in Telegram: https://t.me/lazylead
|
774
792
|
Follow us on Twitter: https://twitter.com/lazylead
|
@@ -813,6 +831,7 @@ test_files:
|
|
813
831
|
- test/lazylead/task/accuracy/onlyll_test.rb
|
814
832
|
- test/lazylead/task/accuracy/records_test.rb
|
815
833
|
- test/lazylead/task/accuracy/score_test.rb
|
834
|
+
- test/lazylead/task/accuracy/screenshots_test.rb
|
816
835
|
- test/lazylead/task/accuracy/servers_test.rb
|
817
836
|
- test/lazylead/task/accuracy/stacktrace_test.rb
|
818
837
|
- test/lazylead/task/accuracy/testcase_test.rb
|
@@ -827,6 +846,7 @@ test_files:
|
|
827
846
|
- test/lazylead/task/echo_test.rb
|
828
847
|
- test/lazylead/task/fix_version_test.rb
|
829
848
|
- test/lazylead/task/loading_test.rb
|
849
|
+
- test/lazylead/task/micromanager_test.rb
|
830
850
|
- test/lazylead/task/missing_comment_test.rb
|
831
851
|
- test/lazylead/task/propagate_down_test.rb
|
832
852
|
- test/lazylead/task/savepoint_test.rb
|