[Asterisk-code-review] apps/dial/privacy/screening: Add a test for the 'go to VM on... (testsuite[master])

Matt Jordan asteriskteam at digium.com
Sat Sep 3 15:59:53 CDT 2016


Matt Jordan has uploaded a new change for review.

  https://gerrit.asterisk.org/3820

Change subject: apps/dial/privacy/screening: Add a test for the 'go to VM one time' option
......................................................................

apps/dial/privacy/screening: Add a test for the 'go to VM one time' option

This patch adds a test for the screening (p) option for the Dial application,
in which the callee decides to send the caller to VoiceMail. The test verifies
that the caller is ejected with the appropriate DIALSTATUS.

ASTERISK-25691

Change-Id: Ie8a36a2650373de0cb0e38544dece5f8028c480d
---
A tests/apps/dial/privacy/screening/single-vm/test-config.yaml
M tests/apps/dial/privacy/screening/tests.yaml
2 files changed, 165 insertions(+), 0 deletions(-)


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

diff --git a/tests/apps/dial/privacy/screening/single-vm/test-config.yaml b/tests/apps/dial/privacy/screening/single-vm/test-config.yaml
new file mode 100644
index 0000000..996f1fa
--- /dev/null
+++ b/tests/apps/dial/privacy/screening/single-vm/test-config.yaml
@@ -0,0 +1,164 @@
+testinfo:
+    summary: 'Test Screening where the calling party is sent to VM'
+    description: |
+        'This test covers the privacy option (P) where the called
+        party chooses to send the calling party to voicemail.
+        The test verifies some basic properties of the
+        Screening mode, including the recording of the name of the caller,
+        along with the resulting DIALSTATUS.'
+
+test-modules:
+    test-object:
+        config-section: test-object-config
+        typename: apptest.AppTest
+    modules:
+        -
+            config-section: asterisk-config
+            typename: pluggable_modules.AsteriskConfigModule
+
+asterisk-config:
+    -
+        src: 'tests/apps/dial/privacy/configs/extensions.conf'
+        dst: 'extensions.conf'
+
+test-object-config:
+  app: 'Dial'
+  scenarios:
+    -
+      channels:
+        -
+          channel-id: 'Test-User'
+          channel-name: 'Local/test_screening at default'
+          context: 'default'
+          exten: 'wait'
+          start-on-create: True
+          events:
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'Newexten'
+                  Context: 'default'
+                  Extension: 'wait'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'TestEvent'
+                  State: 'PLAYBACK'
+                  Message: 'beep'
+              actions:
+                -
+                  action-type: 'stream-audio-with-dtmf'
+                  sound-file: 'agent-loginok'
+                  dtmf: '#'
+                  dtmf-delay: 4
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'TestEvent'
+                  State: 'PLAYBACK'
+                  Message: 'vm-dialout'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Dial out commencing and announced'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'BridgeEnter'
+                  Channel: 'Local/test_screening at default-00000000;2'
+              actions:
+                -
+                  action-type: 'fail-test'
+                  message: 'Bridge of test_screening half occurred when they should have gone to VM'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'UserEvent'
+                  UserEvent: 'DialStatus'
+                  Result: 'NOANSWER'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'DIALSTATUS is NOANSWER'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'Hangup'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Channel test_screening hungup'
+        -
+          # This channel is dialed; as a result, we don't control
+          # it when it goes into an application. Instead, channel
+          # variables set in the dialplan will inform apptest that
+          # it can be controlled
+          channel-id: 'Farend'
+          channel-name: 'Local/farend at default'
+          testuniqueid: 'farend'
+          events:
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'TestEvent'
+                  State: 'PLAYBACK'
+                  Message: 'priv-callerintros/5551234.*'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Calling party name played to called party'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'TestEvent'
+                  State: 'PLAYBACK'
+                  Message: 'screen-callee-options'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Options played to far end'
+                -
+                  action-type: 'send-dtmf'
+                  delay: 1
+                  dtmf: '2'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'BridgeEnter'
+                  Channel: 'Local/farend at default-00000001;1'
+              actions:
+                -
+                  action-type: 'fail-test'
+                  message: 'Bridge of farend half occurred when it should have hung up'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'Hangup'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Channel farend hungup'
+
+
+properties:
+    minversion: '13.12.0'
+    tags:
+      - apps
+      - dial
+    dependencies:
+      - buildoption: 'TEST_FRAMEWORK'
+      - python : 'twisted'
+      - python : 'starpy'
+      - asterisk : 'app_senddtmf'
+      - asterisk : 'app_dial'
+
diff --git a/tests/apps/dial/privacy/screening/tests.yaml b/tests/apps/dial/privacy/screening/tests.yaml
index bb1cb4e..c17ff10 100644
--- a/tests/apps/dial/privacy/screening/tests.yaml
+++ b/tests/apps/dial/privacy/screening/tests.yaml
@@ -3,3 +3,4 @@
     - test: 'connect-call'
     - test: 'go-away'
     - test: 'torture'
+    - test: 'single-vm'

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie8a36a2650373de0cb0e38544dece5f8028c480d
Gerrit-PatchSet: 1
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan <mjordan at digium.com>



More information about the asterisk-code-review mailing list