Skip to content

Commit 6009a93

Browse files
InterLinked1Friendly Automation
authored andcommitted
app_confbridge: Test for ConfKick application
This tests the new ConfKick application to ensure that it correctly manipulates the bridge with different parameters. ASTERISK-29446 Change-Id: Ia85d6190ab3cf88a7cc4b3071a38dee191bc8898
1 parent 7cf20a2 commit 6009a93

File tree

4 files changed

+134
-0
lines changed

4 files changed

+134
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[default_user]
2+
type=user
3+
quiet=yes
4+
5+
[default_bridge]
6+
type=bridge
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[default]
2+
exten => user1,1,Answer()
3+
same => n,ConfBridge(test123)
4+
same => n,GotoIf($["${CONFBRIDGE_RESULT}"="KICKED"]?pass,1:fail,1)
5+
exten => user2,1,Answer()
6+
same => n,Set(GLOBAL(test123user)=${CHANNEL})
7+
same => n,ConfBridge(test123)
8+
same => n,GotoIf($["${CONFBRIDGE_RESULT}"="KICKED"]?pass,1:fail,1)
9+
exten => user3,1,Answer()
10+
same => n,ConfBridge(test123)
11+
same => n,GotoIf($["${CONFBRIDGE_RESULT}"="KICKED"]?pass,1:fail,1)
12+
exten => admin,1,Answer()
13+
same => n,Set(CONFBRIDGE(user,admin)=yes)
14+
same => n,ConfBridge(test123)
15+
same => n,GotoIf($["${CONFBRIDGE_RESULT}"="KICKED"]?pass,1:fail,1)
16+
exten => kicker,1,Answer(1)
17+
same => n,ExecIf($[${CONFBRIDGE_INFO(parties,test123)}=4]?UserEvent(ConfKickSuccess,Result: Pass):UserEvent(ConfKickSuccess,Result: Fail,Reason: ${CONFBRIDGE_INFO(parties,test123)}))
18+
same => n,ConfKick(test123,${test123user})
19+
same => n,Wait(0.1)
20+
same => n,ExecIf($[${CONFBRIDGE_INFO(parties,test123)}=3]?UserEvent(ConfKickSuccess,Result: Pass):UserEvent(ConfKickSuccess,Result: Fail,Reason: ${CONFBRIDGE_INFO(parties,test123)}))
21+
same => n,ConfKick(test123,participants)
22+
same => n,Wait(0.1)
23+
same => n,ExecIf($[${CONFBRIDGE_INFO(parties,test123)}=1]?UserEvent(ConfKickSuccess,Result: Pass):UserEvent(ConfKickSuccess,Result: Fail,Reason: ${CONFBRIDGE_INFO(parties,test123)}))
24+
same => n,ConfKick(test123,all)
25+
same => n,Wait(0.1)
26+
same => n,ExecIf($[${CONFBRIDGE_INFO(parties,test123)}=0]?UserEvent(ConfKickSuccess,Result: Pass):UserEvent(ConfKickSuccess,Result: Fail,Reason: ${CONFBRIDGE_INFO(parties,test123)}))
27+
same => n,Hangup()
28+
exten => fail,1,UserEvent(ConfBridgeKick,Result: Fail,Reason: ${CONFBRIDGE_RESULT})
29+
same => n,Hangup()
30+
exten => pass,1,UserEvent(ConfBridgeKick,Result: Pass)
31+
same => n,Hangup()
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
testinfo:
2+
summary: 'Ensure that ConfKick application works as expected'
3+
description: |
4+
'This test ensures that ConfKick functions as expected by
5+
testing that specific, non-admin, and all participants can
6+
be successfully kicked from the bridge.'
7+
8+
test-modules:
9+
test-object:
10+
config-section: test-object-config
11+
typename: 'test_case.TestCaseModule'
12+
modules:
13+
-
14+
config-section: user1-originator
15+
typename: 'pluggable_modules.Originator'
16+
-
17+
config-section: user2-originator
18+
typename: 'pluggable_modules.Originator'
19+
-
20+
config-section: user3-originator
21+
typename: 'pluggable_modules.Originator'
22+
-
23+
config-section: admin-originator
24+
typename: 'pluggable_modules.Originator'
25+
-
26+
config-section: kicker-originator
27+
typename: 'pluggable_modules.Originator'
28+
-
29+
config-section: hangup-monitor
30+
typename: 'pluggable_modules.HangupMonitor'
31+
-
32+
config-section: ami-config
33+
typename: 'ami.AMIEventModule'
34+
35+
test-object-config:
36+
connect-ami: True
37+
38+
user1-originator:
39+
channel: 'Local/user1@default'
40+
application: 'Echo'
41+
trigger: 'ami_connect'
42+
43+
user2-originator:
44+
channel: 'Local/user2@default'
45+
application: 'Echo'
46+
trigger: 'ami_connect'
47+
48+
user3-originator:
49+
channel: 'Local/user3@default'
50+
application: 'Echo'
51+
trigger: 'ami_connect'
52+
53+
admin-originator:
54+
channel: 'Local/admin@default'
55+
application: 'Echo'
56+
trigger: 'ami_connect'
57+
58+
kicker-originator:
59+
channel: 'Local/kicker@default'
60+
application: 'Echo'
61+
trigger: 'ami_connect'
62+
63+
hangup-monitor:
64+
ids: '0'
65+
66+
ami-config:
67+
-
68+
type: 'headermatch'
69+
conditions:
70+
match:
71+
Event: 'UserEvent'
72+
UserEvent: 'ConfBridgeKick'
73+
requirements:
74+
match:
75+
Result: 'Pass'
76+
count: 4
77+
-
78+
type: 'headermatch'
79+
conditions:
80+
match:
81+
Event: 'UserEvent'
82+
UserEvent: 'ConfKickSuccess'
83+
requirements:
84+
match:
85+
Result: 'Pass'
86+
count: 4
87+
88+
properties:
89+
tags:
90+
- confbridge
91+
- apps
92+
dependencies:
93+
- python: 'twisted'
94+
- python: 'starpy'
95+
- asterisk: 'app_confbridge'
96+
- asterisk: 'app_userevent'

tests/apps/confbridge/tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Enter tests here in the order they should be considered for execution:
22
tests:
3+
- test: 'confbridge_confkick'
34
- test: 'confbridge_dynamic_menus'
45
- test: 'confbridge_end_marked'
56
- test: 'confbridge_marked'

0 commit comments

Comments
 (0)