[Asterisk-code-review] apps/dial/privacy/privacy: Add a test for the 'one time only... (testsuite[master])

Anonymous Coward asteriskteam at digium.com
Fri Sep 9 11:27:34 CDT 2016


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

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


apps/dial/privacy/privacy: Add a test for the 'one time only VM' option

This patch adds a test for the privacy (P) option for the Dial application,
in which the callee decides to banish the caller only one time to VoiceMail.
The test verifies that the caller is ejected with the appropriate
DIALSTATUS.

ASTERISK-25691

Change-Id: Ic8d67b701609f7479e4011c004dda9e9f0d274f9
---
A tests/apps/dial/privacy/privacy/single-vm/test-config.yaml
M tests/apps/dial/privacy/privacy/tests.yaml
2 files changed, 166 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/single-vm/test-config.yaml b/tests/apps/dial/privacy/privacy/single-vm/test-config.yaml
new file mode 100644
index 0000000..763ef14
--- /dev/null
+++ b/tests/apps/dial/privacy/privacy/single-vm/test-config.yaml
@@ -0,0 +1,165 @@
+testinfo:
+    summary: 'Test Privacy 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
+        Privacy 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_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: '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_privacy 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: 'priv-callee-options'
+              actions:
+                -
+                  action-type: 'set-expected-result'
+                  expected-result: 'Options played to far end'
+                -
+                  action-type: 'send-dtmf'
+                  delay: 1
+                  dtmf: '5'
+            -
+              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'
+      - asterisk : 'app_playback'
+
diff --git a/tests/apps/dial/privacy/privacy/tests.yaml b/tests/apps/dial/privacy/privacy/tests.yaml
index ccadfac..25f9c5e 100644
--- a/tests/apps/dial/privacy/privacy/tests.yaml
+++ b/tests/apps/dial/privacy/privacy/tests.yaml
@@ -4,3 +4,4 @@
     - test: 'forever-vm'
     - test: 'go-away'
     - test: 'torture'
+    - test: 'single-vm'

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic8d67b701609f7479e4011c004dda9e9f0d274f9
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>
Gerrit-Reviewer: Mark Michelson <mmichelson at digium.com>



More information about the asterisk-code-review mailing list