canvas_sync 0.21.1 → 0.22.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/lib/canvas_sync/concerns/auto_relations.rb +11 -0
  3. data/lib/canvas_sync/config.rb +3 -5
  4. data/lib/canvas_sync/generators/templates/models/rubric.rb +2 -1
  5. data/lib/canvas_sync/job_batches/batch.rb +432 -402
  6. data/lib/canvas_sync/job_batches/callback.rb +100 -114
  7. data/lib/canvas_sync/job_batches/chain_builder.rb +194 -196
  8. data/lib/canvas_sync/job_batches/{active_job.rb → compat/active_job.rb} +2 -2
  9. data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/helpers.rb +1 -1
  10. data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web.rb +3 -3
  11. data/lib/canvas_sync/job_batches/{sidekiq.rb → compat/sidekiq.rb} +35 -22
  12. data/lib/canvas_sync/job_batches/compat.rb +20 -0
  13. data/lib/canvas_sync/job_batches/context_hash.rb +124 -126
  14. data/lib/canvas_sync/job_batches/jobs/base_job.rb +2 -4
  15. data/lib/canvas_sync/job_batches/jobs/concurrent_batch_job.rb +14 -16
  16. data/lib/canvas_sync/job_batches/jobs/managed_batch_job.rb +125 -127
  17. data/lib/canvas_sync/job_batches/jobs/serial_batch_job.rb +14 -16
  18. data/lib/canvas_sync/job_batches/pool.rb +193 -195
  19. data/lib/canvas_sync/job_batches/redis_model.rb +50 -52
  20. data/lib/canvas_sync/job_batches/redis_script.rb +129 -131
  21. data/lib/canvas_sync/job_batches/status.rb +85 -87
  22. data/lib/canvas_sync/job_uniqueness/compat/active_job.rb +75 -0
  23. data/lib/canvas_sync/job_uniqueness/compat/sidekiq.rb +135 -0
  24. data/lib/canvas_sync/job_uniqueness/compat.rb +20 -0
  25. data/lib/canvas_sync/job_uniqueness/configuration.rb +25 -0
  26. data/lib/canvas_sync/job_uniqueness/job_uniqueness.rb +47 -0
  27. data/lib/canvas_sync/job_uniqueness/lock_context.rb +171 -0
  28. data/lib/canvas_sync/job_uniqueness/locksmith.rb +92 -0
  29. data/lib/canvas_sync/job_uniqueness/on_conflict/base.rb +32 -0
  30. data/lib/canvas_sync/job_uniqueness/on_conflict/log.rb +13 -0
  31. data/lib/canvas_sync/job_uniqueness/on_conflict/null_strategy.rb +9 -0
  32. data/lib/canvas_sync/job_uniqueness/on_conflict/raise.rb +11 -0
  33. data/lib/canvas_sync/job_uniqueness/on_conflict/reject.rb +21 -0
  34. data/lib/canvas_sync/job_uniqueness/on_conflict/reschedule.rb +20 -0
  35. data/lib/canvas_sync/job_uniqueness/on_conflict.rb +62 -0
  36. data/lib/canvas_sync/job_uniqueness/strategy/base.rb +104 -0
  37. data/lib/canvas_sync/job_uniqueness/strategy/until_and_while_executing.rb +35 -0
  38. data/lib/canvas_sync/job_uniqueness/strategy/until_executed.rb +20 -0
  39. data/lib/canvas_sync/job_uniqueness/strategy/until_executing.rb +20 -0
  40. data/lib/canvas_sync/job_uniqueness/strategy/until_expired.rb +16 -0
  41. data/lib/canvas_sync/job_uniqueness/strategy/while_executing.rb +26 -0
  42. data/lib/canvas_sync/job_uniqueness/strategy.rb +27 -0
  43. data/lib/canvas_sync/job_uniqueness/unique_job_common.rb +79 -0
  44. data/lib/canvas_sync/misc_helper.rb +1 -1
  45. data/lib/canvas_sync/version.rb +1 -1
  46. data/lib/canvas_sync.rb +4 -3
  47. data/spec/dummy/app/models/rubric.rb +2 -1
  48. data/spec/dummy/config/environments/test.rb +1 -1
  49. data/spec/job_batching/batch_spec.rb +49 -7
  50. data/spec/job_batching/{active_job_spec.rb → compat/active_job_spec.rb} +2 -2
  51. data/spec/job_batching/{sidekiq_spec.rb → compat/sidekiq_spec.rb} +14 -12
  52. data/spec/job_batching/flow_spec.rb +1 -1
  53. data/spec/job_batching/integration_helper.rb +1 -1
  54. data/spec/job_batching/status_spec.rb +2 -2
  55. data/spec/job_uniqueness/compat/active_job_spec.rb +49 -0
  56. data/spec/job_uniqueness/compat/sidekiq_spec.rb +68 -0
  57. data/spec/job_uniqueness/lock_context_spec.rb +95 -0
  58. data/spec/job_uniqueness/on_conflict/log_spec.rb +11 -0
  59. data/spec/job_uniqueness/on_conflict/raise_spec.rb +10 -0
  60. data/spec/job_uniqueness/on_conflict/reschedule_spec.rb +24 -0
  61. data/spec/job_uniqueness/on_conflict_spec.rb +16 -0
  62. data/spec/job_uniqueness/spec_helper.rb +14 -0
  63. data/spec/job_uniqueness/strategy/base_spec.rb +100 -0
  64. data/spec/job_uniqueness/strategy/until_and_while_executing_spec.rb +48 -0
  65. data/spec/job_uniqueness/strategy/until_executed_spec.rb +23 -0
  66. data/spec/job_uniqueness/strategy/until_executing_spec.rb +23 -0
  67. data/spec/job_uniqueness/strategy/until_expired_spec.rb +23 -0
  68. data/spec/job_uniqueness/strategy/while_executing_spec.rb +33 -0
  69. data/spec/job_uniqueness/support/lock_strategy.rb +28 -0
  70. data/spec/job_uniqueness/support/on_conflict.rb +24 -0
  71. data/spec/job_uniqueness/support/test_worker.rb +19 -0
  72. data/spec/job_uniqueness/unique_job_common_spec.rb +45 -0
  73. data/spec/spec_helper.rb +1 -1
  74. metadata +278 -204
  75. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/batches_assets/css/styles.less +0 -0
  76. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/batches_assets/js/batch_tree.js +0 -0
  77. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/batches_assets/js/util.js +0 -0
  78. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/_batch_tree.erb +0 -0
  79. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/_batches_table.erb +0 -0
  80. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/_common.erb +0 -0
  81. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/_jobs_table.erb +0 -0
  82. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/_pagination.erb +0 -0
  83. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/batch.erb +0 -0
  84. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/batches.erb +0 -0
  85. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/pool.erb +0 -0
  86. /data/lib/canvas_sync/job_batches/{sidekiq → compat/sidekiq}/web/views/pools.erb +0 -0
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canvas_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.1
4
+ version: 0.22.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-22 00:00:00.000000000 Z
11
+ date: 2024-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "<"
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '5.2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "<"
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '6.0'
26
+ version: '5.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
@@ -276,6 +276,20 @@ dependencies:
276
276
  - - "<"
277
277
  - !ruby/object:Gem::Version
278
278
  version: '7.0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: sidekiq-unique-jobs
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
279
293
  - !ruby/object:Gem::Dependency
280
294
  name: redis
281
295
  requirement: !ruby/object:Gem::Requirement
@@ -416,7 +430,7 @@ dependencies:
416
430
  - - ">="
417
431
  - !ruby/object:Gem::Version
418
432
  version: '0'
419
- description:
433
+ description:
420
434
  email:
421
435
  - pseng@instructure.com
422
436
  executables: []
@@ -444,6 +458,7 @@ files:
444
458
  - lib/canvas_sync/concerns/account/ancestry.rb
445
459
  - lib/canvas_sync/concerns/account/base.rb
446
460
  - lib/canvas_sync/concerns/api_syncable.rb
461
+ - lib/canvas_sync/concerns/auto_relations.rb
447
462
  - lib/canvas_sync/concerns/legacy_columns.rb
448
463
  - lib/canvas_sync/concerns/live_event_sync.rb
449
464
  - lib/canvas_sync/concerns/role/base.rb
@@ -518,10 +533,26 @@ files:
518
533
  - lib/canvas_sync/importers/bulk_importer.rb
519
534
  - lib/canvas_sync/importers/legacy_importer.rb
520
535
  - lib/canvas_sync/job.rb
521
- - lib/canvas_sync/job_batches/active_job.rb
522
536
  - lib/canvas_sync/job_batches/batch.rb
523
537
  - lib/canvas_sync/job_batches/callback.rb
524
538
  - lib/canvas_sync/job_batches/chain_builder.rb
539
+ - lib/canvas_sync/job_batches/compat.rb
540
+ - lib/canvas_sync/job_batches/compat/active_job.rb
541
+ - lib/canvas_sync/job_batches/compat/sidekiq.rb
542
+ - lib/canvas_sync/job_batches/compat/sidekiq/web.rb
543
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/batches_assets/css/styles.less
544
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/batches_assets/js/batch_tree.js
545
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/batches_assets/js/util.js
546
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/helpers.rb
547
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/_batch_tree.erb
548
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/_batches_table.erb
549
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/_common.erb
550
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/_jobs_table.erb
551
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/_pagination.erb
552
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/batch.erb
553
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/batches.erb
554
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/pool.erb
555
+ - lib/canvas_sync/job_batches/compat/sidekiq/web/views/pools.erb
525
556
  - lib/canvas_sync/job_batches/context_hash.rb
526
557
  - lib/canvas_sync/job_batches/hier_batch_ids.lua
527
558
  - lib/canvas_sync/job_batches/jobs/base_job.rb
@@ -533,22 +564,29 @@ files:
533
564
  - lib/canvas_sync/job_batches/redis_model.rb
534
565
  - lib/canvas_sync/job_batches/redis_script.rb
535
566
  - lib/canvas_sync/job_batches/schedule_callback.lua
536
- - lib/canvas_sync/job_batches/sidekiq.rb
537
- - lib/canvas_sync/job_batches/sidekiq/web.rb
538
- - lib/canvas_sync/job_batches/sidekiq/web/batches_assets/css/styles.less
539
- - lib/canvas_sync/job_batches/sidekiq/web/batches_assets/js/batch_tree.js
540
- - lib/canvas_sync/job_batches/sidekiq/web/batches_assets/js/util.js
541
- - lib/canvas_sync/job_batches/sidekiq/web/helpers.rb
542
- - lib/canvas_sync/job_batches/sidekiq/web/views/_batch_tree.erb
543
- - lib/canvas_sync/job_batches/sidekiq/web/views/_batches_table.erb
544
- - lib/canvas_sync/job_batches/sidekiq/web/views/_common.erb
545
- - lib/canvas_sync/job_batches/sidekiq/web/views/_jobs_table.erb
546
- - lib/canvas_sync/job_batches/sidekiq/web/views/_pagination.erb
547
- - lib/canvas_sync/job_batches/sidekiq/web/views/batch.erb
548
- - lib/canvas_sync/job_batches/sidekiq/web/views/batches.erb
549
- - lib/canvas_sync/job_batches/sidekiq/web/views/pool.erb
550
- - lib/canvas_sync/job_batches/sidekiq/web/views/pools.erb
551
567
  - lib/canvas_sync/job_batches/status.rb
568
+ - lib/canvas_sync/job_uniqueness/compat.rb
569
+ - lib/canvas_sync/job_uniqueness/compat/active_job.rb
570
+ - lib/canvas_sync/job_uniqueness/compat/sidekiq.rb
571
+ - lib/canvas_sync/job_uniqueness/configuration.rb
572
+ - lib/canvas_sync/job_uniqueness/job_uniqueness.rb
573
+ - lib/canvas_sync/job_uniqueness/lock_context.rb
574
+ - lib/canvas_sync/job_uniqueness/locksmith.rb
575
+ - lib/canvas_sync/job_uniqueness/on_conflict.rb
576
+ - lib/canvas_sync/job_uniqueness/on_conflict/base.rb
577
+ - lib/canvas_sync/job_uniqueness/on_conflict/log.rb
578
+ - lib/canvas_sync/job_uniqueness/on_conflict/null_strategy.rb
579
+ - lib/canvas_sync/job_uniqueness/on_conflict/raise.rb
580
+ - lib/canvas_sync/job_uniqueness/on_conflict/reject.rb
581
+ - lib/canvas_sync/job_uniqueness/on_conflict/reschedule.rb
582
+ - lib/canvas_sync/job_uniqueness/strategy.rb
583
+ - lib/canvas_sync/job_uniqueness/strategy/base.rb
584
+ - lib/canvas_sync/job_uniqueness/strategy/until_and_while_executing.rb
585
+ - lib/canvas_sync/job_uniqueness/strategy/until_executed.rb
586
+ - lib/canvas_sync/job_uniqueness/strategy/until_executing.rb
587
+ - lib/canvas_sync/job_uniqueness/strategy/until_expired.rb
588
+ - lib/canvas_sync/job_uniqueness/strategy/while_executing.rb
589
+ - lib/canvas_sync/job_uniqueness/unique_job_common.rb
552
590
  - lib/canvas_sync/jobs/begin_sync_chain_job.rb
553
591
  - lib/canvas_sync/jobs/canvas_process_waiter.rb
554
592
  - lib/canvas_sync/jobs/report_checker.rb
@@ -752,9 +790,10 @@ files:
752
790
  - spec/factories/submission_factory.rb
753
791
  - spec/factories/term_factory.rb
754
792
  - spec/factories/user_factory.rb
755
- - spec/job_batching/active_job_spec.rb
756
793
  - spec/job_batching/batch_spec.rb
757
794
  - spec/job_batching/callback_spec.rb
795
+ - spec/job_batching/compat/active_job_spec.rb
796
+ - spec/job_batching/compat/sidekiq_spec.rb
758
797
  - spec/job_batching/context_hash_spec.rb
759
798
  - spec/job_batching/flow_spec.rb
760
799
  - spec/job_batching/integration/fail_then_succeed.rb
@@ -764,10 +803,27 @@ files:
764
803
  - spec/job_batching/integration/workflow.rb
765
804
  - spec/job_batching/integration_helper.rb
766
805
  - spec/job_batching/pool_spec.rb
767
- - spec/job_batching/sidekiq_spec.rb
768
806
  - spec/job_batching/status_spec.rb
769
807
  - spec/job_batching/support/base_job.rb
770
808
  - spec/job_batching/support/sample_callback.rb
809
+ - spec/job_uniqueness/compat/active_job_spec.rb
810
+ - spec/job_uniqueness/compat/sidekiq_spec.rb
811
+ - spec/job_uniqueness/lock_context_spec.rb
812
+ - spec/job_uniqueness/on_conflict/log_spec.rb
813
+ - spec/job_uniqueness/on_conflict/raise_spec.rb
814
+ - spec/job_uniqueness/on_conflict/reschedule_spec.rb
815
+ - spec/job_uniqueness/on_conflict_spec.rb
816
+ - spec/job_uniqueness/spec_helper.rb
817
+ - spec/job_uniqueness/strategy/base_spec.rb
818
+ - spec/job_uniqueness/strategy/until_and_while_executing_spec.rb
819
+ - spec/job_uniqueness/strategy/until_executed_spec.rb
820
+ - spec/job_uniqueness/strategy/until_executing_spec.rb
821
+ - spec/job_uniqueness/strategy/until_expired_spec.rb
822
+ - spec/job_uniqueness/strategy/while_executing_spec.rb
823
+ - spec/job_uniqueness/support/lock_strategy.rb
824
+ - spec/job_uniqueness/support/on_conflict.rb
825
+ - spec/job_uniqueness/support/test_worker.rb
826
+ - spec/job_uniqueness/unique_job_common_spec.rb
771
827
  - spec/spec_helper.rb
772
828
  - spec/support/fake_canvas.rb
773
829
  - spec/support/fixtures/canvas_responses/admins.json
@@ -803,7 +859,7 @@ files:
803
859
  homepage: https://instructure.com
804
860
  licenses: []
805
861
  metadata: {}
806
- post_install_message:
862
+ post_install_message:
807
863
  rdoc_options: []
808
864
  require_paths:
809
865
  - lib
@@ -814,222 +870,240 @@ required_ruby_version: !ruby/object:Gem::Requirement
814
870
  version: '0'
815
871
  required_rubygems_version: !ruby/object:Gem::Requirement
816
872
  requirements:
817
- - - ">="
873
+ - - ">"
818
874
  - !ruby/object:Gem::Version
819
- version: '0'
875
+ version: 1.3.1
820
876
  requirements: []
821
- rubygems_version: 3.5.4
822
- signing_key:
877
+ rubygems_version: 3.1.6
878
+ signing_key:
823
879
  specification_version: 4
824
880
  summary: Gem for generating Canvas models and migrations and syncing data from Canvas
825
881
  test_files:
826
- - spec/canvas_sync/canvas_sync_spec.rb
827
- - spec/canvas_sync/jobs/canvas_process_waiter_spec.rb
828
- - spec/canvas_sync/jobs/job_spec.rb
829
- - spec/canvas_sync/jobs/report_checker_spec.rb
830
- - spec/canvas_sync/jobs/report_processor_job_spec.rb
831
- - spec/canvas_sync/jobs/report_starter_spec.rb
832
- - spec/canvas_sync/jobs/sync_admins_job_spec.rb
833
- - spec/canvas_sync/jobs/sync_assignment_groups_job_spec.rb
834
- - spec/canvas_sync/jobs/sync_assignments_job_spec.rb
835
- - spec/canvas_sync/jobs/sync_content_migrations_job_spec.rb
836
- - spec/canvas_sync/jobs/sync_context_module_items_job_spec.rb
837
- - spec/canvas_sync/jobs/sync_context_modules_job_spec.rb
838
- - spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
839
- - spec/canvas_sync/jobs/sync_roles_job_spec.rb
840
- - spec/canvas_sync/jobs/sync_simple_table_job_spec.rb
841
- - spec/canvas_sync/jobs/sync_submissions_job_spec.rb
842
- - spec/canvas_sync/jobs/sync_terms_job_spec.rb
882
+ - spec/canvas_sync/live_events/process_event_job_spec.rb
843
883
  - spec/canvas_sync/live_events/live_event_sync_spec.rb
844
884
  - spec/canvas_sync/live_events/live_events_controller_spec.rb
845
- - spec/canvas_sync/live_events/process_event_job_spec.rb
846
- - spec/canvas_sync/misc_helper_spec.rb
847
- - spec/canvas_sync/models/accounts_spec.rb
885
+ - spec/canvas_sync/services/module_event_spec.rb
886
+ - spec/canvas_sync/services/module_item_event_spec.rb
848
887
  - spec/canvas_sync/models/admins_spec.rb
849
- - spec/canvas_sync/models/assignment_group_spec.rb
850
888
  - spec/canvas_sync/models/assignment_spec.rb
851
- - spec/canvas_sync/models/context_module_item_spec.rb
852
889
  - spec/canvas_sync/models/context_module_spec.rb
853
- - spec/canvas_sync/models/course_spec.rb
854
- - spec/canvas_sync/models/enrollment_spec.rb
855
890
  - spec/canvas_sync/models/group_membership_spec.rb
856
- - spec/canvas_sync/models/group_spec.rb
891
+ - spec/canvas_sync/models/context_module_item_spec.rb
857
892
  - spec/canvas_sync/models/roles_spec.rb
893
+ - spec/canvas_sync/models/accounts_spec.rb
858
894
  - spec/canvas_sync/models/section_spec.rb
895
+ - spec/canvas_sync/models/group_spec.rb
859
896
  - spec/canvas_sync/models/submission_spec.rb
860
897
  - spec/canvas_sync/models/term_spec.rb
898
+ - spec/canvas_sync/models/enrollment_spec.rb
899
+ - spec/canvas_sync/models/course_spec.rb
861
900
  - spec/canvas_sync/models/user_spec.rb
862
- - spec/canvas_sync/processors/assignment_groups_processor_spec.rb
863
- - spec/canvas_sync/processors/assignments_processor_spec.rb
901
+ - spec/canvas_sync/models/assignment_group_spec.rb
902
+ - spec/canvas_sync/misc_helper_spec.rb
903
+ - spec/canvas_sync/jobs/sync_context_module_items_job_spec.rb
904
+ - spec/canvas_sync/jobs/sync_terms_job_spec.rb
905
+ - spec/canvas_sync/jobs/sync_context_modules_job_spec.rb
906
+ - spec/canvas_sync/jobs/sync_assignments_job_spec.rb
907
+ - spec/canvas_sync/jobs/sync_provisioning_report_job_spec.rb
908
+ - spec/canvas_sync/jobs/sync_assignment_groups_job_spec.rb
909
+ - spec/canvas_sync/jobs/sync_admins_job_spec.rb
910
+ - spec/canvas_sync/jobs/report_starter_spec.rb
911
+ - spec/canvas_sync/jobs/sync_content_migrations_job_spec.rb
912
+ - spec/canvas_sync/jobs/job_spec.rb
913
+ - spec/canvas_sync/jobs/report_processor_job_spec.rb
914
+ - spec/canvas_sync/jobs/canvas_process_waiter_spec.rb
915
+ - spec/canvas_sync/jobs/sync_submissions_job_spec.rb
916
+ - spec/canvas_sync/jobs/report_checker_spec.rb
917
+ - spec/canvas_sync/jobs/sync_roles_job_spec.rb
918
+ - spec/canvas_sync/jobs/sync_simple_table_job_spec.rb
919
+ - spec/canvas_sync/canvas_sync_spec.rb
920
+ - spec/canvas_sync/processors/provisioning_report_processor_spec.rb
864
921
  - spec/canvas_sync/processors/content_migrations_processor_spec.rb
865
- - spec/canvas_sync/processors/context_module_items_processor_spec.rb
866
- - spec/canvas_sync/processors/context_modules_processor_spec.rb
922
+ - spec/canvas_sync/processors/assignments_processor_spec.rb
867
923
  - spec/canvas_sync/processors/normal_processor_spec.rb
868
- - spec/canvas_sync/processors/provisioning_report_processor_spec.rb
869
- - spec/canvas_sync/processors/rubric_assessments_spec.rb
870
- - spec/canvas_sync/processors/rubric_associations_spec.rb
871
924
  - spec/canvas_sync/processors/rubrics_processor_spec.rb
925
+ - spec/canvas_sync/processors/context_modules_processor_spec.rb
926
+ - spec/canvas_sync/processors/assignment_groups_processor_spec.rb
927
+ - spec/canvas_sync/processors/rubric_associations_spec.rb
872
928
  - spec/canvas_sync/processors/submissions_processor_spec.rb
873
- - spec/canvas_sync/services/module_event_spec.rb
874
- - spec/canvas_sync/services/module_item_event_spec.rb
875
- - spec/dummy/README.rdoc
929
+ - spec/canvas_sync/processors/context_module_items_processor_spec.rb
930
+ - spec/canvas_sync/processors/rubric_assessments_spec.rb
931
+ - spec/job_uniqueness/lock_context_spec.rb
932
+ - spec/job_uniqueness/on_conflict/reschedule_spec.rb
933
+ - spec/job_uniqueness/on_conflict/raise_spec.rb
934
+ - spec/job_uniqueness/on_conflict/log_spec.rb
935
+ - spec/job_uniqueness/on_conflict_spec.rb
936
+ - spec/job_uniqueness/spec_helper.rb
937
+ - spec/job_uniqueness/support/on_conflict.rb
938
+ - spec/job_uniqueness/support/test_worker.rb
939
+ - spec/job_uniqueness/support/lock_strategy.rb
940
+ - spec/job_uniqueness/strategy/while_executing_spec.rb
941
+ - spec/job_uniqueness/strategy/until_and_while_executing_spec.rb
942
+ - spec/job_uniqueness/strategy/until_executing_spec.rb
943
+ - spec/job_uniqueness/strategy/until_executed_spec.rb
944
+ - spec/job_uniqueness/strategy/until_expired_spec.rb
945
+ - spec/job_uniqueness/strategy/base_spec.rb
946
+ - spec/job_uniqueness/unique_job_common_spec.rb
947
+ - spec/job_uniqueness/compat/active_job_spec.rb
948
+ - spec/job_uniqueness/compat/sidekiq_spec.rb
949
+ - spec/job_batching/integration_helper.rb
950
+ - spec/job_batching/pool_spec.rb
951
+ - spec/job_batching/integration/integration.rb
952
+ - spec/job_batching/integration/workflow.rb
953
+ - spec/job_batching/integration/fail_then_succeed.rb
954
+ - spec/job_batching/integration/nested.rb
955
+ - spec/job_batching/integration/simple.rb
956
+ - spec/job_batching/status_spec.rb
957
+ - spec/job_batching/callback_spec.rb
958
+ - spec/job_batching/support/base_job.rb
959
+ - spec/job_batching/support/sample_callback.rb
960
+ - spec/job_batching/batch_spec.rb
961
+ - spec/job_batching/flow_spec.rb
962
+ - spec/job_batching/compat/active_job_spec.rb
963
+ - spec/job_batching/compat/sidekiq_spec.rb
964
+ - spec/job_batching/context_hash_spec.rb
965
+ - spec/spec_helper.rb
966
+ - spec/support/fake_canvas.rb
967
+ - spec/support/fixtures/reports/submissions.csv
968
+ - spec/support/fixtures/reports/assignments.csv
969
+ - spec/support/fixtures/reports/user_observers.csv
970
+ - spec/support/fixtures/reports/xlist.csv
971
+ - spec/support/fixtures/reports/sections.csv
972
+ - spec/support/fixtures/reports/context_modules.csv
973
+ - spec/support/fixtures/reports/users.csv
974
+ - spec/support/fixtures/reports/grading_period_groups.csv
975
+ - spec/support/fixtures/reports/learning_outcomes.csv
976
+ - spec/support/fixtures/reports/groups.csv
977
+ - spec/support/fixtures/reports/courses.csv
978
+ - spec/support/fixtures/reports/provisioning_csv_unzipped/users.csv
979
+ - spec/support/fixtures/reports/provisioning_csv_unzipped/courses.csv
980
+ - spec/support/fixtures/reports/rubric_associations.csv
981
+ - spec/support/fixtures/reports/assignment_groups.csv
982
+ - spec/support/fixtures/reports/group_memberships.csv
983
+ - spec/support/fixtures/reports/rubric_assessments.csv
984
+ - spec/support/fixtures/reports/enrollments.csv
985
+ - spec/support/fixtures/reports/learning_outcome_results.csv
986
+ - spec/support/fixtures/reports/course_nicknames.csv
987
+ - spec/support/fixtures/reports/provisioning_csv
988
+ - spec/support/fixtures/reports/grading_periods.csv
989
+ - spec/support/fixtures/reports/rubrics.csv
990
+ - spec/support/fixtures/reports/content_migrations.csv
991
+ - spec/support/fixtures/reports/context_module_items.csv
992
+ - spec/support/fixtures/canvas_responses/module.json
993
+ - spec/support/fixtures/canvas_responses/terms.json
994
+ - spec/support/fixtures/canvas_responses/admins.json
995
+ - spec/support/fixtures/canvas_responses/roles.json
996
+ - spec/support/fixtures/canvas_responses/module_item.json
997
+ - spec/dummy/db/migrate/20201016181346_create_pseudonyms.rb
998
+ - spec/dummy/db/migrate/20240510101100_create_rubric_assessments.rb
999
+ - spec/dummy/db/migrate/20190702203630_create_assignment_groups.rb
1000
+ - spec/dummy/db/migrate/20190702203627_create_submissions.rb
1001
+ - spec/dummy/db/migrate/20190702203624_create_enrollments.rb
1002
+ - spec/dummy/db/migrate/20190702203621_create_courses.rb
1003
+ - spec/dummy/db/migrate/20211001184920_create_grading_period_groups.rb
1004
+ - spec/dummy/db/migrate/20220712210559_create_learning_outcomes.rb
1005
+ - spec/dummy/db/migrate/20200416214248_create_group_memberships.rb
1006
+ - spec/dummy/db/migrate/20220926221926_create_users.rb
1007
+ - spec/dummy/db/migrate/20210907233330_create_grading_periods.rb
1008
+ - spec/dummy/db/migrate/20190702203631_create_context_modules.rb
1009
+ - spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb
1010
+ - spec/dummy/db/migrate/20240509105100_create_rubrics.rb
1011
+ - spec/dummy/db/migrate/20240510094100_create_rubric_associations.rb
1012
+ - spec/dummy/db/migrate/20190702203632_create_context_module_items.rb
1013
+ - spec/dummy/db/migrate/20190927204545_create_roles.rb
1014
+ - spec/dummy/db/migrate/20190702203622_create_accounts.rb
1015
+ - spec/dummy/db/migrate/20190702203626_create_assignments.rb
1016
+ - spec/dummy/db/migrate/20240523101010_create_learning_outcome_results.rb
1017
+ - spec/dummy/db/migrate/20200415171620_create_groups.rb
1018
+ - spec/dummy/db/migrate/20190927204546_create_admins.rb
1019
+ - spec/dummy/db/migrate/20190702203625_create_sections.rb
1020
+ - spec/dummy/db/migrate/20210907233329_create_user_observers.rb
1021
+ - spec/dummy/db/migrate/20190702203623_create_terms.rb
1022
+ - spec/dummy/db/migrate/20220308072643_create_content_migrations.rb
1023
+ - spec/dummy/db/schema.rb
876
1024
  - spec/dummy/Rakefile
877
- - spec/dummy/app/models/account.rb
878
- - spec/dummy/app/models/admin.rb
879
- - spec/dummy/app/models/application_record.rb
880
- - spec/dummy/app/models/assignment.rb
881
- - spec/dummy/app/models/assignment_group.rb
882
- - spec/dummy/app/models/content_migration.rb
883
- - spec/dummy/app/models/context_module.rb
884
- - spec/dummy/app/models/context_module_item.rb
885
- - spec/dummy/app/models/course.rb
886
- - spec/dummy/app/models/course_nickname.rb
887
- - spec/dummy/app/models/enrollment.rb
888
- - spec/dummy/app/models/grading_period.rb
889
- - spec/dummy/app/models/grading_period_group.rb
890
- - spec/dummy/app/models/group.rb
891
- - spec/dummy/app/models/group_membership.rb
892
- - spec/dummy/app/models/learning_outcome.rb
893
- - spec/dummy/app/models/learning_outcome_result.rb
894
- - spec/dummy/app/models/pseudonym.rb
895
- - spec/dummy/app/models/role.rb
896
- - spec/dummy/app/models/rubric.rb
897
- - spec/dummy/app/models/rubric_assessment.rb
898
- - spec/dummy/app/models/rubric_association.rb
899
- - spec/dummy/app/models/section.rb
900
- - spec/dummy/app/models/submission.rb
901
- - spec/dummy/app/models/term.rb
902
- - spec/dummy/app/models/user.rb
903
- - spec/dummy/app/models/user_observer.rb
904
- - spec/dummy/app/services/live_events/assignment_created_event.rb
905
- - spec/dummy/app/services/live_events/assignment_event.rb
906
- - spec/dummy/app/services/live_events/assignment_updated_event.rb
1025
+ - spec/dummy/app/services/live_events/submission_event.rb
1026
+ - spec/dummy/app/services/live_events/module_created_event.rb
1027
+ - spec/dummy/app/services/live_events/module_item_created_event.rb
1028
+ - spec/dummy/app/services/live_events/user_created_event.rb
907
1029
  - spec/dummy/app/services/live_events/base_event.rb
908
- - spec/dummy/app/services/live_events/course_created_event.rb
909
- - spec/dummy/app/services/live_events/course_event.rb
910
1030
  - spec/dummy/app/services/live_events/course_section_created_event.rb
911
- - spec/dummy/app/services/live_events/course_section_event.rb
912
- - spec/dummy/app/services/live_events/course_section_updated_event.rb
1031
+ - spec/dummy/app/services/live_events/user_updated_event.rb
913
1032
  - spec/dummy/app/services/live_events/course_updated_event.rb
1033
+ - spec/dummy/app/services/live_events/submission_created_event.rb
1034
+ - spec/dummy/app/services/live_events/syllabus_event.rb
1035
+ - spec/dummy/app/services/live_events/module_updated_event.rb
1036
+ - spec/dummy/app/services/live_events/course_event.rb
914
1037
  - spec/dummy/app/services/live_events/enrollment_created_event.rb
1038
+ - spec/dummy/app/services/live_events/grade_event.rb
1039
+ - spec/dummy/app/services/live_events/course_section_updated_event.rb
1040
+ - spec/dummy/app/services/live_events/course_created_event.rb
915
1041
  - spec/dummy/app/services/live_events/enrollment_event.rb
916
- - spec/dummy/app/services/live_events/enrollment_updated_event.rb
1042
+ - spec/dummy/app/services/live_events/assignment_updated_event.rb
1043
+ - spec/dummy/app/services/live_events/syllabus_updated_event.rb
917
1044
  - spec/dummy/app/services/live_events/grade_changed_event.rb
918
- - spec/dummy/app/services/live_events/grade_event.rb
919
- - spec/dummy/app/services/live_events/module_created_event.rb
1045
+ - spec/dummy/app/services/live_events/module_item_updated_event.rb
920
1046
  - spec/dummy/app/services/live_events/module_event.rb
921
- - spec/dummy/app/services/live_events/module_item_created_event.rb
1047
+ - spec/dummy/app/services/live_events/course_section_event.rb
1048
+ - spec/dummy/app/services/live_events/assignment_created_event.rb
1049
+ - spec/dummy/app/services/live_events/enrollment_updated_event.rb
1050
+ - spec/dummy/app/services/live_events/assignment_event.rb
922
1051
  - spec/dummy/app/services/live_events/module_item_event.rb
923
- - spec/dummy/app/services/live_events/module_item_updated_event.rb
924
- - spec/dummy/app/services/live_events/module_updated_event.rb
925
- - spec/dummy/app/services/live_events/submission_created_event.rb
926
- - spec/dummy/app/services/live_events/submission_event.rb
927
1052
  - spec/dummy/app/services/live_events/submission_updated_event.rb
928
- - spec/dummy/app/services/live_events/syllabus_event.rb
929
- - spec/dummy/app/services/live_events/syllabus_updated_event.rb
930
- - spec/dummy/app/services/live_events/user_created_event.rb
931
1053
  - spec/dummy/app/services/live_events/user_event.rb
932
- - spec/dummy/app/services/live_events/user_updated_event.rb
933
- - spec/dummy/bin/rails
1054
+ - spec/dummy/app/models/course_nickname.rb
1055
+ - spec/dummy/app/models/user.rb
1056
+ - spec/dummy/app/models/submission.rb
1057
+ - spec/dummy/app/models/group_membership.rb
1058
+ - spec/dummy/app/models/enrollment.rb
1059
+ - spec/dummy/app/models/rubric.rb
1060
+ - spec/dummy/app/models/rubric_association.rb
1061
+ - spec/dummy/app/models/role.rb
1062
+ - spec/dummy/app/models/account.rb
1063
+ - spec/dummy/app/models/application_record.rb
1064
+ - spec/dummy/app/models/admin.rb
1065
+ - spec/dummy/app/models/rubric_assessment.rb
1066
+ - spec/dummy/app/models/learning_outcome.rb
1067
+ - spec/dummy/app/models/learning_outcome_result.rb
1068
+ - spec/dummy/app/models/grading_period.rb
1069
+ - spec/dummy/app/models/context_module.rb
1070
+ - spec/dummy/app/models/context_module_item.rb
1071
+ - spec/dummy/app/models/course.rb
1072
+ - spec/dummy/app/models/section.rb
1073
+ - spec/dummy/app/models/grading_period_group.rb
1074
+ - spec/dummy/app/models/user_observer.rb
1075
+ - spec/dummy/app/models/assignment_group.rb
1076
+ - spec/dummy/app/models/assignment.rb
1077
+ - spec/dummy/app/models/term.rb
1078
+ - spec/dummy/app/models/pseudonym.rb
1079
+ - spec/dummy/app/models/group.rb
1080
+ - spec/dummy/app/models/content_migration.rb
1081
+ - spec/dummy/config/secrets.yml
934
1082
  - spec/dummy/config/application.rb
935
- - spec/dummy/config/boot.rb
936
- - spec/dummy/config/database.yml
937
- - spec/dummy/config/environment.rb
938
- - spec/dummy/config/environments/development.rb
939
- - spec/dummy/config/environments/test.rb
940
- - spec/dummy/config/initializers/assets.rb
941
1083
  - spec/dummy/config/initializers/session_store.rb
942
1084
  - spec/dummy/config/initializers/wrap_parameters.rb
1085
+ - spec/dummy/config/initializers/assets.rb
1086
+ - spec/dummy/config/environments/development.rb
1087
+ - spec/dummy/config/environments/test.rb
1088
+ - spec/dummy/config/database.yml
1089
+ - spec/dummy/config/boot.rb
943
1090
  - spec/dummy/config/routes.rb
944
- - spec/dummy/config/secrets.yml
1091
+ - spec/dummy/config/environment.rb
1092
+ - spec/dummy/README.rdoc
945
1093
  - spec/dummy/config.ru
946
- - spec/dummy/db/migrate/20190702203621_create_courses.rb
947
- - spec/dummy/db/migrate/20190702203622_create_accounts.rb
948
- - spec/dummy/db/migrate/20190702203623_create_terms.rb
949
- - spec/dummy/db/migrate/20190702203624_create_enrollments.rb
950
- - spec/dummy/db/migrate/20190702203625_create_sections.rb
951
- - spec/dummy/db/migrate/20190702203626_create_assignments.rb
952
- - spec/dummy/db/migrate/20190702203627_create_submissions.rb
953
- - spec/dummy/db/migrate/20190702203630_create_assignment_groups.rb
954
- - spec/dummy/db/migrate/20190702203631_create_context_modules.rb
955
- - spec/dummy/db/migrate/20190702203632_create_context_module_items.rb
956
- - spec/dummy/db/migrate/20190927204545_create_roles.rb
957
- - spec/dummy/db/migrate/20190927204546_create_admins.rb
958
- - spec/dummy/db/migrate/20200415171620_create_groups.rb
959
- - spec/dummy/db/migrate/20200416214248_create_group_memberships.rb
960
- - spec/dummy/db/migrate/20201016181346_create_pseudonyms.rb
961
- - spec/dummy/db/migrate/20210907233329_create_user_observers.rb
962
- - spec/dummy/db/migrate/20210907233330_create_grading_periods.rb
963
- - spec/dummy/db/migrate/20211001184920_create_grading_period_groups.rb
964
- - spec/dummy/db/migrate/20220308072643_create_content_migrations.rb
965
- - spec/dummy/db/migrate/20220712210559_create_learning_outcomes.rb
966
- - spec/dummy/db/migrate/20220926221926_create_users.rb
967
- - spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb
968
- - spec/dummy/db/migrate/20240509105100_create_rubrics.rb
969
- - spec/dummy/db/migrate/20240510094100_create_rubric_associations.rb
970
- - spec/dummy/db/migrate/20240510101100_create_rubric_assessments.rb
971
- - spec/dummy/db/migrate/20240523101010_create_learning_outcome_results.rb
972
- - spec/dummy/db/schema.rb
1094
+ - spec/dummy/bin/rails
973
1095
  - spec/factories/account_factory.rb
974
- - spec/factories/admin_factory.rb
1096
+ - spec/factories/term_factory.rb
1097
+ - spec/factories/enrollment_factory.rb
975
1098
  - spec/factories/assignment_factory.rb
976
1099
  - spec/factories/assignment_group_factory.rb
977
- - spec/factories/context_module_factory.rb
978
- - spec/factories/context_module_item_factory.rb
979
- - spec/factories/course_factory.rb
980
- - spec/factories/enrollment_factory.rb
1100
+ - spec/factories/role_factory.rb
1101
+ - spec/factories/admin_factory.rb
981
1102
  - spec/factories/group_factory.rb
982
1103
  - spec/factories/group_membership_factory.rb
983
- - spec/factories/role_factory.rb
984
1104
  - spec/factories/section_factory.rb
1105
+ - spec/factories/context_module_item_factory.rb
1106
+ - spec/factories/course_factory.rb
985
1107
  - spec/factories/submission_factory.rb
986
- - spec/factories/term_factory.rb
987
1108
  - spec/factories/user_factory.rb
988
- - spec/job_batching/active_job_spec.rb
989
- - spec/job_batching/batch_spec.rb
990
- - spec/job_batching/callback_spec.rb
991
- - spec/job_batching/context_hash_spec.rb
992
- - spec/job_batching/flow_spec.rb
993
- - spec/job_batching/integration/fail_then_succeed.rb
994
- - spec/job_batching/integration/integration.rb
995
- - spec/job_batching/integration/nested.rb
996
- - spec/job_batching/integration/simple.rb
997
- - spec/job_batching/integration/workflow.rb
998
- - spec/job_batching/integration_helper.rb
999
- - spec/job_batching/pool_spec.rb
1000
- - spec/job_batching/sidekiq_spec.rb
1001
- - spec/job_batching/status_spec.rb
1002
- - spec/job_batching/support/base_job.rb
1003
- - spec/job_batching/support/sample_callback.rb
1004
- - spec/spec_helper.rb
1005
- - spec/support/fake_canvas.rb
1006
- - spec/support/fixtures/canvas_responses/admins.json
1007
- - spec/support/fixtures/canvas_responses/module.json
1008
- - spec/support/fixtures/canvas_responses/module_item.json
1009
- - spec/support/fixtures/canvas_responses/roles.json
1010
- - spec/support/fixtures/canvas_responses/terms.json
1011
- - spec/support/fixtures/reports/assignment_groups.csv
1012
- - spec/support/fixtures/reports/assignments.csv
1013
- - spec/support/fixtures/reports/content_migrations.csv
1014
- - spec/support/fixtures/reports/context_module_items.csv
1015
- - spec/support/fixtures/reports/context_modules.csv
1016
- - spec/support/fixtures/reports/course_nicknames.csv
1017
- - spec/support/fixtures/reports/courses.csv
1018
- - spec/support/fixtures/reports/enrollments.csv
1019
- - spec/support/fixtures/reports/grading_period_groups.csv
1020
- - spec/support/fixtures/reports/grading_periods.csv
1021
- - spec/support/fixtures/reports/group_memberships.csv
1022
- - spec/support/fixtures/reports/groups.csv
1023
- - spec/support/fixtures/reports/learning_outcome_results.csv
1024
- - spec/support/fixtures/reports/learning_outcomes.csv
1025
- - spec/support/fixtures/reports/provisioning_csv
1026
- - spec/support/fixtures/reports/provisioning_csv_unzipped/courses.csv
1027
- - spec/support/fixtures/reports/provisioning_csv_unzipped/users.csv
1028
- - spec/support/fixtures/reports/rubric_assessments.csv
1029
- - spec/support/fixtures/reports/rubric_associations.csv
1030
- - spec/support/fixtures/reports/rubrics.csv
1031
- - spec/support/fixtures/reports/sections.csv
1032
- - spec/support/fixtures/reports/submissions.csv
1033
- - spec/support/fixtures/reports/user_observers.csv
1034
- - spec/support/fixtures/reports/users.csv
1035
- - spec/support/fixtures/reports/xlist.csv
1109
+ - spec/factories/context_module_factory.rb