[asterisk-commits] apps/dial/privacy/privacy: Add a test for the 'go away forev... (testsuite[master])

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Sep 9 11:27:25 CDT 2016


Anonymous Coward #1000019 has submitted this change and it was merged.

Change subject: apps/dial/privacy/privacy: Add a test for the 'go away forever' option
......................................................................


apps/dial/privacy/privacy: Add a test for the 'go away forever' option

This patch adds a test for the privacy (P) option for the Dial application,
in which the callee decides to banish the caller forever to a 'go away
now and forever more' menu. The test verifies that the caller is
ejected with the appropriate DIALSTATUS, and that a subsequent call attempt
by the caller is immediately ejected out of the Dial application without an
attempt being made to reach the callee.

ASTERISK-25691

Change-Id: I103d6a68a7943d8d213d834d571f74a17c501668
---
A tests/apps/dial/privacy/privacy/go-away/test-config.yaml
M tests/apps/dial/privacy/privacy/tests.yaml
2 files changed, 211 insertions(+), 0 deletions(-)

Approvals:
  George Joseph: Looks good to me, but someone else must approve
  Anonymous Coward #1000019: Verified
  Joshua Colp: Looks good to me, approved



diff --git a/tests/apps/dial/privacy/privacy/go-away/test-config.yaml b/tests/apps/dial/privacy/privacy/go-away/test-config.yaml
new file mode 100644
index 0000000..5b19f15
--- /dev/null
+++ b/tests/apps/dial/privacy/privacy/go-away/test-config.yaml
@@ -0,0 +1,210 @@
+testinfo:
+    summary: 'Test Privacy where the calling party is banished away'
+    description: |
+        'This test covers the privacy option (P) where the called
+        party chooses to send the calling party away.
+        The test verifies some basic properties of the
+        Privacy mode, including the recording of the name of the caller,
+        along with the resulting DIALSTATUS.
+
+        Once the Caller ID has been banned, a second attempt is made. The
+        test verifies that it immediately gets bounced out with a status
+        of DONTCALL.'
+
+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_privacy 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_privacy at default-00000000;2'
+              actions:
+                -
+                  action-type: 'fail-test'
+                  message: 'Bridge of test_privacy half occurred when they should have gone to VM'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'UserEvent'
+                  UserEvent: 'DialStatus'
+                  Result: 'DONTCALL'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'DIALSTATUS is DONTCALL'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'Hangup'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Channel test_privacy hungup'
+                -
+                  action-type: 'start-call'
+                  channel-id: 'Test-User2'
+        -
+          # 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: 'priv-callee-options'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Options played to far end'
+                -
+                  action-type: 'send-dtmf'
+                  delay: 1
+                  dtmf: '4'
+            -
+              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'
+        -
+          channel-id: 'Test-User2'
+          channel-name: 'Local/test_privacy at default'
+          context: 'default'
+          exten: 'wait'
+          ignore-until-started: True
+          events:
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'TestEvent'
+                  State: 'PLAYBACK'
+                  Message: 'beep'
+              actions:
+                -
+                  action-type: 'fail-test'
+                  expected-result: 'Dial should have been blocked but we got asked to record our name'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'UserEvent'
+                  UserEvent: 'DialStatus'
+                  Result: 'DONTCALL'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'DIALSTATUS is DONTCALL'
+            -
+              type: 'headermatch'
+              conditions:
+                match:
+                  Event: 'Hangup'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Channel test_privacy hungup a second time'
+
+
+properties:
+    minversion: '13.12.0'
+    tags:
+      - apps
+      - dial
+    dependencies:
+      - buildoption: 'TEST_FRAMEWORK'
+      - python : 'twisted'
+      - python : 'starpy'
+      - asterisk : 'app_senddtmf'
+      - asterisk : 'app_dial'
+      - asterisk : 'app_playback'
+
diff --git a/tests/apps/dial/privacy/privacy/tests.yaml b/tests/apps/dial/privacy/privacy/tests.yaml
index 36f50e4..1be640e 100644
--- a/tests/apps/dial/privacy/privacy/tests.yaml
+++ b/tests/apps/dial/privacy/privacy/tests.yaml
@@ -2,3 +2,4 @@
 tests:
     - test: 'connect-call'
     - test: 'forever-vm'
+    - test: 'go-away'

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I103d6a68a7943d8d213d834d571f74a17c501668
Gerrit-PatchSet: 2
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: Matt Jordan <mjordan at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>



More information about the asterisk-commits mailing list