<p>Friendly Automation <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/10984">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Joshua C. Colp: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ARI event filtering<br><br>Added several tests that check to make sure the allowed and disallowed event<br>filtering mechanism works for an ARI application.<br><br>ASTERISK-28106<br><br>Change-Id: I29e24c9386f9638484a816a519948a564c821a8a<br>---<br>A tests/rest_api/applications/event-filter/allowed/configs/ast1/extensions.conf<br>A tests/rest_api/applications/event-filter/allowed/test-config.yaml<br>A tests/rest_api/applications/event-filter/both/configs/ast1/extensions.conf<br>A tests/rest_api/applications/event-filter/both/test-config.yaml<br>A tests/rest_api/applications/event-filter/disallowed/configs/ast1/extensions.conf<br>A tests/rest_api/applications/event-filter/disallowed/test-config.yaml<br>A tests/rest_api/applications/event-filter/tests.yaml<br>M tests/rest_api/applications/tests.yaml<br>8 files changed, 273 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/rest_api/applications/event-filter/allowed/configs/ast1/extensions.conf b/tests/rest_api/applications/event-filter/allowed/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..59c7f03</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/allowed/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+exten => s,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+       same => n,Answer()</span><br><span style="color: hsl(120, 100%, 40%);">+ same => n,Echo()</span><br><span style="color: hsl(120, 100%, 40%);">+   same => n,Hangup()</span><br><span>diff --git a/tests/rest_api/applications/event-filter/allowed/test-config.yaml b/tests/rest_api/applications/event-filter/allowed/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..4d34d38</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/allowed/test-config.yaml</span><br><span>@@ -0,0 +1,82 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+    summary: 'Test the event type allowed filter'</span><br><span style="color: hsl(120, 100%, 40%);">+    description: |</span><br><span style="color: hsl(120, 100%, 40%);">+        Subscribe to all events. Then create an event type allowed filter that</span><br><span style="color: hsl(120, 100%, 40%);">+        only allows StasisStart and StasisEnd events to be sent to the app.</span><br><span style="color: hsl(120, 100%, 40%);">+        Check to make sure those events are received, while also checking that</span><br><span style="color: hsl(120, 100%, 40%);">+        other event types are not.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+    dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : autobahn.websocket</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : requests</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : twisted</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : starpy</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : res_ari_channels</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : app_echo</span><br><span style="color: hsl(120, 100%, 40%);">+    tags:</span><br><span style="color: hsl(120, 100%, 40%);">+        - ARI</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+    test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+        config-section: test-object</span><br><span style="color: hsl(120, 100%, 40%);">+        typename: ari.AriBaseTestObject</span><br><span style="color: hsl(120, 100%, 40%);">+    modules:</span><br><span style="color: hsl(120, 100%, 40%);">+        -   typename: pluggable_modules.EventActionModule</span><br><span style="color: hsl(120, 100%, 40%);">+            config-section: event-actions</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+    subscribe-all: True</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+event-actions:</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-start:</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-requests:</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'put'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'applications/testsuite/eventFilter'</span><br><span style="color: hsl(120, 100%, 40%);">+                body: { 'allowed': [ { 'type': 'StasisStart' }, { 'type': 'StasisEnd' } ]}</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'post'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'channels'</span><br><span style="color: hsl(120, 100%, 40%);">+                params:</span><br><span style="color: hsl(120, 100%, 40%);">+                    app: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                    endpoint: 'Local/s@default'</span><br><span style="color: hsl(120, 100%, 40%);">+                    channelId: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'ChannelCreated'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 0</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'ChannelDestroyed'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 0</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'StasisStart'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-requests:</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'delete'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'channels/chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'StasisEnd'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+        stop_test:</span><br><span>diff --git a/tests/rest_api/applications/event-filter/both/configs/ast1/extensions.conf b/tests/rest_api/applications/event-filter/both/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..59c7f03</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/both/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+exten => s,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+      same => n,Answer()</span><br><span style="color: hsl(120, 100%, 40%);">+ same => n,Echo()</span><br><span style="color: hsl(120, 100%, 40%);">+   same => n,Hangup()</span><br><span>diff --git a/tests/rest_api/applications/event-filter/both/test-config.yaml b/tests/rest_api/applications/event-filter/both/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..0f7b4c9</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/both/test-config.yaml</span><br><span>@@ -0,0 +1,85 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+    summary: 'Test setting both the event type allowed and disallowed filters'</span><br><span style="color: hsl(120, 100%, 40%);">+    description: |</span><br><span style="color: hsl(120, 100%, 40%);">+        Subscribe to all events. Then create an event type allowed filter that</span><br><span style="color: hsl(120, 100%, 40%);">+        only allows StasisStart, StasisEnd, and ChannelCreated events. At the</span><br><span style="color: hsl(120, 100%, 40%);">+        same time create a disallowed filter that does not allow ChannelCreated</span><br><span style="color: hsl(120, 100%, 40%);">+        events (overrides that which is specified in allowed). Check to make</span><br><span style="color: hsl(120, 100%, 40%);">+        sure StasisStart/End events are received, but not the ChannelCreated</span><br><span style="color: hsl(120, 100%, 40%);">+        event (or others).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+    dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : autobahn.websocket</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : requests</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : twisted</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : starpy</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : res_ari_channels</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : app_echo</span><br><span style="color: hsl(120, 100%, 40%);">+    tags:</span><br><span style="color: hsl(120, 100%, 40%);">+        - ARI</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+    test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+        config-section: test-object</span><br><span style="color: hsl(120, 100%, 40%);">+        typename: ari.AriBaseTestObject</span><br><span style="color: hsl(120, 100%, 40%);">+    modules:</span><br><span style="color: hsl(120, 100%, 40%);">+        -   typename: pluggable_modules.EventActionModule</span><br><span style="color: hsl(120, 100%, 40%);">+            config-section: event-actions</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+    subscribe-all: True</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+event-actions:</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-start:</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-requests:</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'put'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'applications/testsuite/eventFilter'</span><br><span style="color: hsl(120, 100%, 40%);">+                body: { 'allowed': [ { 'type': 'StasisStart' }, { 'type': 'StasisEnd' },</span><br><span style="color: hsl(120, 100%, 40%);">+                { 'type': 'ChannelCreated' } ], 'disallowed': [ { 'type': 'ChannelCreated' } ]}</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'post'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'channels'</span><br><span style="color: hsl(120, 100%, 40%);">+                params:</span><br><span style="color: hsl(120, 100%, 40%);">+                    app: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                    endpoint: 'Local/s@default'</span><br><span style="color: hsl(120, 100%, 40%);">+                    channelId: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'ChannelCreated'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 0</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'ChannelDestroyed'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 0</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'StasisStart'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-requests:</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'delete'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'channels/chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'StasisEnd'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+        stop_test:</span><br><span>diff --git a/tests/rest_api/applications/event-filter/disallowed/configs/ast1/extensions.conf b/tests/rest_api/applications/event-filter/disallowed/configs/ast1/extensions.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..59c7f03</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/disallowed/configs/ast1/extensions.conf</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[default]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+exten => s,1,NoOp()</span><br><span style="color: hsl(120, 100%, 40%);">+  same => n,Answer()</span><br><span style="color: hsl(120, 100%, 40%);">+ same => n,Echo()</span><br><span style="color: hsl(120, 100%, 40%);">+   same => n,Hangup()</span><br><span>diff --git a/tests/rest_api/applications/event-filter/disallowed/test-config.yaml b/tests/rest_api/applications/event-filter/disallowed/test-config.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..ef2a16d</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/disallowed/test-config.yaml</span><br><span>@@ -0,0 +1,82 @@</span><br><span style="color: hsl(120, 100%, 40%);">+testinfo:</span><br><span style="color: hsl(120, 100%, 40%);">+    summary: 'Test the event type disallowed filter'</span><br><span style="color: hsl(120, 100%, 40%);">+    description: |</span><br><span style="color: hsl(120, 100%, 40%);">+        Subscribe to all events. Then create an event type disallowed filter</span><br><span style="color: hsl(120, 100%, 40%);">+        that does not allow ChannelCreated and ChannelDestroyed events to be</span><br><span style="color: hsl(120, 100%, 40%);">+        sent to the app. Check to make sure those events are not and also make</span><br><span style="color: hsl(120, 100%, 40%);">+        sure other event types are.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+properties:</span><br><span style="color: hsl(120, 100%, 40%);">+    dependencies:</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : autobahn.websocket</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : requests</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : twisted</span><br><span style="color: hsl(120, 100%, 40%);">+        - python : starpy</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : res_ari_channels</span><br><span style="color: hsl(120, 100%, 40%);">+        - asterisk : app_echo</span><br><span style="color: hsl(120, 100%, 40%);">+    tags:</span><br><span style="color: hsl(120, 100%, 40%);">+        - ARI</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-modules:</span><br><span style="color: hsl(120, 100%, 40%);">+    test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+        config-section: test-object</span><br><span style="color: hsl(120, 100%, 40%);">+        typename: ari.AriBaseTestObject</span><br><span style="color: hsl(120, 100%, 40%);">+    modules:</span><br><span style="color: hsl(120, 100%, 40%);">+        -   typename: pluggable_modules.EventActionModule</span><br><span style="color: hsl(120, 100%, 40%);">+            config-section: event-actions</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+test-object:</span><br><span style="color: hsl(120, 100%, 40%);">+    subscribe-all: True</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+event-actions:</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-start:</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-requests:</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'put'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'applications/testsuite/eventFilter'</span><br><span style="color: hsl(120, 100%, 40%);">+                body: { 'disallowed': [ { 'type': 'ChannelCreated' }, { 'type': 'ChannelDestroyed' } ]}</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'post'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'channels'</span><br><span style="color: hsl(120, 100%, 40%);">+                params:</span><br><span style="color: hsl(120, 100%, 40%);">+                    app: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                    endpoint: 'Local/s@default'</span><br><span style="color: hsl(120, 100%, 40%);">+                    channelId: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'ChannelCreated'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 0</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'ChannelDestroyed'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 0</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'StasisStart'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-requests:</span><br><span style="color: hsl(120, 100%, 40%);">+            -</span><br><span style="color: hsl(120, 100%, 40%);">+                method: 'delete'</span><br><span style="color: hsl(120, 100%, 40%);">+                uri: 'channels/chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+    -</span><br><span style="color: hsl(120, 100%, 40%);">+        ari-events:</span><br><span style="color: hsl(120, 100%, 40%);">+            match:</span><br><span style="color: hsl(120, 100%, 40%);">+                type: 'StasisEnd'</span><br><span style="color: hsl(120, 100%, 40%);">+                application: 'testsuite'</span><br><span style="color: hsl(120, 100%, 40%);">+                channel:</span><br><span style="color: hsl(120, 100%, 40%);">+                    id: 'chan1'</span><br><span style="color: hsl(120, 100%, 40%);">+            count: 1</span><br><span style="color: hsl(120, 100%, 40%);">+        stop_test:</span><br><span>diff --git a/tests/rest_api/applications/event-filter/tests.yaml b/tests/rest_api/applications/event-filter/tests.yaml</span><br><span>new file mode 100644</span><br><span>index 0000000..5d4a9a4</span><br><span>--- /dev/null</span><br><span>+++ b/tests/rest_api/applications/event-filter/tests.yaml</span><br><span>@@ -0,0 +1,5 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# Enter tests here in the order they should be considered for execution:</span><br><span style="color: hsl(120, 100%, 40%);">+tests:</span><br><span style="color: hsl(120, 100%, 40%);">+    - test: 'allowed'</span><br><span style="color: hsl(120, 100%, 40%);">+    - test: 'both'</span><br><span style="color: hsl(120, 100%, 40%);">+    - test: 'disallowed'</span><br><span>diff --git a/tests/rest_api/applications/tests.yaml b/tests/rest_api/applications/tests.yaml</span><br><span>index 0ed0bf6..0c74707 100644</span><br><span>--- a/tests/rest_api/applications/tests.yaml</span><br><span>+++ b/tests/rest_api/applications/tests.yaml</span><br><span>@@ -1,6 +1,7 @@</span><br><span> # Enter tests here in the order they should be considered for execution:</span><br><span> tests:</span><br><span>     - test: 'errors'</span><br><span style="color: hsl(120, 100%, 40%);">+    - dir: 'event-filter'</span><br><span>     - dir: 'subscribe-endpoint'</span><br><span>     - test: 'subscribe-all'</span><br><span>     - test: 'subscribe-all-bridge'</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/10984">change 10984</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10984"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: testsuite </div>
<div style="display:none"> Gerrit-Branch: 16 </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I29e24c9386f9638484a816a519948a564c821a8a </div>
<div style="display:none"> Gerrit-Change-Number: 10984 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation (1000185) </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Joshua C. Colp <jcolp@digium.com> </div>