canvas_sync 0.17.23.beta7 → 0.17.26.beta1

Sign up to get free protection for your applications and to get access to all the features.
@@ -66,10 +66,10 @@ RSpec.describe CanvasSync::JobBatches::BatchAwareJob do
66
66
  let(:bid) { 'SAMPLEBID' }
67
67
 
68
68
  before do
69
- Thread.current[:batch] = CanvasSync::JobBatches::Batch.new(bid)
70
- Thread.current[:batch].instance_variable_set(:@open, true)
69
+ Thread.current[CanvasSync::JobBatches::CURRENT_BATCH_THREAD_KEY] = CanvasSync::JobBatches::Batch.new(bid)
70
+ Thread.current[CanvasSync::JobBatches::CURRENT_BATCH_THREAD_KEY].instance_variable_set(:@open, true)
71
71
  end
72
- after { Thread.current[:batch] = nil }
72
+ after { Thread.current[CanvasSync::JobBatches::CURRENT_BATCH_THREAD_KEY] = nil }
73
73
 
74
74
  it 'yields' do
75
75
  expect {
@@ -70,7 +70,7 @@ RSpec.describe CanvasSync::JobBatches::Batch do
70
70
  it 'sets Thread.current bid' do
71
71
  batch = CanvasSync::JobBatches::Batch.new
72
72
  batch.jobs do
73
- expect(Thread.current[:batch]).to eq(batch)
73
+ expect(Thread.current[CanvasSync::JobBatches::CURRENT_BATCH_THREAD_KEY]).to eq(batch)
74
74
  end
75
75
  end
76
76
  end
@@ -453,4 +453,43 @@ RSpec.describe CanvasSync::JobBatches::Batch do
453
453
  end
454
454
  end
455
455
  end
456
+
457
+ describe '.redis' do
458
+ it 'returns the same connection if called when nested' do
459
+ CanvasSync::JobBatches::Batch.redis do |r1|
460
+ CanvasSync::JobBatches::Batch.redis do |r2|
461
+ expect(r1).to be r2
462
+ end
463
+ end
464
+ end
465
+
466
+ it 'returns a RedisProxy object if no block is given' do
467
+ expect(CanvasSync::JobBatches::Batch.redis).to be_a(CanvasSync::JobBatches::Batch::RedisProxy)
468
+ end
469
+
470
+ describe 'RedisProxy' do
471
+ let!(:proxy) { CanvasSync::JobBatches::Batch.redis }
472
+
473
+ it 'calls Batch.redis with a block' do
474
+ expect(CanvasSync::JobBatches::Batch).to receive(:redis) do |&block|
475
+ expect(block).to be_a Proc
476
+ end
477
+ proxy.sadd('KEY', 5)
478
+ end
479
+
480
+ describe '#multi' do
481
+ it 'works with 1 arity' do
482
+ proxy.multi do |r|
483
+ r.sadd('KEY', 5)
484
+ end
485
+ end
486
+
487
+ it 'works with 0 arity' do
488
+ proxy.multi do
489
+ proxy.sadd('KEY', 5)
490
+ end
491
+ end
492
+ end
493
+ end
494
+ end
456
495
  end
@@ -57,8 +57,8 @@ RSpec.describe CanvasSync::JobBatches::Sidekiq do
57
57
  context 'when in batch' do
58
58
  let(:bid) { 'SAMPLEBID' }
59
59
  let(:jid) { 'SAMPLEJID' }
60
- before { Thread.current[:batch] = CanvasSync::JobBatches::Batch.new(bid) }
61
- after { Thread.current[:batch] = nil }
60
+ before { Thread.current[CanvasSync::JobBatches::CURRENT_BATCH_THREAD_KEY] = CanvasSync::JobBatches::Batch.new(bid) }
61
+ after { Thread.current[CanvasSync::JobBatches::CURRENT_BATCH_THREAD_KEY] = nil }
62
62
 
63
63
  it 'yields' do
64
64
  yielded = false
@@ -1,2 +1,2 @@
1
1
  canvas_xlist_course_id,xlist_course_id,canvas_section_id,section_id,status,canvas_nonxlist_course_id,nonxlist_course_id
2
- 1,sis_course_1,2,sis_section_2,active,2,sis_course_2
2
+ 2,sis_course_1,2,sis_section_2,active,3,sis_course_3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canvas_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.23.beta7
4
+ version: 0.17.26.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nate Collings
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-11 00:00:00.000000000 Z
11
+ date: 2021-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -476,6 +476,7 @@ files:
476
476
  - lib/canvas_sync/jobs/sync_simple_table_job.rb
477
477
  - lib/canvas_sync/jobs/sync_submissions_job.rb
478
478
  - lib/canvas_sync/jobs/sync_terms_job.rb
479
+ - lib/canvas_sync/jobs/term_batches_job.rb
479
480
  - lib/canvas_sync/misc_helper.rb
480
481
  - lib/canvas_sync/processors/assignment_groups_processor.rb
481
482
  - lib/canvas_sync/processors/assignments_processor.rb