From 0de56c76f63a56cf50ba6beeda3dc48d5db3ae5f Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 08:21:36 -0800 Subject: [PATCH 1/7] upgrade libs --- spec/integrations/redis_client_spec.rb | 72 +++++++++++++------------- splitclient-rb.gemspec | 3 +- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/spec/integrations/redis_client_spec.rb b/spec/integrations/redis_client_spec.rb index b19733db..af10befa 100644 --- a/spec/integrations/redis_client_spec.rb +++ b/spec/integrations/redis_client_spec.rb @@ -606,17 +606,17 @@ expect(impressions[0][:treatment][:label]).to eq('whitelisted') expect(impressions[0][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[2][:matching_key]).to eq('nico_test') - expect(impressions[2][:split_name]).to eq(:testing) - expect(impressions[2][:treatment][:treatment]).to eq('off') - expect(impressions[2][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[2][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:split_name]).to eq(:testing) expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in segment all') - expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[2][:matching_key]).to eq('nico_test') + expect(impressions[2][:split_name]).to eq(:testing222) + expect(impressions[2][:treatment][:treatment]).to eq('off') + expect(impressions[2][:treatment][:label]).to eq('in segment all') + expect(impressions[2][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do @@ -700,17 +700,17 @@ expect(impressions[2][:treatment][:label]).to eq('whitelisted') expect(impressions[2][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing) - expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[0][:matching_key]).to eq('nico_test') - expect(impressions[0][:split_name]).to eq(:testing222) + expect(impressions[0][:split_name]).to eq(:testing) expect(impressions[0][:treatment][:treatment]).to eq('off') - expect(impressions[0][:treatment][:label]).to eq('in segment all') - expect(impressions[0][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[0][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[0][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[1][:matching_key]).to eq('nico_test') + expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:treatment][:treatment]).to eq('off') + expect(impressions[1][:treatment][:label]).to eq('in segment all') + expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do @@ -792,17 +792,17 @@ expect(impressions[0][:treatment][:label]).to eq('whitelisted') expect(impressions[0][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[2][:matching_key]).to eq('nico_test') - expect(impressions[2][:split_name]).to eq(:testing) - expect(impressions[2][:treatment][:treatment]).to eq('off') - expect(impressions[2][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[2][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:split_name]).to eq(:testing) expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in segment all') - expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[2][:matching_key]).to eq('nico_test') + expect(impressions[2][:split_name]).to eq(:testing222) + expect(impressions[2][:treatment][:treatment]).to eq('off') + expect(impressions[2][:treatment][:label]).to eq('in segment all') + expect(impressions[2][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do @@ -886,17 +886,17 @@ expect(impressions[2][:treatment][:label]).to eq('whitelisted') expect(impressions[2][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing) - expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[0][:matching_key]).to eq('nico_test') - expect(impressions[0][:split_name]).to eq(:testing222) + expect(impressions[0][:split_name]).to eq(:testing) expect(impressions[0][:treatment][:treatment]).to eq('off') - expect(impressions[0][:treatment][:label]).to eq('in segment all') - expect(impressions[0][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[0][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[0][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[1][:matching_key]).to eq('nico_test') + expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:treatment][:treatment]).to eq('off') + expect(impressions[1][:treatment][:label]).to eq('in segment all') + expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do diff --git a/splitclient-rb.gemspec b/splitclient-rb.gemspec index a8adca6a..a2dcf8a7 100644 --- a/splitclient-rb.gemspec +++ b/splitclient-rb.gemspec @@ -48,7 +48,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'simplecov-json', '~> 0.2' spec.add_development_dependency 'timecop', '~> 0.9' spec.add_development_dependency 'webmock', '~> 3.14' - spec.add_development_dependency 'webrick', '~> 1.7' + spec.add_development_dependency 'webrick', '~> 1.8.2' spec.add_runtime_dependency 'bitarray', '~> 1.3' spec.add_runtime_dependency 'concurrent-ruby', '~> 1.0' @@ -61,4 +61,5 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'redis', '>= 4.0.0', '< 6.0' spec.add_runtime_dependency 'socketry', '>= 0.4', '< 1.0' spec.add_runtime_dependency 'thread_safe', '~> 0.3' + spec.add_runtime_dependency 'rexml', '~> 3.3.9' end From f75ab32234aa32c27cafd78ae9c8f654ef828e40 Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 08:37:14 -0800 Subject: [PATCH 2/7] revert spec change --- spec/integrations/redis_client_spec.rb | 72 +++++++++++++------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/spec/integrations/redis_client_spec.rb b/spec/integrations/redis_client_spec.rb index af10befa..b19733db 100644 --- a/spec/integrations/redis_client_spec.rb +++ b/spec/integrations/redis_client_spec.rb @@ -606,17 +606,17 @@ expect(impressions[0][:treatment][:label]).to eq('whitelisted') expect(impressions[0][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing) - expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[2][:matching_key]).to eq('nico_test') - expect(impressions[2][:split_name]).to eq(:testing222) + expect(impressions[2][:split_name]).to eq(:testing) expect(impressions[2][:treatment][:treatment]).to eq('off') - expect(impressions[2][:treatment][:label]).to eq('in segment all') - expect(impressions[2][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[2][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[2][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[1][:matching_key]).to eq('nico_test') + expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:treatment][:treatment]).to eq('off') + expect(impressions[1][:treatment][:label]).to eq('in segment all') + expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do @@ -700,17 +700,17 @@ expect(impressions[2][:treatment][:label]).to eq('whitelisted') expect(impressions[2][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[0][:matching_key]).to eq('nico_test') - expect(impressions[0][:split_name]).to eq(:testing) - expect(impressions[0][:treatment][:treatment]).to eq('off') - expect(impressions[0][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[0][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:split_name]).to eq(:testing) expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in segment all') - expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[0][:matching_key]).to eq('nico_test') + expect(impressions[0][:split_name]).to eq(:testing222) + expect(impressions[0][:treatment][:treatment]).to eq('off') + expect(impressions[0][:treatment][:label]).to eq('in segment all') + expect(impressions[0][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do @@ -792,17 +792,17 @@ expect(impressions[0][:treatment][:label]).to eq('whitelisted') expect(impressions[0][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing) - expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[2][:matching_key]).to eq('nico_test') - expect(impressions[2][:split_name]).to eq(:testing222) + expect(impressions[2][:split_name]).to eq(:testing) expect(impressions[2][:treatment][:treatment]).to eq('off') - expect(impressions[2][:treatment][:label]).to eq('in segment all') - expect(impressions[2][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[2][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[2][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[1][:matching_key]).to eq('nico_test') + expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:treatment][:treatment]).to eq('off') + expect(impressions[1][:treatment][:label]).to eq('in segment all') + expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do @@ -886,17 +886,17 @@ expect(impressions[2][:treatment][:label]).to eq('whitelisted') expect(impressions[2][:treatment][:change_number]).to eq(1_506_703_262_916) - expect(impressions[0][:matching_key]).to eq('nico_test') - expect(impressions[0][:split_name]).to eq(:testing) - expect(impressions[0][:treatment][:treatment]).to eq('off') - expect(impressions[0][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') - expect(impressions[0][:treatment][:change_number]).to eq(1_506_440_189_077) - expect(impressions[1][:matching_key]).to eq('nico_test') - expect(impressions[1][:split_name]).to eq(:testing222) + expect(impressions[1][:split_name]).to eq(:testing) expect(impressions[1][:treatment][:treatment]).to eq('off') - expect(impressions[1][:treatment][:label]).to eq('in segment all') - expect(impressions[1][:treatment][:change_number]).to eq(1_505_162_627_437) + expect(impressions[1][:treatment][:label]).to eq('in split test_definition_as_of treatment [off]') + expect(impressions[1][:treatment][:change_number]).to eq(1_506_440_189_077) + + expect(impressions[0][:matching_key]).to eq('nico_test') + expect(impressions[0][:split_name]).to eq(:testing222) + expect(impressions[0][:treatment][:treatment]).to eq('off') + expect(impressions[0][:treatment][:label]).to eq('in segment all') + expect(impressions[0][:treatment][:change_number]).to eq(1_505_162_627_437) end it 'returns treatments with input validation' do From b2fe1619ada6b6f3b857026a0405e3192cfa9785 Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 08:46:06 -0800 Subject: [PATCH 3/7] polish --- splitclient-rb.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/splitclient-rb.gemspec b/splitclient-rb.gemspec index a2dcf8a7..3e45076d 100644 --- a/splitclient-rb.gemspec +++ b/splitclient-rb.gemspec @@ -59,7 +59,7 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'lru_redux', '~> 1.1' spec.add_runtime_dependency 'net-http-persistent', '>= 2.9', '< 5.0' spec.add_runtime_dependency 'redis', '>= 4.0.0', '< 6.0' + spec.add_runtime_dependency 'rexml', '~> 3.3.9' spec.add_runtime_dependency 'socketry', '>= 0.4', '< 1.0' spec.add_runtime_dependency 'thread_safe', '~> 0.3' - spec.add_runtime_dependency 'rexml', '~> 3.3.9' end From fdba26dbd673fabef77c1f0e8c897de9f425da9c Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 10:23:08 -0800 Subject: [PATCH 4/7] polish --- splitclient-rb.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/splitclient-rb.gemspec b/splitclient-rb.gemspec index 3e45076d..3ace0ba4 100644 --- a/splitclient-rb.gemspec +++ b/splitclient-rb.gemspec @@ -42,6 +42,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-nav', '~> 1.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rake-compiler', '~> 1.1' + spec.add_development_dependency 'rexml', '~> 3.3.9' spec.add_development_dependency 'rspec', '~> 3.10' spec.add_development_dependency 'rubocop', '1.28.2' spec.add_development_dependency 'simplecov', '~> 0.20' @@ -59,7 +60,6 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency 'lru_redux', '~> 1.1' spec.add_runtime_dependency 'net-http-persistent', '>= 2.9', '< 5.0' spec.add_runtime_dependency 'redis', '>= 4.0.0', '< 6.0' - spec.add_runtime_dependency 'rexml', '~> 3.3.9' spec.add_runtime_dependency 'socketry', '>= 0.4', '< 1.0' spec.add_runtime_dependency 'thread_safe', '~> 0.3' end From 273f7cd84ead802e6bf5cf0b62a8b9cf6d411e6d Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 10:43:54 -0800 Subject: [PATCH 5/7] removed rexml and upgraded webmock --- splitclient-rb.gemspec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/splitclient-rb.gemspec b/splitclient-rb.gemspec index 3ace0ba4..0a86d725 100644 --- a/splitclient-rb.gemspec +++ b/splitclient-rb.gemspec @@ -42,13 +42,12 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-nav', '~> 1.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rake-compiler', '~> 1.1' - spec.add_development_dependency 'rexml', '~> 3.3.9' spec.add_development_dependency 'rspec', '~> 3.10' spec.add_development_dependency 'rubocop', '1.28.2' spec.add_development_dependency 'simplecov', '~> 0.20' spec.add_development_dependency 'simplecov-json', '~> 0.2' spec.add_development_dependency 'timecop', '~> 0.9' - spec.add_development_dependency 'webmock', '~> 3.14' + spec.add_development_dependency 'webmock', '~> 3.24' spec.add_development_dependency 'webrick', '~> 1.8.2' spec.add_runtime_dependency 'bitarray', '~> 1.3' From 5217f632d1054728f26b663af6505300f65bef43 Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 11:14:06 -0800 Subject: [PATCH 6/7] fix test --- spec/integrations/dedupe_impression_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/integrations/dedupe_impression_spec.rb b/spec/integrations/dedupe_impression_spec.rb index 399d3045..41536789 100644 --- a/spec/integrations/dedupe_impression_spec.rb +++ b/spec/integrations/dedupe_impression_spec.rb @@ -74,7 +74,7 @@ impressions = debug_client.instance_variable_get(:@impressions_repository).batch - sleep 0.5 + sleep 1 expect(impressions.size).to eq 9 end From 79d1565e6bbcf860779e26fadb1e0bcba7d81f12 Mon Sep 17 00:00:00 2001 From: Bilal Al Date: Fri, 24 Jan 2025 11:24:27 -0800 Subject: [PATCH 7/7] fix test --- spec/integrations/dedupe_impression_spec.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spec/integrations/dedupe_impression_spec.rb b/spec/integrations/dedupe_impression_spec.rb index 41536789..c5d0e08c 100644 --- a/spec/integrations/dedupe_impression_spec.rb +++ b/spec/integrations/dedupe_impression_spec.rb @@ -51,11 +51,8 @@ expect(debug_client.get_treatments_with_config_by_flag_sets('admin', ['set_3'])).to eq treatments expect(debug_client.get_treatment('24', 'Test_Save_1')).to eq 'off' expect(debug_client.get_treatment('24', 'Test_Save_1')).to eq 'off' - + sleep 1 impressions = debug_client.instance_variable_get(:@impressions_repository).batch - - sleep 0.5 - expect(impressions.size).to eq 7 end