fbe 0.0.60 → 0.0.61

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4933facacd974e44985f3931125665ab4456062b0f4a45faf3bdc6a970e42c21
4
- data.tar.gz: 53f0dde5e526aa66a703f8ee088ecd08e7aedb49d847b46c3b6a0080930509d6
3
+ metadata.gz: 714cfed283ff521d4b0c51a0520157a1663da7786a0665debdc835fefcb39ea2
4
+ data.tar.gz: 61e090588bc4b073e00a3f496e382545d9e5a04f73d36225474fbee69d8423b3
5
5
  SHA512:
6
- metadata.gz: 17c95861794f3865ecd9e5e5f1afe3863a7194393dce7fa7d1bd479455595ca563868819f2e7e445590ddc819f09907411923a4c21c65a26e7201165809270c4
7
- data.tar.gz: 2404df0f1d5514a696f8e6604fada7792f5ce8e605dec85f48938b831dc5cd833221137e5c907e233723b67d080d78d77a1bdbf38db37f4cbe06a54cb84e72f2
6
+ metadata.gz: f819bf9191c6f18fc5671578f3bb3368ff3a6220df378e6938d0412fbd088d3f41f17017d3bf5d1abb59fbda12b06df99fd984769931ab7d558a31cfa1a1cd71
7
+ data.tar.gz: cf1a95c3f4ecbb8ed0a4c0bf644e2b2e286a0d041a8db93781bdf40280097f7ba5c2f6b21a891807067a2a92ee999a2f335bc255d58cbeaeeb2c63129b08adcd
data/lib/fbe/octo.rb CHANGED
@@ -541,6 +541,64 @@ class Fbe::FakeOctokit
541
541
  changed_files: 2
542
542
  }
543
543
  }
544
+ },
545
+ {
546
+ id: 43,
547
+ created_at: Time.now,
548
+ actor: { id: 42 },
549
+ type: 'PullRequestEvent',
550
+ repo: { id: repo },
551
+ payload: {
552
+ action: 'closed',
553
+ number: 172,
554
+ ref_type: 'tag',
555
+ ref: 'foo',
556
+ pull_request: {
557
+ url: 'https://api.github.com/repos/yegor256/judges/pulls/93',
558
+ id: 1_990_323_142,
559
+ node_id: 'PR_kwDOL6GCO852oevG',
560
+ number: 172,
561
+ state: 'closed',
562
+ locked: false,
563
+ title: '#999 new feature',
564
+ user: {
565
+ login: 'test',
566
+ id: 88_084_038,
567
+ node_id: 'MDQ6VXNlcjE2NDYwMjA=',
568
+ type: 'User',
569
+ site_admin: false
570
+ },
571
+ base: {
572
+ label: 'zerocracy:master',
573
+ ref: 'master',
574
+ user: {
575
+ login: 'zerocracy',
576
+ id: 24_234_201
577
+ },
578
+ repo: {
579
+ id: repo,
580
+ node_id: 'R_kgDOK2_4Aw',
581
+ name: 'judges-action',
582
+ full_name: 'zerocracy/judges-action',
583
+ private: false,
584
+ owner: {
585
+ login: 'zerocracy'
586
+ }
587
+ }
588
+ },
589
+ head: {
590
+ ref: 'zerocracy/judges-action',
591
+ sha: '74d0c234967de0f690805c6943e78db42a294c1a'
592
+ },
593
+ merged_at: Time.now,
594
+ comments: 2,
595
+ review_comments: 2,
596
+ commits: 1,
597
+ additions: 3,
598
+ deletions: 3,
599
+ changed_files: 2
600
+ }
601
+ }
544
602
  }
545
603
  ]
546
604
  end
@@ -691,65 +749,166 @@ class Fbe::FakeOctokit
691
749
  ]
692
750
  end
693
751
 
694
- def check_runs_for_ref(_repo, sha)
695
- {
696
- total_count: 7,
697
- check_runs: [
698
- {
699
- id: 28_907_016_501,
700
- name: 'make',
701
- head_sha: sha,
702
- started_at: '2024-08-18T08:04:44Z',
703
- completed_at: '2024-08-18T08:20:17Z'
704
- },
705
- {
706
- id: 28_906_596_603,
707
- name: 'copyrights',
708
- head_sha: sha,
709
- started_at: '2024-08-18T08:04:44Z',
710
- completed_at: '2024-08-18T08:20:17Z'
711
- },
712
- {
713
- id: 28_906_596_550,
714
- name: 'markdown-lint',
715
- head_sha: sha,
716
- started_at: '2024-08-18T08:04:44Z',
717
- completed_at: '2024-08-18T08:20:17Z'
718
- },
719
- {
720
- id: 28_906_596_483,
721
- name: 'pdd',
722
- head_sha: sha,
723
- started_at: '2024-08-18T08:04:44Z',
724
- completed_at: '2024-08-18T08:20:17Z'
725
- },
726
- {
727
- id: 28_906_596_433,
728
- name: 'rake',
729
- head_sha: sha,
730
- started_at: '2024-08-18T08:04:44Z',
731
- completed_at: '2024-08-18T08:20:17Z'
732
- },
733
- {
734
- id: 28_906_596_405,
735
- name: 'shellcheck',
736
- head_sha: sha,
737
- started_at: '2024-08-18T08:04:44Z',
738
- completed_at: '2024-08-18T08:20:17Z'
739
- },
740
- {
741
- id: 28_906_596_379,
742
- name: 'yamllint',
743
- head_sha: sha,
744
- started_at: '2024-08-18T08:04:44Z',
745
- completed_at: '2024-08-18T08:20:17Z'
746
- }
747
- ]
752
+ def check_runs_for_ref(repo, sha)
753
+ data = {
754
+ 'zerocracy/baza' => {
755
+ total_count: 7,
756
+ check_runs: [
757
+ {
758
+ id: 28_907_016_501,
759
+ name: 'make',
760
+ head_sha: sha,
761
+ started_at: '2024-08-18T08:04:44Z',
762
+ completed_at: '2024-08-18T08:20:17Z',
763
+ app: {
764
+ slug: 'github-actions'
765
+ }
766
+ },
767
+ {
768
+ id: 28_906_596_603,
769
+ name: 'copyrights',
770
+ head_sha: sha,
771
+ started_at: '2024-08-18T08:04:44Z',
772
+ completed_at: '2024-08-18T08:20:17Z',
773
+ app: {
774
+ slug: 'github-actions'
775
+ }
776
+ },
777
+ {
778
+ id: 28_906_596_550,
779
+ name: 'markdown-lint',
780
+ head_sha: sha,
781
+ started_at: '2024-08-18T08:04:44Z',
782
+ completed_at: '2024-08-18T08:20:17Z',
783
+ app: {
784
+ slug: 'github-actions'
785
+ }
786
+ },
787
+ {
788
+ id: 28_906_596_483,
789
+ name: 'pdd',
790
+ head_sha: sha,
791
+ started_at: '2024-08-18T08:04:44Z',
792
+ completed_at: '2024-08-18T08:20:17Z',
793
+ app: {
794
+ slug: 'github-actions'
795
+ }
796
+ },
797
+ {
798
+ id: 28_906_596_433,
799
+ name: 'rake',
800
+ head_sha: sha,
801
+ started_at: '2024-08-18T08:04:44Z',
802
+ completed_at: '2024-08-18T08:20:17Z',
803
+ app: {
804
+ slug: 'github-actions'
805
+ }
806
+ },
807
+ {
808
+ id: 28_906_596_405,
809
+ name: 'shellcheck',
810
+ head_sha: sha,
811
+ started_at: '2024-08-18T08:04:44Z',
812
+ completed_at: '2024-08-18T08:20:17Z',
813
+ app: {
814
+ slug: 'github-actions'
815
+ }
816
+ },
817
+ {
818
+ id: 28_906_596_379,
819
+ name: 'yamllint',
820
+ head_sha: sha,
821
+ started_at: '2024-08-18T08:04:44Z',
822
+ completed_at: '2024-08-18T08:20:17Z',
823
+ app: {
824
+ slug: 'github-actions'
825
+ }
826
+ }
827
+ ]
828
+ },
829
+ 'zerocracy/judges-action' => {
830
+ total_count: 7,
831
+ check_runs: [
832
+ {
833
+ id: 28_907_016_501,
834
+ name: 'Codacy Static Code Analysis',
835
+ head_sha: sha,
836
+ started_at: '2024-08-18T08:04:44Z',
837
+ completed_at: '2024-08-18T08:20:17Z',
838
+ app: {
839
+ slug: 'codacy-production'
840
+ }
841
+ },
842
+ {
843
+ id: 28_906_596_603,
844
+ name: 'copyrights',
845
+ head_sha: sha,
846
+ started_at: '2024-08-18T08:04:44Z',
847
+ completed_at: '2024-08-18T08:20:17Z',
848
+ app: {
849
+ slug: 'github-actions'
850
+ }
851
+ },
852
+ {
853
+ id: 28_906_596_550,
854
+ name: 'markdown-lint',
855
+ head_sha: sha,
856
+ started_at: '2024-08-18T08:04:44Z',
857
+ completed_at: '2024-08-18T08:20:17Z',
858
+ app: {
859
+ slug: 'github-actions'
860
+ }
861
+ },
862
+ {
863
+ id: 28_906_596_483,
864
+ name: 'pdd',
865
+ head_sha: sha,
866
+ started_at: '2024-08-18T08:04:44Z',
867
+ completed_at: '2024-08-18T08:20:17Z',
868
+ app: {
869
+ slug: 'github-actions'
870
+ }
871
+ },
872
+ {
873
+ id: 28_906_596_433,
874
+ name: 'rake',
875
+ head_sha: sha,
876
+ started_at: '2024-08-18T08:04:44Z',
877
+ completed_at: '2024-08-18T08:20:17Z',
878
+ app: {
879
+ slug: 'github-actions'
880
+ }
881
+ },
882
+ {
883
+ id: 28_906_596_405,
884
+ name: 'shellcheck',
885
+ head_sha: sha,
886
+ started_at: '2024-08-18T08:04:44Z',
887
+ completed_at: '2024-08-18T08:20:17Z',
888
+ app: {
889
+ slug: 'github-actions'
890
+ }
891
+ },
892
+ {
893
+ id: 28_906_596_379,
894
+ name: 'yamllint',
895
+ head_sha: sha,
896
+ started_at: '2024-08-18T08:04:44Z',
897
+ completed_at: '2024-08-18T08:20:17Z',
898
+ app: {
899
+ slug: 'github-actions'
900
+ }
901
+ }
902
+ ]
903
+ }
748
904
  }
905
+ data.fetch(repo) do
906
+ { total_count: 0, check_runs: [] }
907
+ end
749
908
  end
750
909
 
751
910
  def workflow_run_job(_repo, job)
752
- result = [
911
+ [
753
912
  {
754
913
  id: 28_907_016_501,
755
914
  run_id: 10_438_531_072,
@@ -799,12 +958,17 @@ class Fbe::FakeOctokit
799
958
  started_at: '2024-08-18T08:04:44Z',
800
959
  completed_at: '2024-08-18T08:20:17Z'
801
960
  }
802
- ].select { |json| json[:id] == job }
803
- result.first
961
+ ].select { |json| json[:id] == job }.first || {
962
+ id: job,
963
+ run_id: 1234,
964
+ name: 'run job',
965
+ started_at: '2024-08-18T08:04:44Z',
966
+ completed_at: '2024-08-18T08:20:17Z'
967
+ }
804
968
  end
805
969
 
806
970
  def workflow_run(repo, id)
807
- runs = [
971
+ [
808
972
  {
809
973
  id: 10_438_531_072,
810
974
  event: 'pull_request',
@@ -861,22 +1025,17 @@ class Fbe::FakeOctokit
861
1025
  started_at: '2024-08-18T08:04:44Z',
862
1026
  completed_at: '2024-08-18T08:20:17Z'
863
1027
  }
864
- ].select { |json| json[:id] == id }
865
- if runs.first.nil?
866
- {
867
- id:,
868
- name: 'copyrights',
869
- head_branch: 'master',
870
- head_sha: '7d34c53e6743944dbf6fc729b1066bcbb3b18443',
871
- event: 'push',
872
- status: 'completed',
873
- conclusion: 'success',
874
- workflow_id: id,
875
- created_at: random_time,
876
- repository: repository(repo)
877
- }
878
- else
879
- runs.first
880
- end
1028
+ ].select { |json| json[:id] == id }.first || {
1029
+ id:,
1030
+ name: 'copyrights',
1031
+ head_branch: 'master',
1032
+ head_sha: '7d34c53e6743944dbf6fc729b1066bcbb3b18443',
1033
+ event: 'push',
1034
+ status: 'completed',
1035
+ conclusion: 'success',
1036
+ workflow_id: id,
1037
+ created_at: random_time,
1038
+ repository: repository(repo)
1039
+ }
881
1040
  end
882
1041
  end
data/lib/fbe.rb CHANGED
@@ -27,5 +27,5 @@
27
27
  # License:: MIT
28
28
  module Fbe
29
29
  # Current version of the gem (changed by .rultor.yml on every release)
30
- VERSION = '0.0.60'
30
+ VERSION = '0.0.61'
31
31
  end
@@ -162,4 +162,40 @@ class TestOcto < Minitest::Test
162
162
  end
163
163
  assert_in_delta(pause, Time.now - start_time, 1)
164
164
  end
165
+
166
+ def test_fetches_fake_check_runs_for_ref
167
+ WebMock.disable_net_connect!
168
+ o = Fbe.octo(loog: Loog::NULL, global: {}, options: Judges::Options.new({ 'testing' => true }))
169
+ sha = 'f2ca1bb6c7e907d06'
170
+ result = o.check_runs_for_ref('zerocracy/baza', sha)
171
+ assert_equal(7, result[:total_count])
172
+ assert_equal(7, result[:check_runs].count)
173
+ result = o.check_runs_for_ref('zerocracy/judges-action', sha)
174
+ assert_equal(7, result[:total_count])
175
+ assert_equal(7, result[:check_runs].count)
176
+ result = o.check_runs_for_ref('zerocracy/something', sha)
177
+ assert_equal(0, result[:total_count])
178
+ assert_instance_of(Array, result[:check_runs])
179
+ assert_equal(0, result[:check_runs].count)
180
+ end
181
+
182
+ def test_fetches_fake_workflow_run
183
+ WebMock.disable_net_connect!
184
+ o = Fbe.octo(loog: Loog::NULL, global: {}, options: Judges::Options.new({ 'testing' => true }))
185
+ id = 10_438_531_072
186
+ result = o.workflow_run('zerocracy/baza', id)
187
+ assert_equal(id, result[:id])
188
+ result = o.workflow_run('zerocracy/baza', 0)
189
+ assert_equal(0, result[:id])
190
+ end
191
+
192
+ def test_fetches_fake_workflow_run_job
193
+ WebMock.disable_net_connect!
194
+ o = Fbe.octo(loog: Loog::NULL, global: {}, options: Judges::Options.new({ 'testing' => true }))
195
+ id = 28_906_596_433
196
+ result = o.workflow_run_job('zerocracy/baza', id)
197
+ assert_equal(id, result[:id])
198
+ result = o.workflow_run_job('zerocracy/baza', 0)
199
+ assert_equal(0, result[:id])
200
+ end
165
201
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.60
4
+ version: 0.0.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-22 00:00:00.000000000 Z
11
+ date: 2024-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace