lazylead 0.8.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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=STS-3599",
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
- "fields" => "description,assignee,component,priority,summary,duedate",
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
- # Guardfile for Lazylead
26
- guard :minitest, all_after_pass: false, all_on_start: false do
27
- # with Minitest::Unit
28
- watch(%r{^test/(.*)/?test_(.*)\.rb$})
29
- watch(%r{^test/test\.rb$}) { "test" }
30
- watch(%r{^lib/lazylead/(.*/)?([^/]+)\.rb$}) do |m|
31
- "test/#{m[1]}test_#{m[2]}.rb"
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
- %w[r2 by dgroup at 2020-08-16]
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.8.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-03-09 00:00:00.000000000 Z
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.3.0
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.3.0
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.1
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.1
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.11.0
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.11.0
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.10.3
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.10.3
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.10.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.10.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.2.0
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.2.0
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.1.10
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.1.10
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.8.0!
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