Skip to content

Commit 0113765

Browse files
authored
Merge branch 'development' into unsupported-matcher
2 parents 774ce4c + 6804f26 commit 0113765

3 files changed

Lines changed: 12 additions & 5 deletions

File tree

lib/splitclient-rb/sse/notification_manager_keeper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ def initialize(config, telemetry_runtime_producer, status_queue)
1414
@telemetry_runtime_producer = telemetry_runtime_producer
1515
@status_queue = status_queue
1616
@publisher_available = Concurrent::AtomicBoolean.new(true)
17-
@publishers_pri = Concurrent::AtomicFixnum.new
18-
@publishers_sec = Concurrent::AtomicFixnum.new
17+
@publishers_pri = Concurrent::AtomicFixnum.new(2)
18+
@publishers_sec = Concurrent::AtomicFixnum.new(2)
1919
end
2020

2121
def handle_incoming_occupancy_event(event)

spec/integrations/push_client_spec.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
let(:event_segment_update_must_fetch) { "fb\r\nid: 123\nevent: message\ndata: {\"id\":\"1\",\"clientId\":\"emptyClientId\",\"connectionId\":\"1\",\"timestamp\":1582045421733,\"channel\":\"mauroc\",\"data\":\"{\\\"type\\\" : \\\"SEGMENT_UPDATE\\\",\\\"changeNumber\\\": 1470947453879, \\\"segmentName\\\" : \\\"segment3\\\"}\",\"name\":\"asdasd\"}\n\n\r\n" }
1717
let(:event_segment_update_must_not_fetch) { "fb\r\nid: 123\nevent: message\ndata: {\"id\":\"1\",\"clientId\":\"emptyClientId\",\"connectionId\":\"1\",\"timestamp\":1582045421733,\"channel\":\"mauroc\",\"data\":\"{\\\"type\\\" : \\\"SEGMENT_UPDATE\\\",\\\"changeNumber\\\": -1, \\\"segmentName\\\" : \\\"segment3\\\"}\",\"name\":\"asdasd\"}\n\n\r\n" }
1818
let(:event_occupancy_with_publishers) { "d4\r\nevent: message\ndata: {\"id\":\"123\",\"timestamp\":1586803930362,\"encoding\":\"json\",\"channel\":\"[?occupancy=metrics.publishers]control_pri\",\"data\":\"{\\\"metrics\\\":{\\\"publishers\\\":2}}\",\"name\":\"[meta]occupancy\"}\n\n\r\nfb\r\nid: 123\nevent: message\ndata: {\"id\":\"1\",\"clientId\":\"emptyClientId\",\"connectionId\":\"1\",\"timestamp\":1582045421733,\"channel\":\"mauroc\",\"data\":\"{\\\"type\\\" : \\\"SPLIT_UPDATE\\\",\\\"changeNumber\\\": 1585948850111}\",\"name\":\"asdasd\"}\n\n\r\n" }
19-
let(:event_occupancy_without_publishers) { "d4\r\nevent: message\ndata: {\"id\":\"123\",\"timestamp\":1586803930362,\"encoding\":\"json\",\"channel\":\"[?occupancy=metrics.publishers]control_pri\",\"data\":\"{\\\"metrics\\\":{\\\"publishers\\\":0}}\",\"name\":\"[meta]occupancy\"}\n\n\r\n" }
19+
let(:event_occupancy_without_publishers) { "d4\r\nevent: message\ndata: {\"id\":\"123\",\"timestamp\":1586803930362,\"encoding\":\"json\",\"channel\":\"[?occupancy=metrics.publishers]control_sec\",\"data\":\"{\\\"metrics\\\":{\\\"publishers\\\":0}}\",\"name\":\"[meta]occupancy\"}\n\n\r\nd4\r\nevent: message\ndata: {\"id\":\"123\",\"timestamp\":1586803930362,\"encoding\":\"json\",\"channel\":\"[?occupancy=metrics.publishers]control_pri\",\"data\":\"{\\\"metrics\\\":{\\\"publishers\\\":0}}\",\"name\":\"[meta]occupancy\"}\n\n\r\n" }
2020
let(:event_control_STREAMING_PAUSED) { "d4\r\nevent: message\ndata: {\"id\":\"123\",\"clientId\":\"emptyClientId\",\"timestamp\":1582056812285,\"encoding\":\"json\",\"channel\":\"control_pri\",\"data\":\"{\\\"type\\\":\\\"CONTROL\\\",\\\"controlType\\\":\\\"STREAMING_PAUSED\\\"}\"}\n\n\r\n" }
2121
let(:event_control_STREAMING_RESUMED) { "d4\r\nevent: message\ndata: {\"id\":\"123\",\"clientId\":\"emptyClientId\",\"timestamp\":1582056812285,\"encoding\":\"json\",\"channel\":\"control_pri\",\"data\":\"{\\\"type\\\":\\\"CONTROL\\\",\\\"controlType\\\":\\\"STREAMING_RESUMED\\\"}\"}\n\n\r\n" }
2222
let(:event_control_STREAMING_DISABLED) { "d4\r\nevent: message\ndata: {\"id\":\"123\",\"clientId\":\"emptyClientId\",\"timestamp\":1582056812285,\"encoding\":\"json\",\"channel\":\"control_pri\",\"data\":\"{\\\"type\\\":\\\"CONTROL\\\",\\\"controlType\\\":\\\"STREAMING_DISABLED\\\"}\"}\n\n\r\n" }
23-
2423
let(:auth_service_url) { 'https://auth.fake.io/api/auth' }
2524
let(:splits) do
2625
File.read(File.join(SplitIoClient.root, 'spec/test_data/integrations/splits_push.json'))
@@ -171,7 +170,6 @@
171170

172171
treatment = 'control'
173172
for i in 1..5 do
174-
p i
175173
sleep(1)
176174
treatment = client.get_treatment('admin', 'bilal_split')
177175
break if treatment != 'control'

spec/sse/notification_manager_keeper_spec.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030

3131
it 'STREAMING_RESUMED without publishers enabled' do
3232
data = { 'metrics' => { 'publishers' => 0 } }
33+
event = SplitIoClient::SSE::EventSource::StreamData.new('message', 'test-client-id', data, 'control_sec')
34+
noti_manager_keeper.handle_incoming_occupancy_event(event)
35+
3336
event = SplitIoClient::SSE::EventSource::StreamData.new('message', 'test-client-id', data, 'control_pri')
3437
noti_manager_keeper.handle_incoming_occupancy_event(event)
3538

@@ -54,6 +57,9 @@
5457
context 'OCCUPANCY EVENT' do
5558
it 'first time without publishers available' do
5659
data = { 'metrics' => { 'publishers' => 0 } }
60+
event = SplitIoClient::SSE::EventSource::StreamData.new('message', 'test-client-id', data, 'control_sec')
61+
noti_manager_keeper.handle_incoming_occupancy_event(event)
62+
5763
event = SplitIoClient::SSE::EventSource::StreamData.new('message', 'test-client-id', data, 'control_pri')
5864
noti_manager_keeper.handle_incoming_occupancy_event(event)
5965

@@ -70,6 +76,9 @@
7076

7177
it 'handle many events' do
7278
data = { 'metrics' => { 'publishers' => 0 } }
79+
event = SplitIoClient::SSE::EventSource::StreamData.new('message', 'test-client-id', data, 'control_sec')
80+
noti_manager_keeper.handle_incoming_occupancy_event(event)
81+
7382
event = SplitIoClient::SSE::EventSource::StreamData.new('message', 'test-client-id', data, 'control_pri')
7483
noti_manager_keeper.handle_incoming_occupancy_event(event)
7584
expect(push_status_queue.pop(true)).to eq(SplitIoClient::Constants::PUSH_SUBSYSTEM_DOWN)

0 commit comments

Comments
 (0)