[svn-commits] mjordan: testsuite/asterisk/trunk r5296 - in /asterisk/trunk: configs/ lib/py...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Jul 22 11:26:52 CDT 2014


Author: mjordan
Date: Tue Jul 22 11:26:47 2014
New Revision: 5296

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=5296
Log:
rest_api/applications: Add endpoint subscription tests

This patch adds four tests:
* applications/subscribe-endpoint/nominal/resource - subscribe to a resource
  and verify that expected endpoint/channel events are received. Also ensures
  that we don't get stray endpoint messages from things we didn't subscribe to.
* applications/subscribe-endpoint/nominal/tech - subscribe to a technology
  and verify that expected endpoint/channel events are received. Again, we
  also make sure that we don't get stray endpoint messages for things we didn't
  subscribe to.
* applications/subscribe-endpoint/off-nominal/unknown_resource - make sure we
  get a 422 if we subscribe to a valid technology but invalid resource.
* applications/subscribe-endpoint/off-nominal/unknown_tech - make sure we get
  a 422 if we subscribe to an invalid technology.

Review: https://reviewboard.asterisk.org/r/3762/

ASTERISK-23692


Added:
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tests.yaml   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/tests.yaml   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_resource/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_resource/configs/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_resource/configs/ast1/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_resource/configs/ast1/pjsip.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_resource/test-config.yaml   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_tech/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_tech/configs/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_tech/configs/ast1/
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_tech/configs/ast1/pjsip.conf   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/off-nominal/unknown_tech/test-config.yaml   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/subscriber.py   (with props)
    asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/tests.yaml   (with props)
Modified:
    asterisk/trunk/configs/ari.conf
    asterisk/trunk/lib/python/asterisk/ari.py
    asterisk/trunk/tests/rest_api/applications/tests.yaml
    asterisk/trunk/tests/rest_api/tests.yaml

Modified: asterisk/trunk/configs/ari.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/configs/ari.conf?view=diff&rev=5296&r1=5295&r2=5296
==============================================================================
--- asterisk/trunk/configs/ari.conf (original)
+++ asterisk/trunk/configs/ari.conf Tue Jul 22 11:26:47 2014
@@ -1,5 +1,6 @@
 [general]
 enabled = yes
+pretty = yes
 
 [testsuite]
 type = user

Modified: asterisk/trunk/lib/python/asterisk/ari.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/lib/python/asterisk/ari.py?view=diff&rev=5296&r1=5295&r2=5296
==============================================================================
--- asterisk/trunk/lib/python/asterisk/ari.py (original)
+++ asterisk/trunk/lib/python/asterisk/ari.py Tue Jul 22 11:26:47 2014
@@ -197,6 +197,9 @@
 
     def execute_test(self):
         """Execute the current iteration of the test"""
+
+        if not isinstance(self.iterations, list):
+            return
 
         if (self.test_iteration == len(self.iterations)):
             LOGGER.info("All iterations executed; stopping")

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,9 @@
+[default]
+
+exten => dial_alice,1,NoOp()
+ same => n,Dial(IAX2/alice/alice)
+ same => n,Hangup()
+
+exten => dial_bob,1,NoOp()
+ same => n,Dial(PJSIP/bob)
+ same => n,Hangup()

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,9 @@
+[general]
+bindaddr = 127.0.0.1:4569
+
+[alice]
+type=friend
+host=127.0.0.2
+context=default
+username=alice
+secret=alice

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/iax.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,24 @@
+[global]
+debug=yes
+type=global
+
+[local-transport-udp]
+type=transport
+bind=127.0.0.1
+protocol=udp
+
+[bob]
+type=endpoint
+context=default
+allow=!all,ulaw,alaw
+transport=local-transport-udp
+aors=bob
+
+[bob]
+type=aor
+contact=sip:bob at 127.0.0.2:5060\;transport=udp
+
+[bob-identify]
+type=identify
+match=127.0.0.2
+endpoint=bob

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,11 @@
+[default]
+
+exten => alice,1,NoOp()
+ same => n,Answer()
+ same => n,UserEvent(TestEvent, Status:Alice)
+ same => n,Echo()
+
+exten => bob,1,NoOp()
+ same => n,Answer()
+ same => n,UserEvent(TestEvent, Status:Bob)
+ same => n,Echo()

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/extensions.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,2 @@
+[general]
+enabled = no

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/http.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,10 @@
+[general]
+bindaddr = 127.0.0.2:4569
+
+[alice]
+type=friend
+host=127.0.0.1
+context=default
+username=alice
+secret=alice
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/iax.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,25 @@
+[global]
+type=global
+debug=yes
+
+[local-transport-udp]
+type=transport
+bind=127.0.0.2
+protocol=udp
+
+[asterisk]
+type=endpoint
+context=default
+allow=!all,ulaw,alaw
+transport=local-transport-udp
+aors=asterisk
+
+[asterisk]
+type=aor
+contact=sip:asterisk at 127.0.0.1:5060\;transport=udp
+
+[bob-identify]
+type=identify
+match=127.0.0.1
+endpoint=asterisk
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml Tue Jul 22 11:26:47 2014
@@ -1,0 +1,139 @@
+testinfo:
+    summary: Test subscribing to an endpoint from an application.
+    description: |
+        This test covers nominal subscribing to an endpoint and
+        receiving events about that endpoint and a channel associated
+        with that endpoint. The test:
+        - Subscribes for updates about PJSIP/bob
+        - Originates a Local channel that dials an IAX2 endpoint
+          (alice/alice) and a PJSIP channel that dial a PJSIP
+          endpoint (bob). Both alice and bob are on the ast2
+          instance.
+        - The test verifies that we receive no updates about the
+          IAX2 resource (as we didn't subscribe for it), and that
+          we receive endpoint state notifications for the PJSIP
+          resource and its channel.
+
+test-modules:
+    add-to-search-path:
+        - 'tests/rest_api/applications/subscribe-endpoint'
+    test-object:
+        config-section: test-object-config
+        typename: ari.AriTestObject
+    modules:
+        -
+            config-section: hangup-channel
+            typename: 'pluggable_modules.AMIChannelHangup'
+        -
+            config-section: subscriber
+            typename: 'subscriber.ResourceSubscription'
+        -
+            config-section: ari-config
+            typename: ari.WebSocketEventModule
+
+
+test-object-config:
+    asterisk-instances: 2
+    test-iterations:
+        -
+            channel: 'Local/dial_alice at default'
+            context: 'default'
+            exten: 'dial_bob'
+            priority: '1'
+
+hangup-channel:
+    id: '1'
+    conditions:
+        match:
+            Event: 'UserEvent'
+            Status: 'Bob'
+    count: '1'
+
+
+subscriber:
+    id: 0
+    subscriptions:
+        - { event-source: 'endpoint:PJSIP/bob', app: 'testsuite' }
+
+ari-config:
+    events:
+        -   conditions:
+                match:
+                    type: EndpointStateChange
+                    application: testsuite
+                    endpoint:
+                        technology: IAX2
+                        resource: alice
+            count: 0
+        -   conditions:
+                match:
+                    type: EndpointStateChange
+                    application: testsuite
+                    endpoint:
+                        technology: PJSIP
+                        resource: bob
+                        state: online
+                        channel_ids: ['.*']
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelCreated
+                    application: testsuite
+                    channel:
+                        name: 'PJSIP/bob-00000000'
+                        state: Down
+                        dialplan: { context: 'default', exten: 's', priority: 1 }
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelStateChange
+                    application: testsuite
+                    channel:
+                        name: 'PJSIP/bob-00000000'
+                        state: Up
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelHangupRequest
+                    application: testsuite
+                    channel:
+                        name: 'PJSIP/bob-00000000'
+                        state: Up
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelDestroyed
+                    application: testsuite
+                    cause: 16
+                    cause_txt: 'Normal Clearing'
+                    channel:
+                        name: 'PJSIP/bob-00000000'
+                        state: Up
+            count: 1
+        -   conditions:
+                match:
+                    type: EndpointStateChange
+                    application: testsuite
+                    endpoint:
+                        technology: PJSIP
+                        resource: bob
+                        state: online
+                        channel_ids: []
+            count: 1
+
+
+properties:
+    minversion: '12.5.0'
+    dependencies:
+        - python : autobahn.websocket
+        - python : requests
+        - python : twisted
+        - python : starpy
+        - asterisk : res_ari_channels
+        - asterisk : app_echo
+        - asterisk : app_userevent
+        - asterisk : chan_pjsip
+        - asterisk : chan_iax2
+    tags:
+        - ARI
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/resource/test-config.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,10 @@
+[default]
+
+exten => dial_alice,1,NoOp()
+ same => n,Dial(IAX2/alice/alice)
+ same => n,Hangup()
+
+exten => dial_bob,1,NoOp()
+ same => n,Dial(PJSIP/bob)
+ same => n,Hangup()
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,9 @@
+[general]
+bindaddr = 127.0.0.1:4569
+
+[alice]
+type=friend
+host=127.0.0.2
+context=default
+username=alice
+secret=alice

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/iax.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,21 @@
+[local-transport-udp]
+type=transport
+bind=127.0.0.1
+protocol=udp
+
+[bob]
+type=endpoint
+context=default
+allow=!all,ulaw,alaw
+transport=local-transport-udp
+aors=bob
+
+[bob]
+type=aor
+contact=sip:bob at 127.0.0.2:5060\;transport=udp
+
+[bob-identify]
+type=identify
+match=127.0.0.2
+endpoint=bob
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,11 @@
+[default]
+
+exten => alice,1,NoOp()
+ same => n,Answer()
+ same => n,UserEvent(TestEvent, Status:Alice)
+ same => n,Echo()
+
+exten => bob,1,NoOp()
+ same => n,Answer()
+ same => n,UserEvent(TestEvent, Status:Bob)
+ same => n,Echo()

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/extensions.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,3 @@
+[general]
+
+enabled = no

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/http.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,10 @@
+[general]
+bindaddr = 127.0.0.2:4569
+
+[alice]
+type=friend
+host=127.0.0.1
+context=default
+username=alice
+secret=alice
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/iax.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf Tue Jul 22 11:26:47 2014
@@ -1,0 +1,21 @@
+[local-transport-udp]
+type=transport
+bind=127.0.0.2
+protocol=udp
+
+[asterisk]
+type=endpoint
+context=default
+allow=!all,ulaw,alaw
+transport=local-transport-udp
+aors=asterisk
+
+[asterisk]
+type=aor
+contact=sip:asterisk at 127.0.0.1:5060\;transport=udp
+
+[bob-identify]
+type=identify
+match=127.0.0.1
+endpoint=asterisk
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml Tue Jul 22 11:26:47 2014
@@ -1,0 +1,149 @@
+testinfo:
+    summary: Test subscribing to a technology from an application.
+    description: |
+        This test covers nominal subscribing to an endpoint through
+        its technology and receiving events about the endpoints and
+        the channels associated with that endpoint. The test:
+        - Subscribes for updates about IAX2
+        - Originates a Local channel that dials an IAX2 endpoint
+          (alice/alice) and a PJSIP channel that dial a PJSIP
+          endpoint (bob). Both alice and bob are on the ast2
+          instance.
+        - The test verifies that we receive no updates about the
+          PJSIP resource (as we didn't subscribe for it), and that
+          we receive endpoint state notifications for the IAX2
+          resource and its channel.
+
+test-modules:
+    add-to-search-path:
+        - 'tests/rest_api/applications/subscribe-endpoint'
+    test-object:
+        config-section: test-object-config
+        typename: ari.AriTestObject
+    modules:
+        -
+            config-section: hangup-channel
+            typename: 'pluggable_modules.AMIChannelHangup'
+        -
+            config-section: subscriber
+            typename: 'subscriber.ResourceSubscription'
+        -
+            config-section: ari-config
+            typename: ari.WebSocketEventModule
+
+
+test-object-config:
+    asterisk-instances: 2
+    test-iterations:
+        -
+            channel: 'Local/dial_alice at default'
+            context: 'default'
+            exten: 'dial_bob'
+            priority: '1'
+
+hangup-channel:
+    id: '1'
+    conditions:
+        match:
+            Event: 'UserEvent'
+            Status: 'Bob'
+    count: '1'
+
+
+subscriber:
+    id: 0
+    subscriptions:
+        - { event-source: 'endpoint:IAX2', app: 'testsuite' }
+
+ari-config:
+    events:
+        -   conditions:
+                match:
+                    type: EndpointStateChange
+                    application: testsuite
+                    endpoint:
+                        technology: IAX2
+                        resource: alice
+                        state: unknown
+                        channel_ids: ['.*']
+            count: 1
+        -   conditions:
+                match:
+                    type: EndpointStateChange
+                    application: testsuite
+                    endpoint:
+                        technology: PJSIP
+                        resource: bob
+                        state: online
+                        channel_ids: ['.*']
+            count: 0
+        -   conditions:
+                match:
+                    type: ChannelCreated
+                    application: testsuite
+                    channel:
+                        name: 'IAX2/alice-.*'
+                        state: Down
+                        dialplan: { context: 'default', exten: 's', priority: 1 }
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelStateChange
+                    application: testsuite
+                    channel:
+                        name: 'IAX2/alice-.*'
+                        state: Ringing
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelStateChange
+                    application: testsuite
+                    channel:
+                        name: 'IAX2/alice-.*'
+                        state: Up
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelHangupRequest
+                    application: testsuite
+                    channel:
+                        name: 'IAX2/alice-.*'
+                        state: Up
+            count: 1
+        -   conditions:
+                match:
+                    type: ChannelDestroyed
+                    application: testsuite
+                    cause: 16
+                    cause_txt: 'Normal Clearing'
+                    channel:
+                        name: 'IAX2/alice-.*'
+                        state: Up
+            count: 1
+        -   conditions:
+                match:
+                    type: EndpointStateChange
+                    application: testsuite
+                    endpoint:
+                        technology: IAX2
+                        resource: alice
+                        state: unknown
+                        channel_ids: []
+            count: 1
+
+
+properties:
+    minversion: '12.5.0'
+    dependencies:
+        - python : autobahn.websocket
+        - python : requests
+        - python : twisted
+        - python : starpy
+        - asterisk : res_ari_channels
+        - asterisk : app_echo
+        - asterisk : app_userevent
+        - asterisk : chan_pjsip
+        - asterisk : chan_iax2
+    tags:
+        - ARI
+

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tech/test-config.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tests.yaml?view=auto&rev=5296
==============================================================================
--- asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tests.yaml (added)
+++ asterisk/trunk/tests/rest_api/applications/subscribe-endpoint/nominal/tests.yaml Tue Jul 22 11:26:47 2014
@@ -1,0 +1,3 @@
+tests:
+    - test: 'resource'
+    - test: 'tech'


[... 373 lines stripped ...]



More information about the svn-commits mailing list