[asterisk-commits] gtjoseph: testsuite/asterisk/trunk r5899 - in /asterisk/trunk/tests: manager/...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Nov 4 18:27:36 CST 2014


Author: gtjoseph
Date: Tue Nov  4 18:27:30 2014
New Revision: 5899

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=5899
Log:
testsuite: Add escaped semicolons tests for UpdateConfig and dialplan save

These are the testsuite tests for https://reviewboard.asterisk.org/r/4132/

Tested-by: George Joseph
Review: https://reviewboard.asterisk.org/r/4136/



Added:
    asterisk/trunk/tests/manager/config/advanced/
    asterisk/trunk/tests/manager/config/advanced/test-config.yaml   (with props)
    asterisk/trunk/tests/manager/config/basic/
    asterisk/trunk/tests/manager/config/basic/test-config.yaml   (with props)
    asterisk/trunk/tests/manager/config/tests.yaml   (with props)
    asterisk/trunk/tests/pbx/dialplan_save/
    asterisk/trunk/tests/pbx/dialplan_save/configs/
    asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/
    asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf   (with props)
    asterisk/trunk/tests/pbx/dialplan_save/run-test   (with props)
    asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml   (with props)
Removed:
    asterisk/trunk/tests/manager/config/test-config.yaml
Modified:
    asterisk/trunk/tests/manager/tests.yaml
    asterisk/trunk/tests/pbx/tests.yaml

Added: asterisk/trunk/tests/manager/config/advanced/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/config/advanced/test-config.yaml?view=auto&rev=5899
==============================================================================
--- asterisk/trunk/tests/manager/config/advanced/test-config.yaml (added)
+++ asterisk/trunk/tests/manager/config/advanced/test-config.yaml Tue Nov  4 18:27:30 2014
@@ -1,0 +1,409 @@
+testinfo:
+    summary:    'Test Manager GetConfig and UpdateConfig'
+    description: |
+        'Test Manager GetConfig and UpdateConfig'
+properties:
+    minversion: '12.7.0'
+    dependencies:
+        - python : 'twisted'
+        - python : 'starpy'
+    tags:
+        - manager
+        - AMI
+
+test-modules:
+    add-test-to-search-path: 'True'
+    add-relative-to-search-path: ['..']
+    test-object:
+        config-section: object-config
+        typename: 'ManagerConfigTest.ManagerConfigTest'
+
+object-config:
+    reactor-timeout: 15
+    ami-config:
+        - ###  Create a new config file
+            message:
+                Action: 'CreateConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Message: 'New configuration file created successfully'
+
+        - ###  Load initial values
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat1T'
+                Options-000000: 'template'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat1T'
+                Var-000001: 'type'
+                Value-000001: 'type1'
+                Options-000001: 'catfilter="TEMPLATES=restrict"'
+
+                Action-000002: 'NewCat'
+                Cat-000002: 'Cat1'
+                Options-000002: 'inherit="Cat1T"'
+
+                Action-000003: 'Append'
+                Cat-000003: 'Cat1'
+                Var-000003: 'var1'
+                Value-000003: 'value1'
+
+                Action-000004: 'NewCat'
+                Cat-000004: 'Cat2T'
+                Options-000004: 'template'
+
+                Action-000005: 'Append'
+                Cat-000005: 'Cat2T'
+                Var-000005: 'type'
+                Value-000005: 'type2'
+                Options-000005: 'catfilter="TEMPLATES=restrict"'
+            expected:
+                Response: 'Success'
+
+        - ###  Find the one concrete category
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Templates-000000: 'Cat1T'
+                IsTemplate-000000: null
+                Line-000000-000000: 'type=type1'
+                Line-000000-000001: 'var1=value1'
+                Line-000000-000002: null
+                Category-000001: null
+
+        - ###  Find the fist template
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Category: 'Cat1T'
+                Filter: 'TEMPLATES=restrict'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1T'
+                IsTemplate-000000: '1'
+                Category-000001: null
+
+        - ###  Find both templates
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Filter: 'TEMPLATES=restrict'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1T'
+                IsTemplate-000000: '1'
+                Category-000001: 'Cat2T'
+                IsTemplate-000001: '1'
+                Category-000002: null
+
+        - ###  Find everything
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Filter: 'TEMPLATES=include'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1T'
+                IsTemplate-000000: '1'
+                Category-000001: 'Cat1'
+                IsTemplate-000001: null
+                Templates-000001: 'Cat1T'
+                Category-000002: 'Cat2T'
+                IsTemplate-000002: '1'
+                Category-000003: null
+
+        - ###  Test for non existent config file
+            message:
+                Action: 'GetConfig'
+                Filename: 'nonexistent.conf'
+            expected:
+                Response: 'Error'
+
+        - ###  Add a new category
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat3'
+            expected:
+                Response: 'Success'
+
+        - ###  Now delete it
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'DelCat'
+                Cat-000000: 'Cat3'
+            expected:
+                Response: 'Success'
+
+        - ###  Make sure it's gone
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Category: 'Cat3'
+            expected:
+                Response: 'Success'
+                Payload: 'No categories found'
+
+        - ###  Add a second Cat1 inheriting from Cat2T without ignoredups.  Should fail.
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat1'
+                Options-000000: 'inherit="Cat2T"'
+            expected:
+                Response: 'Error'
+                Message: 'Create category did not complete successfully'
+
+        - ###  Add a second Cat1 inheriting from nonexistent cat.  Should fail.
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat1'
+                Options-000000: 'ignoredups,inherit="CatZZZZZ"'
+            expected:
+                Response: 'Error'
+                Message: 'Create category did not complete successfully'
+
+        - ###  Add a second Cat1 inhetiting from Cat2T for real
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat1'
+                Options-000000: 'allowdups,inherit="Cat2T"'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat1'
+                Var-000001: 'varXXX'
+                Value-000001: 'valueXXX'
+                Options-000001: 'catfilter="type=type2"'
+            expected:
+                Response: 'Success'
+
+        - ###  With no filters make sure both Cat1's are returned
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Category: 'Cat1'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Category-000001: 'Cat1'
+                Category-000002: null
+
+        - ###  With a filter make sure only 1 Cat1 is returned
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Category: 'Cat1'
+                Filter: 'varXXX=valueXXX'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Line-000000-000000: 'type=type2'
+                Line-000000-000001: 'varXXX=valueXXX'
+                Line-000000-000002: null
+                Category-000001: null
+
+        - ###  With no filters this should delete BOTH Cat1's
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'DelCat'
+                Cat-000000: 'Cat1'
+            expected:
+                Response: 'Success'
+
+        - ###  Make sure both are gone
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Category: 'Cat1'
+            expected:
+                Response: 'Success'
+                Payload: 'No categories found'
+                Category-000000: null
+
+        - ###  Add 1 Cat1 back in again
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat1'
+                Options-000000: 'inherit="Cat1T"'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat1'
+                Var-000001: 'var1'
+                Value-000001: 'value1'
+
+                Action-000002: 'Append'
+                Cat-000002: 'Cat1'
+                Var-000002: 'commonvar1'
+                Value-000002: 'commonvalue1'
+
+            expected:
+                Response: 'Success'
+
+        - ###  Add a Cat2 in with a variable in common with Cat1
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat2'
+                Options-000000: 'inherit="Cat2T"'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat2'
+                Var-000001: 'var2'
+                Value-000001: 'value2'
+
+                Action-000002: 'Append'
+                Cat-000002: 'Cat2'
+                Var-000002: 'commonvar1'
+                Value-000002: 'commonvalue1'
+            expected:
+                Response: 'Success'
+
+        - ###  With only a filter make sure both Cat1 and Cat2 are returned
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Filter: 'commonvar1=commonvalue1'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Category-000001: 'Cat2'
+
+        - ###  Now add a second Cat2
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat2'
+                Options-000000: 'allowdups,inherit="Cat2T"'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat2'
+                Var-000001: 'var2'
+                Value-000001: 'value2'
+
+                Action-000002: 'Append'
+                Cat-000002: 'Cat2'
+                Var-000002: 'commonvar1'
+                Value-000002: 'commonvalue1'
+            expected:
+                Response: 'Success'
+
+        - ###  Delete the commonvar1 from both
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Delete'
+                Cat-000000: 'Cat2'
+                Var-000000: 'commonvar1'
+            expected:
+                Response: 'Success'
+
+        - ###  With only a filter only Cat1 should be returned
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Filter: 'commonvar1=commonvalue1'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Category-000001: null
+
+        - ###  Just make sure all 3 are still there
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Category-000001: 'Cat2'
+                Category-000002: 'Cat2'
+                Category-000003: null
+
+        - ###  Reset
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'DelCat'
+                Cat-000000: 'Cat1'
+
+                Action-000001: 'DelCat'
+                Cat-000001: 'Cat2'
+
+                Action-000002: 'NewCat'
+                Cat-000002: 'Cat1'
+
+                Action-000003: 'Append'
+                Cat-000003: 'Cat1'
+                Var-000003: 'type'
+                Value-000003: 'type1'
+
+            expected:
+                Response: 'Success'
+
+        -  ###  Insert var1 back into Cat1 at line 0
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Insert'
+                Cat-000000: 'Cat1'
+                Var-000000: 'var1'
+                Value-000000: 'value1'
+                Line-000000: '0'
+            expected:
+                Response: 'Success'
+
+        - ###  Make sure lines are now in the right order
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+                Category: 'Cat1'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Line-000000-000000: 'var1=value1'
+                Line-000000-000001: 'type=type1'
+                Line-000000-000002: null

Propchange: asterisk/trunk/tests/manager/config/advanced/test-config.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/manager/config/advanced/test-config.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision URL

Propchange: asterisk/trunk/tests/manager/config/advanced/test-config.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/manager/config/basic/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/config/basic/test-config.yaml?view=auto&rev=5899
==============================================================================
--- asterisk/trunk/tests/manager/config/basic/test-config.yaml (added)
+++ asterisk/trunk/tests/manager/config/basic/test-config.yaml Tue Nov  4 18:27:30 2014
@@ -1,0 +1,277 @@
+testinfo:
+    summary:    'Test Manager GetConfig and UpdateConfig Basic Ops'
+    description: |
+        'Test Manager GetConfig and UpdateConfig Basic Ops'
+properties:
+    minversion: '1.8.0'
+    dependencies:
+        - python : 'twisted'
+        - python : 'starpy'
+    tags:
+        - manager
+        - AMI
+
+test-modules:
+    add-test-to-search-path: 'True'
+    add-relative-to-search-path: ['..']
+    test-object:
+        config-section: object-config
+        typename: 'ManagerConfigTest.ManagerConfigTest'
+
+object-config:
+    reactor-timeout: 15
+    ami-config:
+        - ###  Create a new config file
+            message:
+                Action: 'CreateConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Message: 'New configuration file created successfully'
+
+        - ###  NewCat, Append and Insert
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'NewCat'
+                Cat-000000: 'Cat1'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat1'
+                Var-000001: 'var1'
+                Value-000001: 'value1 ;moreinfo'
+
+                Action-000002: 'Append'
+                Cat-000002: 'Cat1'
+                Var-000002: 'var2'
+                Value-000002: 'value2 "moreinfo"'
+
+                Action-000003: 'Insert'
+                Cat-000003: 'Cat1'
+                Var-000003: 'var0'
+                Value-000003: 'value0 \;moreinfo'
+                Line-000003: '0'
+            expected:
+                Response: 'Success'
+
+        - ###  Readback
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Line-000000-000000: 'var0=value0 \;moreinfo'
+                Line-000000-000001: 'var1=value1 ;moreinfo'
+                Line-000000-000002: 'var2=value2 "moreinfo"'
+                Line-000000-000003: null
+                Category-000001: null
+
+        - ###  Delete, Update
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Delete'
+                Cat-000000: 'Cat1'
+                Var-000000: 'var0'
+
+                Action-000001: 'Append'
+                Cat-000001: 'Cat1'
+                Var-000001: 'var1'
+                Value-000001: 'value1 ;second'
+
+                Action-000002: 'Update'
+                Cat-000002: 'Cat1'
+                Var-000002: 'var1'
+                Value-000002: 'value1 ;another'
+                Match-000002: 'value1 ;moreinfo'
+            expected:
+                Response: 'Success'
+
+        - ###  Readback
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Line-000000-000000: 'var1=value1 ;another'
+                Line-000000-000001: 'var2=value2 "moreinfo"'
+                Line-000000-000002: 'var1=value1 ;second'
+                Line-000000-000003: null
+                Category-000001: null
+
+        - ###  RenameCat
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'RenameCat'
+                Cat-000000: 'Cat1'
+                value-000000: 'Cat2'
+            expected:
+                Response: 'Success'
+
+        - ###  Readback
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat2'
+                Line-000000-000000: 'var1=value1 ;another'
+                Line-000000-000001: 'var2=value2 "moreinfo"'
+                Line-000000-000002: 'var1=value1 ;second'
+                Line-000000-000003: null
+                Category-000001: null
+
+        - ###  EmptyCat
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'EmptyCat'
+                Cat-000000: 'Cat2'
+            expected:
+                Response: 'Success'
+
+        - ###  Readback
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat2'
+                Line-000000-000000: null
+                Category-000001: null
+
+        - ###  NewCat, DelCat
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'DelCat'
+                Cat-000000: 'Cat2'
+
+                Action-000001: 'NewCat'
+                Cat-000001: 'Cat1'
+            expected:
+                Response: 'Success'
+
+        - ###  Readback
+            message:
+                Action: 'GetConfig'
+                Filename: 'test.conf'
+            expected:
+                Response: 'Success'
+                Category-000000: 'Cat1'
+                Category-000001: null
+
+###  Negative tests
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'DelCat'
+                Cat-000000: 'Cat99'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'RenameCat'
+                Cat-000000: 'Cat99'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'RenameCat'
+                Cat-000000: 'Cat99'
+                Value-000000: 'Cat98'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Update'
+                Cat-000000: 'Cat99'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Update'
+                Cat-000000: 'Cat1'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Update'
+                Cat-000000: 'Cat1'
+                Var-000000: 'nonexistent'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Append'
+                Cat-000000: 'Cat1'
+                Var-000000: 'var1'
+                Value-000000: 'value1'
+
+                Action-000001: 'Update'
+                Cat-000001: 'Cat1'
+                Var-000001: 'var1'
+                Value-000001: 'value2'
+                Match-000001: 'value99'
+
+            expected:
+                Response: 'Error'
+        -
+            message:
+                Action: 'UpdateConfig'
+                SrcFilename: 'test.conf'
+                DstFilename: 'test.conf'
+
+                Action-000000: 'Insert'
+                Cat-000000: 'Cat1'
+                Var-000000: 'var2'
+                Value-000000: 'value2'
+
+            expected:
+                Response: 'Error'

Propchange: asterisk/trunk/tests/manager/config/basic/test-config.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/manager/config/basic/test-config.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision URL

Propchange: asterisk/trunk/tests/manager/config/basic/test-config.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/manager/config/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/config/tests.yaml?view=auto&rev=5899
==============================================================================
--- asterisk/trunk/tests/manager/config/tests.yaml (added)
+++ asterisk/trunk/tests/manager/config/tests.yaml Tue Nov  4 18:27:30 2014
@@ -1,0 +1,4 @@
+# Enter tests here in the order they should be considered for execution:
+tests:
+    - test: 'basic'
+    - test: 'advanced'

Propchange: asterisk/trunk/tests/manager/config/tests.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/manager/config/tests.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision URL

Propchange: asterisk/trunk/tests/manager/config/tests.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: asterisk/trunk/tests/manager/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/tests.yaml?view=diff&rev=5899&r1=5898&r2=5899
==============================================================================
--- asterisk/trunk/tests/manager/tests.yaml (original)
+++ asterisk/trunk/tests/manager/tests.yaml Tue Nov  4 18:27:30 2014
@@ -6,7 +6,7 @@
     - test: 'authtimeout'
     - test: 'acl-login'
     - test: 'bridge_actions'
-    - test: 'config'
+    - dir:  'config'
     - dir:  'danger'
     - test: 'originate'
     - test: 'device_state_changed'

Added: asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf?view=auto&rev=5899
==============================================================================
--- asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf Tue Nov  4 18:27:30 2014
@@ -1,0 +1,12 @@
+[general]
+static=yes
+writeprotect=no
+autofallthrough=yes
+clearglobalvars=no
+extenpatternmatchnew=no
+
+[globals]
+test1 = Alert-Info: \;answer-after=0
+
+[incoming_1]
+exten =>  60.,1,NoOp(test \; message)

Propchange: asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision URL

Propchange: asterisk/trunk/tests/pbx/dialplan_save/configs/ast1/extensions.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/pbx/dialplan_save/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/pbx/dialplan_save/run-test?view=auto&rev=5899
==============================================================================
--- asterisk/trunk/tests/pbx/dialplan_save/run-test (added)
+++ asterisk/trunk/tests/pbx/dialplan_save/run-test Tue Nov  4 18:27:30 2014
@@ -1,0 +1,119 @@
+#!/usr/bin/env python
+'''
+Copyright (C) 2014, Fairview 5 Engineering, LLC
+George Joseph <george.joseph at fairview5.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+'''
+
+import sys
+import logging
+from twisted.internet import reactor
+
+sys.path.append("lib/python")
+from asterisk.test_case import TestCase
+LOGGER = logging.getLogger(__name__)
+
+class DialplanSaveTest(TestCase):
+
+    def __init__(self):
+        TestCase.__init__(self)
+        # artificially high timeout as this can take a while
+        self.reactor_timeout = 300
+        self.create_asterisk(1)
+
+    def run(self):
+        TestCase.run(self)
+
+        def callback(defer):
+            if defer.output.find("test1=Alert-Info: ;answer-after=0") == -1:
+                print "Dialplan did not load correctly"
+                print defer.output.strip()
+                reactor.callLater(1,self.failure)
+            else:
+                reactor.callLater(3,self.save)
+
+        def errback(failure):
+            LOGGER.error("CLI dialplan show failed");
+            reactor.callLater(1,self.failure)
+
+        df = self.ast[0].cli_exec("dialplan show globals")
+        df.addCallback(callback)
+        df.addErrback(errback)
+
+    def save(self):
+
+        def callback(defer):
+            if defer.output.find("Dialplan successfully saved into") == -1:
+                print "Dialplan did not save correctly"
+                print defer.output.strip()
+                reactor.callLater(1,self.failure)
+            else:
+                reactor.callLater(3,self.reload)
+
+        def errback(failure):
+            LOGGER.error("CLI dialplan save failed")
+            reactor.callLater(1,self.failure)
+
+        df = self.ast[0].cli_exec("dialplan save")
+        df.addCallback(callback)
+        df.addErrback(errback)
+
+    def reload(self):
+
+        def callback(defer):
+            if defer.output.find("Dialplan reloaded.") == -1:
+                print "Dialplan did not reload correctly"
+                print defer.output.strip()
+                reactor.callLater(1,self.failure)
+            else:
+                reactor.callLater(3,self.retest)
+
+        def errback(failure):
+            LOGGER.error("CLI dialplan reload")
+            reactor.callLater(1,self.failure)
+
+        df = self.ast[0].cli_exec("dialplan reload")
+        df.addCallback(callback)
+        df.addErrback(errback)
+
+
+    def retest(self):
+
+        def callback(defer):
+            if defer.output.find("test1=Alert-Info: ;answer-after=0") == -1:
+                print "Dialplan did not reload correctly"
+                print defer.output.strip()
+                reactor.callLater(1,self.failure)
+            else:
+                reactor.callLater(3,self.success)
+
+        def errback(failure):
+            LOGGER.error("CLI dialplan show failed");
+            reactor.callLater(1,self.failure)
+
+        df = self.ast[0].cli_exec("dialplan show globals")
+        df.addCallback(callback)
+        df.addErrback(errback)
+
+    def success(self):
+        self.passed = True
+        self.stop_reactor()
+
+    def failure(self):
+        self.stop_reactor()
+
+def main():
+    test = DialplanSaveTest()
+    test.start_asterisk()
+    reactor.run()
+    test.stop_asterisk()
+    if not test.passed:
+        return 1
+    return 0
+
+if __name__ == "__main__":
+    sys.exit(main() or 0)
+
+# vim:sw=4:ts=4:expandtab:textwidth=79

Propchange: asterisk/trunk/tests/pbx/dialplan_save/run-test
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/pbx/dialplan_save/run-test
------------------------------------------------------------------------------
    svn:executable = *

Propchange: asterisk/trunk/tests/pbx/dialplan_save/run-test
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision URL

Propchange: asterisk/trunk/tests/pbx/dialplan_save/run-test
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml?view=auto&rev=5899
==============================================================================
--- asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml (added)
+++ asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml Tue Nov  4 18:27:30 2014
@@ -1,0 +1,12 @@
+testinfo:
+    summary:     'Test dialplan save with escaped semicolons'
+    description: |
+        'This test verifies that saving a dialplan with escaped semicolons preserves the escapes.'
+
+properties:
+    minversion: '1.8.0.0'
+    dependencies:
+        - python : 'twisted'
+        - python : 'starpy'
+    tags:
+        - dialplan

Propchange: asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision URL

Propchange: asterisk/trunk/tests/pbx/dialplan_save/test-config.yaml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: asterisk/trunk/tests/pbx/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/pbx/tests.yaml?view=diff&rev=5899&r1=5898&r2=5899
==============================================================================
--- asterisk/trunk/tests/pbx/tests.yaml (original)
+++ asterisk/trunk/tests/pbx/tests.yaml Tue Nov  4 18:27:30 2014
@@ -11,6 +11,7 @@
     - test: 'call-files'
     - test: 'callerid_match'
     - test: 'dialplan_reload'
+    - test: 'dialplan_save'
     - test: 'pbx_lua_goto'
     - test: 'pbx_lua_background'
     - test: 'manager_extensions'




More information about the asterisk-commits mailing list