[asterisk-dev] Change in testsuite[master]: pjsip/options: Add tests for qualify_timeout and max_initia...

George Joseph (Code Review) asteriskteam at digium.com
Mon Apr 13 17:25:29 CDT 2015


George Joseph has uploaded a new change for review.

  https://gerrit.asterisk.org/92

Change subject: pjsip/options:  Add tests for qualify_timeout and max_initial_qualify_time
......................................................................

pjsip/options:  Add tests for qualify_timeout and max_initial_qualify_time

Renamed the original test to 'auth' since it's putpose was to make sure
Asterisk didn't crash on authed OPTIONS.

Added a basic test that just makes sure a qualify works.

Added tests that make sure the new qualify_timeout and
max_initial_qualify_time work.

Change-Id: Id37260a9f6b9927fdd90bef73d43a97ce2445fa1
---
R tests/channels/pjsip/qualify/auth/configs/ast1/pjsip.conf
R tests/channels/pjsip/qualify/auth/sipp/options.xml
R tests/channels/pjsip/qualify/auth/test-config.yaml
A tests/channels/pjsip/qualify/basic/configs/ast1/pjsip.conf
A tests/channels/pjsip/qualify/basic/sipp/options.xml
A tests/channels/pjsip/qualify/basic/test-config.yaml
A tests/channels/pjsip/qualify/max_initial_qualify_time/configs/ast1/pjsip.conf
A tests/channels/pjsip/qualify/max_initial_qualify_time/sipp/options.xml
A tests/channels/pjsip/qualify/max_initial_qualify_time/test-config.yaml
A tests/channels/pjsip/qualify/qualify_timeout/configs/ast1/pjsip.conf
A tests/channels/pjsip/qualify/qualify_timeout/sipp/options.xml
A tests/channels/pjsip/qualify/qualify_timeout/test-config.yaml
A tests/channels/pjsip/qualify/tests.yaml
M tests/channels/pjsip/tests.yaml
14 files changed, 298 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.asterisk.org:29418/testsuite refs/changes/92/92/1

diff --git a/tests/channels/pjsip/qualify/configs/ast1/pjsip.conf b/tests/channels/pjsip/qualify/auth/configs/ast1/pjsip.conf
similarity index 100%
rename from tests/channels/pjsip/qualify/configs/ast1/pjsip.conf
rename to tests/channels/pjsip/qualify/auth/configs/ast1/pjsip.conf
diff --git a/tests/channels/pjsip/qualify/sipp/options.xml b/tests/channels/pjsip/qualify/auth/sipp/options.xml
similarity index 100%
rename from tests/channels/pjsip/qualify/sipp/options.xml
rename to tests/channels/pjsip/qualify/auth/sipp/options.xml
diff --git a/tests/channels/pjsip/qualify/test-config.yaml b/tests/channels/pjsip/qualify/auth/test-config.yaml
similarity index 100%
rename from tests/channels/pjsip/qualify/test-config.yaml
rename to tests/channels/pjsip/qualify/auth/test-config.yaml
diff --git a/tests/channels/pjsip/qualify/basic/configs/ast1/pjsip.conf b/tests/channels/pjsip/qualify/basic/configs/ast1/pjsip.conf
new file mode 100644
index 0000000..f9e3f8d
--- /dev/null
+++ b/tests/channels/pjsip/qualify/basic/configs/ast1/pjsip.conf
@@ -0,0 +1,14 @@
+
+[mytransport]
+type=transport
+protocol=udp
+bind=127.0.0.1:5060
+
+[sipp]
+type=endpoint
+aors=sipp
+
+[sipp]
+type=aor
+contact=sip:127.0.0.1:5061
+qualify_frequency=5
diff --git a/tests/channels/pjsip/qualify/basic/sipp/options.xml b/tests/channels/pjsip/qualify/basic/sipp/options.xml
new file mode 100644
index 0000000..4a6daaa
--- /dev/null
+++ b/tests/channels/pjsip/qualify/basic/sipp/options.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<scenario name="UAS OPTIONS">
+    <recv request="OPTIONS"/>
+
+  <pause></pause>
+  <send>
+    <![CDATA[
+
+      SIP/2.0 200 OK
+      [last_Via:]
+      [last_From:]
+      [last_To:]
+      [last_Call-ID:]
+      [last_CSeq:]
+      Contact: <sip:[local_ip]:[local_port];transport=[transport]>
+      Content-Length: 0
+    ]]>
+  </send>
+
+</scenario>
diff --git a/tests/channels/pjsip/qualify/basic/test-config.yaml b/tests/channels/pjsip/qualify/basic/test-config.yaml
new file mode 100644
index 0000000..b72424f
--- /dev/null
+++ b/tests/channels/pjsip/qualify/basic/test-config.yaml
@@ -0,0 +1,61 @@
+testinfo:
+    summary:     'Test basic qualify'
+    description: |
+        'With qualify_frequency = 5, send a qualify to a contact and verify that
+        the contact is marked Available before reactor-timeout. 
+
+test-modules:
+    test-object:
+        config-section: test-object-config
+        typename: 'sipp.SIPpTestCase'
+    modules:
+        -
+            config-section: 'ami-config'
+            typename: 'ami.AMIEventModule'
+
+test-object-config:
+    fail-on-any: False
+    reactor-timeout: 10
+    test-iterations:
+        -
+            scenarios:
+                - { 'key-args': {'scenario': 'options.xml', '-i': '127.0.0.1', '-p': '5061'} }
+
+ami-config:
+    -
+        type: 'headermatch'
+        id: '0'
+        conditions:
+            match:
+                Event: 'TestEvent'
+                State: 'AOR_CONTACT_UPDATE'
+        requirements:
+            match:
+                Contact: 'sip:127.0.0.1:5061'
+                Status: 'Available'
+        count: '1'
+    -
+        type: 'headermatch'
+        id: '0'
+        conditions:
+            match:
+                Event: 'TestEvent'
+                State: 'AOR_CONTACT_QUALIFY_RESULT'
+        requirements:
+            match:
+                Contact: 'sip:127.0.0.1:5061'
+                Status: 'Available'
+        count: '1'
+        
+properties:
+    minversion: '13.3.0'
+    dependencies:
+        - buildoption: 'TEST_FRAMEWORK'
+        - python: 'twisted'
+        - python: 'starpy'
+        - sipp:
+            version: 'v3.3'
+        - asterisk: 'res_pjsip'
+    tags:
+        - pjsip
+
diff --git a/tests/channels/pjsip/qualify/max_initial_qualify_time/configs/ast1/pjsip.conf b/tests/channels/pjsip/qualify/max_initial_qualify_time/configs/ast1/pjsip.conf
new file mode 100644
index 0000000..14ad57e
--- /dev/null
+++ b/tests/channels/pjsip/qualify/max_initial_qualify_time/configs/ast1/pjsip.conf
@@ -0,0 +1,19 @@
+
+[global]
+type=global
+max_initial_qualify_time = 1
+
+[mytransport]
+type=transport
+protocol=udp
+bind=127.0.0.1:5060
+
+[sipp]
+type=endpoint
+aors=sipp
+
+[sipp]
+type=aor
+contact=sip:127.0.0.1:5061
+qualify_frequency=6000
+qualify_timeout = 2
diff --git a/tests/channels/pjsip/qualify/max_initial_qualify_time/sipp/options.xml b/tests/channels/pjsip/qualify/max_initial_qualify_time/sipp/options.xml
new file mode 100644
index 0000000..2110310
--- /dev/null
+++ b/tests/channels/pjsip/qualify/max_initial_qualify_time/sipp/options.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<scenario name="UAS OPTIONS">
+    <recv request="OPTIONS"/>
+
+  <pause></pause>
+  <send>
+    <![CDATA[
+
+      SIP/2.0 401 Unauthorized
+      [last_Via:]
+      [last_From:]
+      [last_To:]
+      [last_Call-ID:]
+      [last_CSeq:]
+      Contact: <sip:[local_ip]:[local_port];transport=[transport]>
+      Content-Length: 0
+    ]]>
+  </send>
+
+</scenario>
diff --git a/tests/channels/pjsip/qualify/max_initial_qualify_time/test-config.yaml b/tests/channels/pjsip/qualify/max_initial_qualify_time/test-config.yaml
new file mode 100644
index 0000000..a629dfe
--- /dev/null
+++ b/tests/channels/pjsip/qualify/max_initial_qualify_time/test-config.yaml
@@ -0,0 +1,62 @@
+testinfo:
+    summary:     'Test max_initial_qualify time'
+    description: |
+        'With qualify_timeout = 6000, reactor-timeout = 10, and max_initial_qualify_time = 1,
+        send a qualify to a contact and verify that the contact is qualified before the
+        reactor timeout.  If it isn't then max_initial_qualify_time didn't work. 
+
+test-modules:
+    test-object:
+        config-section: test-object-config
+        typename: 'sipp.SIPpTestCase'
+    modules:
+        -
+            config-section: 'ami-config'
+            typename: 'ami.AMIEventModule'
+
+test-object-config:
+    fail-on-any: False
+    reactor-timeout: 10
+    test-iterations:
+        -
+            scenarios:
+                - { 'key-args': {'scenario': 'options.xml', '-i': '127.0.0.1', '-p': '5061'} }
+
+ami-config:
+    -
+        type: 'headermatch'
+        id: '0'
+        conditions:
+            match:
+                Event: 'TestEvent'
+                State: 'AOR_CONTACT_UPDATE'
+        requirements:
+            match:
+                Contact: 'sip:127.0.0.1:5061'
+                Status: 'Available'
+        count: '1'
+    -
+        type: 'headermatch'
+        id: '0'
+        conditions:
+            match:
+                Event: 'TestEvent'
+                State: 'AOR_CONTACT_QUALIFY_RESULT'
+        requirements:
+            match:
+                Contact: 'sip:127.0.0.1:5061'
+                Status: 'Available'
+        count: '1'
+        
+properties:
+    minversion: '13.3.0'
+    dependencies:
+        - buildoption: 'TEST_FRAMEWORK'
+        - python: 'twisted'
+        - python: 'starpy'
+        - sipp:
+            version: 'v3.3'
+        - asterisk: 'res_pjsip'
+    tags:
+        - pjsip
+
diff --git a/tests/channels/pjsip/qualify/qualify_timeout/configs/ast1/pjsip.conf b/tests/channels/pjsip/qualify/qualify_timeout/configs/ast1/pjsip.conf
new file mode 100644
index 0000000..14ad57e
--- /dev/null
+++ b/tests/channels/pjsip/qualify/qualify_timeout/configs/ast1/pjsip.conf
@@ -0,0 +1,19 @@
+
+[global]
+type=global
+max_initial_qualify_time = 1
+
+[mytransport]
+type=transport
+protocol=udp
+bind=127.0.0.1:5060
+
+[sipp]
+type=endpoint
+aors=sipp
+
+[sipp]
+type=aor
+contact=sip:127.0.0.1:5061
+qualify_frequency=6000
+qualify_timeout = 2
diff --git a/tests/channels/pjsip/qualify/qualify_timeout/sipp/options.xml b/tests/channels/pjsip/qualify/qualify_timeout/sipp/options.xml
new file mode 100644
index 0000000..2110310
--- /dev/null
+++ b/tests/channels/pjsip/qualify/qualify_timeout/sipp/options.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<scenario name="UAS OPTIONS">
+    <recv request="OPTIONS"/>
+
+  <pause></pause>
+  <send>
+    <![CDATA[
+
+      SIP/2.0 401 Unauthorized
+      [last_Via:]
+      [last_From:]
+      [last_To:]
+      [last_Call-ID:]
+      [last_CSeq:]
+      Contact: <sip:[local_ip]:[local_port];transport=[transport]>
+      Content-Length: 0
+    ]]>
+  </send>
+
+</scenario>
diff --git a/tests/channels/pjsip/qualify/qualify_timeout/test-config.yaml b/tests/channels/pjsip/qualify/qualify_timeout/test-config.yaml
new file mode 100644
index 0000000..7126b47
--- /dev/null
+++ b/tests/channels/pjsip/qualify/qualify_timeout/test-config.yaml
@@ -0,0 +1,50 @@
+testinfo:
+    summary:     'Test qualify timeout'
+    description: |
+        'With qualify_timeout = 2, and sipp pausing for 3 seconds, send a qualify to a
+        contact and verify that the contact is marked Unavailable. 
+
+test-modules:
+    test-object:
+        config-section: test-object-config
+        typename: 'sipp.SIPpTestCase'
+    modules:
+        -
+            config-section: 'ami-config'
+            typename: 'ami.AMIEventModule'
+
+test-object-config:
+    fail-on-any: False
+    reactor-timeout: 10
+    test-iterations:
+        -
+            scenarios:
+                - { 'key-args': {'scenario': 'options.xml', '-i': '127.0.0.1', '-d': '3000', '-p': '5061'} }
+
+ami-config:
+    -
+        type: 'headermatch'
+        id: '0'
+        conditions:
+            match:
+                Event: 'TestEvent'
+                State: 'AOR_CONTACT_QUALIFY_RESULT'
+        requirements:
+            match:
+                Contact: 'sip:127.0.0.1:5061'
+                Status: 'Unavailable'
+                RTT: '0'
+        count: '1'
+        
+properties:
+    minversion: '13.3.0'
+    dependencies:
+        - buildoption: 'TEST_FRAMEWORK'
+        - python: 'twisted'
+        - python: 'starpy'
+        - sipp:
+            version: 'v3.3'
+        - asterisk: 'res_pjsip'
+    tags:
+        - pjsip
+
diff --git a/tests/channels/pjsip/qualify/tests.yaml b/tests/channels/pjsip/qualify/tests.yaml
new file mode 100644
index 0000000..15fa299
--- /dev/null
+++ b/tests/channels/pjsip/qualify/tests.yaml
@@ -0,0 +1,6 @@
+# Enter tests here in the order they should be considered for execution:
+tests:
+    - test: 'basic'
+    - test: 'auth'
+    - test: 'max_initial_qualify_time'
+    - test: 'qualify_timeout'
diff --git a/tests/channels/pjsip/tests.yaml b/tests/channels/pjsip/tests.yaml
index ddc655a..21cb74b 100644
--- a/tests/channels/pjsip/tests.yaml
+++ b/tests/channels/pjsip/tests.yaml
@@ -19,7 +19,7 @@
     - dir: 'subscriptions'
     - test: 'hold_ice'
     - test: 'refer_send_to_vm'
-    - test: 'qualify'
+    - dir: 'qualify'
     - test: 'headers'
     - dir: 'transfers'
     - test: 'info_dtmf'

-- 
To view, visit https://gerrit.asterisk.org/92
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id37260a9f6b9927fdd90bef73d43a97ce2445fa1
Gerrit-PatchSet: 1
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: George Joseph <george.joseph at fairview5.com>



More information about the asterisk-dev mailing list