[Asterisk-code-review] app_read: add tests for terminator only digit string. (testsuite[certified/18.9])

Joshua Colp asteriskteam at digium.com
Tue Feb 28 03:58:49 CST 2023


Joshua Colp has submitted this change. ( https://gerrit.asterisk.org/c/testsuite/+/19930 )

Change subject: app_read: add tests for terminator only digit string.
......................................................................

app_read: add tests for terminator only digit string.

Add tests to ensure that the 'e' option includes the terminator digit
on terminator digit only strings, and that no 'e' option does not.

ASTERISK-30411

Change-Id: Idd6d25cf83fa5d0a3e035f7a47ce2628486ea9e8
---
A tests/apps/read/configs/ast1/extensions.conf
A tests/apps/read/test-config.yaml
M tests/apps/tests.yaml
3 files changed, 141 insertions(+), 0 deletions(-)

Approvals:
  Friendly Automation: Verified
  Joshua Colp: Looks good to me, approved; Approved for Submit




diff --git a/tests/apps/read/configs/ast1/extensions.conf b/tests/apps/read/configs/ast1/extensions.conf
new file mode 100644
index 0000000..11bf876
--- /dev/null
+++ b/tests/apps/read/configs/ast1/extensions.conf
@@ -0,0 +1,67 @@
+
+[default]
+exten => s,1,Answer()
+	same => n,Set(GLOBAL(senddtmf1)=*123#DB)
+	same => n,Set(GLOBAL(senddtmf2)=*123A#2#DB)
+	same => n,Set(GLOBAL(senddtmf3)=**123#DC)
+	same => n,Set(GLOBAL(senddtmf4)=*1254*123#DD)
+	same => n,Set(GLOBAL(senddtmf5)=*009)
+	same => n,Set(GLOBAL(senddtmf6)=*009####)
+	same => n,Set(GLOBAL(senddtmf7)=1234#56)
+	same => n,Set(GLOBAL(senddtmf8)=1234#56)
+	same => n,Set(GLOBAL(senddtmf9)=9876#56)
+	same => n,Set(GLOBAL(senddtmf10)=#)
+	same => n,Set(GLOBAL(senddtmf11)=#)
+	same => n,Set(i=0)
+	same => n,While($[${INC(i)}<=11])
+	same => n,Originate(Local/${i}@send-dtmf,exten,read-dtmf,${i},1,,a)
+	same => n,EndWhile()
+	same => n,Hangup()
+
+[nothing]
+exten => 0,1,Answer()
+	same => n,Wait(8)
+	same => n,Hangup()
+
+[send-dtmf]
+exten => _X!,1,Answer(0.5)
+	same => n,SendDTMF(${senddtmf${EXTEN}})
+	same => n,Wait(15) ; needed so Read has time to finish.
+	same => n,Hangup()
+
+[read-dtmf]
+exten => _[1-4],1,Answer()
+	same => n,Set(TIMEOUT(response)=3)
+	same => n,Read(digits,,,t(D))
+	same => n,GotoIf($["${digits}"="${senddtmf${EXTEN}:0:-2}"]?success,1:fail,1)
+exten => 5,1,Answer()
+	same => n,Set(TIMEOUT(response)=3)
+	same => n,Read(digits) ; normal
+	same => n,GotoIf($["${digits}"="*009"]?success,1:fail,1)
+exten => 6,1,Answer()
+	same => n,Set(TIMEOUT(response)=3)
+	same => n,Read(digits,,8,t) ; no terminator at all
+	same => n,GotoIf($["${digits}"="*009####"]?success,1:fail,1)
+exten => 7,1,Answer()
+	same => n,Set(TIMEOUT(response)=3)
+	same => n,Read(digits,dial,,it(#))
+	same => n,GotoIf($["${digits}"="${senddtmf${EXTEN}:0:-3}"]?success,1:fail,1)
+exten => 8,1,Answer()
+	same => n,Set(TIMEOUT(response)=3)
+	same => n,Read(digits,dial,7,it)
+	same => n,GotoIf($["${digits}"="${senddtmf${EXTEN}}"]?success,1:fail,1)
+exten => 9,1,Answer()
+	same => n,Read(digits,dial,,i)
+	same => n,GotoIf($["${digits}"="${senddtmf${EXTEN}:0:4}"]?success,1:fail,1)
+exten => 10,1,Answer()
+	same => n,Read(digits)
+	same => n,GotoIf($["${digits}"=""]?success,1:fail,1)
+exten => 11,1,Answer()
+	same => n,Read(digits,,,e)
+	same => n,GotoIf($["${digits}"="#"]?success,1:fail,1)
+exten => success,1,Answer(1)
+	same => n,UserEvent(ReadSuccess,Result: Pass)
+	same => n,Hangup()
+exten => fail,1,Answer(1)
+	same => n,UserEvent(ReadFailure,Result: Fail ${digits},Reason: ${digits})
+	same => n,Hangup()
diff --git a/tests/apps/read/test-config.yaml b/tests/apps/read/test-config.yaml
new file mode 100644
index 0000000..722d53a
--- /dev/null
+++ b/tests/apps/read/test-config.yaml
@@ -0,0 +1,59 @@
+testinfo:
+    summary: 'Ensure that app_read options work correctly.'
+    description: |
+        'This tests options in the Read application to
+        ensure that it functions correctly.'
+
+test-modules:
+    test-object:
+        config-section: test-object-config
+        typename: 'test_case.TestCaseModule'
+    modules:
+        -
+            config-section: caller-originator
+            typename: 'pluggable_modules.Originator'
+        -
+            config-section: hangup-monitor
+            typename: 'pluggable_modules.HangupMonitor'
+        -
+            config-section: ami-config
+            typename: 'pluggable_modules.EventActionModule'
+
+test-object-config:
+    connect-ami: True
+
+caller-originator:
+    channel: 'Local/s at default'
+    context: 'nothing'
+    exten: '0'
+    priority: '1'
+    trigger: 'ami_connect'
+
+hangup-monitor:
+    ids: '0'
+
+ami-config:
+    -
+        ami-events:
+            conditions:
+                match:
+                    Event: 'UserEvent'
+                    UserEvent: 'ReadSuccess'
+            requirements:
+                match:
+                    Result: 'Pass'
+            count: 11
+        stop_test:
+
+properties:
+    tags:
+        - dial
+        - apps
+    dependencies:
+        - python: 'twisted'
+        - python: 'starpy'
+        - asterisk: 'app_dial'
+        - asterisk: 'app_userevent'
+        - asterisk: 'app_originate'
+        - asterisk: 'app_read'
+        - asterisk: 'pbx_config'
diff --git a/tests/apps/tests.yaml b/tests/apps/tests.yaml
index dba50c8..8f74ba8 100644
--- a/tests/apps/tests.yaml
+++ b/tests/apps/tests.yaml
@@ -27,4 +27,5 @@
     - test: 'waitdigit'
     - dir: 'sendtext'
     - test: 'senddtmf'
+    - test: 'read'
 

-- 
To view, visit https://gerrit.asterisk.org/c/testsuite/+/19930
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: testsuite
Gerrit-Branch: certified/18.9
Gerrit-Change-Id: Idd6d25cf83fa5d0a3e035f7a47ce2628486ea9e8
Gerrit-Change-Number: 19930
Gerrit-PatchSet: 2
Gerrit-Owner: Michael Bradeen <mbradeen at sangoma.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at sangoma.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20230228/3804b814/attachment-0001.html>


More information about the asterisk-code-review mailing list