[Asterisk-code-review] app_confbridge: Tests for user answer_channel (testsuite[18])
Friendly Automation
asteriskteam at digium.com
Tue Jun 8 15:53:58 CDT 2021
Friendly Automation has submitted this change. ( https://gerrit.asterisk.org/c/testsuite/+/16006 )
Change subject: app_confbridge: Tests for user answer_channel
......................................................................
app_confbridge: Tests for user answer_channel
This tests the operation of the new answer_channel
user option and ensures that the default behavior
has not changed.
ASTERISK-29440
Change-Id: Ib150939cd806c842c49dbc4be5b56d0fb5e962d4
---
A tests/apps/confbridge/confbridge_noanswer/configs/ast1/confbridge.conf
A tests/apps/confbridge/confbridge_noanswer/configs/ast1/extensions.conf
A tests/apps/confbridge/confbridge_noanswer/test-config.yaml
M tests/apps/confbridge/tests.yaml
4 files changed, 114 insertions(+), 0 deletions(-)
Approvals:
Joshua Colp: Looks good to me, but someone else must approve
Kevin Harwell: Looks good to me, but someone else must approve
George Joseph: Looks good to me, approved
Friendly Automation: Approved for Submit
diff --git a/tests/apps/confbridge/confbridge_noanswer/configs/ast1/confbridge.conf b/tests/apps/confbridge/confbridge_noanswer/configs/ast1/confbridge.conf
new file mode 100644
index 0000000..8883ccc
--- /dev/null
+++ b/tests/apps/confbridge/confbridge_noanswer/configs/ast1/confbridge.conf
@@ -0,0 +1,16 @@
+[user_noanswer]
+type=user
+answer_channel=no
+timeout=5
+
+[user_answer]
+type=user
+answer_channel=yes
+timeout=5
+
+[default_user]
+type=user
+timeout=5
+
+[default_bridge]
+type=bridge
diff --git a/tests/apps/confbridge/confbridge_noanswer/configs/ast1/extensions.conf b/tests/apps/confbridge/confbridge_noanswer/configs/ast1/extensions.conf
new file mode 100644
index 0000000..07232ae
--- /dev/null
+++ b/tests/apps/confbridge/confbridge_noanswer/configs/ast1/extensions.conf
@@ -0,0 +1,25 @@
+[default]
+exten => noanswer,1,Answer()
+ same => n,Dial(Local/noanswer at conf/n,4,g)
+ same => n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?pass,1:fail,1)
+exten => answer,1,Answer()
+ same => n,Dial(Local/answer at conf/n,4,g)
+ same => n,GotoIf($["${DIALSTATUS}"="ANSWER"]?pass,1:fail,1)
+exten => default,1,Answer()
+ same => n,Dial(Local/default at conf/n,4,g)
+ same => n,GotoIf($["${DIALSTATUS}"="ANSWER"]?pass,1:fail,1)
+exten => fail,1,UserEvent(ConfBridgeNoAnswer,Result: Fail,Reason: ${DIALSTATUS})
+ same => n,Hangup()
+exten => pass,1,UserEvent(ConfBridgeNoAnswer,Result: Pass)
+ same => n,Hangup()
+
+[conf]
+exten => noanswer,1,Progress()
+ same => n,ConfBridge(test,,user_noanswer)
+ same => n,Hangup()
+exten => answer,1,Progress()
+ same => n,ConfBridge(test,,user_answer)
+ same => n,Hangup()
+exten => default,1,Progress()
+ same => n,ConfBridge(test)
+ same => n,Hangup()
diff --git a/tests/apps/confbridge/confbridge_noanswer/test-config.yaml b/tests/apps/confbridge/confbridge_noanswer/test-config.yaml
new file mode 100644
index 0000000..7bccdd7
--- /dev/null
+++ b/tests/apps/confbridge/confbridge_noanswer/test-config.yaml
@@ -0,0 +1,72 @@
+testinfo:
+ summary: 'Ensure that Confbridge user no answer option works as expected'
+ description: |
+ 'This test configures ConfBridge user profiles with all combinations of
+ answer_channel options. We expect that a call to noanswer will not
+ be answered and calls to answer and default will be answered. We also
+ test that the default behavior remains unchanged.'
+
+test-modules:
+ test-object:
+ config-section: test-object-config
+ typename: 'test_case.TestCaseModule'
+ modules:
+ -
+ config-section: noanswer-originator
+ typename: 'pluggable_modules.Originator'
+ -
+ config-section: answer-originator
+ typename: 'pluggable_modules.Originator'
+ -
+ config-section: default-originator
+ typename: 'pluggable_modules.Originator'
+ -
+ config-section: hangup-monitor
+ typename: 'pluggable_modules.HangupMonitor'
+ -
+ config-section: ami-config
+ typename: 'ami.AMIEventModule'
+
+test-object-config:
+ connect-ami: True
+
+noanswer-originator:
+ channel: 'Local/noanswer at default'
+ application: 'Echo'
+ trigger: 'ami_connect'
+
+answer-originator:
+ channel: 'Local/answer at default'
+ application: 'Echo'
+ trigger: 'ami_connect'
+
+default-originator:
+ channel: 'Local/default at default'
+ application: 'Echo'
+ trigger: 'ami_connect'
+
+hangup-monitor:
+ ids: '0'
+
+ami-config:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'ConfBridgeNoAnswer'
+ requirements:
+ match:
+ Result: 'Pass'
+ count: 3
+
+
+properties:
+ tags:
+ - confbridge
+ - apps
+ dependencies:
+ - python: 'twisted'
+ - python: 'starpy'
+ - asterisk: 'app_confbridge'
+ - asterisk: 'app_userevent'
diff --git a/tests/apps/confbridge/tests.yaml b/tests/apps/confbridge/tests.yaml
index ccf2505..8d65c7a 100644
--- a/tests/apps/confbridge/tests.yaml
+++ b/tests/apps/confbridge/tests.yaml
@@ -4,6 +4,7 @@
- test: 'confbridge_end_marked'
- test: 'confbridge_marked'
- test: 'confbridge_marked_unmarked'
+ - test: 'confbridge_noanswer'
- test: 'confbridge_nominal'
- test: 'confbridge_recording'
- test: 'confbridge_result'
--
To view, visit https://gerrit.asterisk.org/c/testsuite/+/16006
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: testsuite
Gerrit-Branch: 18
Gerrit-Change-Id: Ib150939cd806c842c49dbc4be5b56d0fb5e962d4
Gerrit-Change-Number: 16006
Gerrit-PatchSet: 1
Gerrit-Owner: N A <mail at interlinked.x10host.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at sangoma.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20210608/46203f31/attachment-0001.html>
More information about the asterisk-code-review
mailing list