@@ -37,7 +37,7 @@ public void HandleControlEventStreamingResumedShouldNotifyEvent() throws Interru
37
37
@ Test
38
38
public void HandleControlEventStreamingResumedShouldNotNotifyEvent () {
39
39
LinkedBlockingQueue <PushManager .Status > messages = new LinkedBlockingQueue <>();
40
- OccupancyNotification occupancyNotification = buildOccupancyNotification (0 );
40
+ OccupancyNotification occupancyNotification = buildOccupancyNotification (0 , null );
41
41
ControlNotification controlNotification = buildControlNotification (ControlType .STREAMING_RESUMED );
42
42
43
43
PushStatusTracker pushStatusTracker = new PushStatusTrackerImp (messages );
@@ -65,7 +65,7 @@ public void HandleControlEventStreamingDisabledShouldNotifyShutdownEvent() {
65
65
@ Test
66
66
public void HandleOccupancyEventWithPublishersFirstTimeShouldNotNotifyEvent () {
67
67
LinkedBlockingQueue <PushManager .Status > messages = new LinkedBlockingQueue <>();
68
- OccupancyNotification occupancyNotification = buildOccupancyNotification (2 );
68
+ OccupancyNotification occupancyNotification = buildOccupancyNotification (2 , null );
69
69
70
70
PushStatusTracker pushStatusTracker = new PushStatusTrackerImp (messages );
71
71
pushStatusTracker .handleIncomingOccupancyEvent (occupancyNotification );
@@ -76,8 +76,23 @@ public void HandleOccupancyEventWithPublishersFirstTimeShouldNotNotifyEvent() {
76
76
public void HandleOccupancyEventWithPublishersAndWithStreamingDisabledShouldNotifyEvent () throws InterruptedException {
77
77
LinkedBlockingQueue <PushManager .Status > messages = new LinkedBlockingQueue <>();
78
78
PushStatusTracker pushStatusTracker = new PushStatusTrackerImp (messages );
79
- pushStatusTracker .handleIncomingOccupancyEvent (buildOccupancyNotification (0 ));
80
- pushStatusTracker .handleIncomingOccupancyEvent (buildOccupancyNotification (2 ));
79
+ pushStatusTracker .handleIncomingOccupancyEvent (buildOccupancyNotification (0 , null ));
80
+ pushStatusTracker .handleIncomingOccupancyEvent (buildOccupancyNotification (2 , null ));
81
+
82
+ assertThat (messages .size (), is (equalTo (2 )));
83
+ PushManager .Status m1 = messages .take ();
84
+ assertThat (m1 , is (equalTo (PushManager .Status .STREAMING_DOWN )));
85
+
86
+ PushManager .Status m2 = messages .take ();
87
+ assertThat (m2 , is (equalTo (PushManager .Status .STREAMING_READY )));
88
+ }
89
+
90
+ @ Test
91
+ public void HandleOccupancyEventWithDifferentChannelsPublishersShouldNotifyEvent () throws InterruptedException {
92
+ LinkedBlockingQueue <PushManager .Status > messages = new LinkedBlockingQueue <>();
93
+ PushStatusTracker pushStatusTracker = new PushStatusTrackerImp (messages );
94
+ pushStatusTracker .handleIncomingOccupancyEvent (buildOccupancyNotification (0 , "control_pri" ));
95
+ pushStatusTracker .handleIncomingOccupancyEvent (buildOccupancyNotification (2 , "control_sec" ));
81
96
82
97
assertThat (messages .size (), is (equalTo (2 )));
83
98
PushManager .Status m1 = messages .take ();
@@ -88,14 +103,14 @@ public void HandleOccupancyEventWithPublishersAndWithStreamingDisabledShouldNoti
88
103
}
89
104
90
105
private ControlNotification buildControlNotification (ControlType controlType ) {
91
- return new ControlNotification (buildGenericData (controlType , IncomingNotification .Type .CONTROL ,null ));
106
+ return new ControlNotification (buildGenericData (controlType , IncomingNotification .Type .CONTROL ,null , null ));
92
107
}
93
108
94
- private OccupancyNotification buildOccupancyNotification (int publishers ) {
95
- return new OccupancyNotification (buildGenericData (null , IncomingNotification .Type .OCCUPANCY , publishers ));
109
+ private OccupancyNotification buildOccupancyNotification (int publishers , String channel ) {
110
+ return new OccupancyNotification (buildGenericData (null , IncomingNotification .Type .OCCUPANCY , publishers , channel ));
96
111
}
97
112
98
- private GenericNotificationData buildGenericData (ControlType controlType , IncomingNotification .Type type , Integer publishers ) {
113
+ private GenericNotificationData buildGenericData (ControlType controlType , IncomingNotification .Type type , Integer publishers , String channel ) {
99
114
return new GenericNotificationData (
100
115
null ,
101
116
null ,
@@ -104,6 +119,6 @@ private GenericNotificationData buildGenericData(ControlType controlType, Incomi
104
119
publishers != null ? new OccupancyMetrics (publishers ) : null ,
105
120
null ,
106
121
type ,
107
- "channel-test" );
122
+ channel == null ? "channel-test" : channel );
108
123
}
109
124
}
0 commit comments