Esempio n. 1
0
 def test_setting_present_but_not_string(self):
     data = {"analytics": {"ssl": True}, "remotes": {"messages": False}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: The ["remotes"]["messages"] URL doesn\\\'t use SSL; False is not of type \'string\''
 def test_is_vulnerable_with_spaces(self):
     data = {"analytics": {"ssl": True}, "messages": [{
         "payload": {"templateurl": '     http://www.example.com    '}
     }]}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert(messages[0]) == '---- ISSUE: A "templateurl" in ["messages"]["payload"] doesn\\\'t use SSL; \'     http://www.example.com    \' does not match \'^https://(.*)$\''
Esempio n. 3
0
 def test_different_parent(self):
     data = {"othersection": {"ssl": True}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: Schema for checking security settings of the Adobe Mobile SDK configuration files; \'analytics\' is a required property'
 def test_not_vulnerable_multiple(self):
     data = {"analytics": {"ssl": True}, "messages": [
         {"payload": {"templateurl": 'https://www1.example.com'}},
         {"payload": {"templateurl": 'https://www2.example.com'}}
     ]}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 0
Esempio n. 5
0
 def test_setting_present_but_false(self):
     data = {"analytics": {"ssl": True}, "mediaHeartbeat": {"ssl": False}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: The ["mediaHeartbeat"]["ssl"] setting is missing or false - SSL is not being used; True was expected'
Esempio n. 6
0
 def test_parent_present_setting_absent(self):
     data = {"analytics": {"ssl": True}, "mediaHeartbeat": {}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: The MediaHeartbeat Schema requires the SSL setting; \'ssl\' is a required property'
Esempio n. 7
0
 def test_array(self):
     data = {"analytics": [{"ssl": True}, {"ssl": False}]}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: The Analytics Schema requires the SSL setting; [{\'ssl\': True}, {\'ssl\': False}] is not of type \'object\''
Esempio n. 8
0
 def test_empty(self):
     data = {}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: Schema for checking security settings of the Adobe Mobile SDK configuration files; \'analytics\' is a required property'
 def test_array(self):
     data = {"analytics": {"ssl": True}, "remotes": [
         {"messages": 'http://www.example.com'},
         {"messages1": 'http://www.example.com'}
     ]}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert(messages[0]) == '---- ISSUE: The Remotes Schema; [{\'messages\': \'http://www.example.com\'}, {\'messages1\': \'http://www.example.com\'}] is not of type \'object\''
Esempio n. 10
0
 def test_empty_element(self):
     data = {"analytics": {"ssl": True}, "mediaHeartbeat": {"ssl": ""}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 2
     assert (
         messages[0]
     ) == '---- ISSUE: The ["mediaHeartbeat"]["ssl"] setting is missing or false - SSL is not being used; \'\' is not of type \'boolean\''
     assert (
         messages[1]
     ) == '---- ISSUE: The ["mediaHeartbeat"]["ssl"] setting is missing or false - SSL is not being used; True was expected'
Esempio n. 11
0
 def test_setting_present_but_not_boolean(self):
     data = {"analytics": {"ssl": "foobar"}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 2
     assert (
         messages[0]
     ) == '---- ISSUE: The [\"analytics\"][\"ssl\"] setting is missing or false - SSL is not being used; \'foobar\' is not of type \'boolean\''
     assert (
         messages[1]
     ) == '---- ISSUE: The ["analytics"]["ssl"] setting is missing or false - SSL is not being used; True was expected'
Esempio n. 12
0
 def test_not_vulnerable(self):
     data = {
         "analytics": {
             "ssl": True
         },
         "remotes": {
             "messages": 'https://www.example.com'
         }
     }
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 0
Esempio n. 13
0
 def test_different_parent(self):
     data = {
         "analytics": {
             "ssl": True
         },
         "othersection": {
             "messages": 'http://www.example.com'
         }
     }
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 0
Esempio n. 14
0
 def test_empty_element(self):
     data = {
         "analytics": {
             "ssl": True
         },
         "othersection": {
             "analytics.poi": ''
         }
     }
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 0
Esempio n. 15
0
 def test_is_vulnerable_with_spaces(self):
     data = {
         "analytics": {
             "ssl": True
         },
         "remotes": {
             "messages": '   http://www.example.com   '
         }
     }
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: The ["remotes"]["messages"] URL doesn\\\'t use SSL; \'   http://www.example.com   \' does not match \'^https://(.*)$\''
Esempio n. 16
0
 def test_setting_present_but_not_string(self):
     data = {
         "analytics": {
             "ssl": True
         },
         "messages": [{
             "payload": {
                 "templateurl": False
             }
         }]
     }
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: A "templateurl" in ["messages"]["payload"] doesn\\\'t use SSL; False is not of type \'string\''
Esempio n. 17
0
 def test_empty_element(self):
     data = {
         "analytics": {
             "ssl": True
         },
         "messages": [{
             "payload": {
                 "templateurl": ''
             }
         }]
     }
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 1
     assert (
         messages[0]
     ) == '---- ISSUE: A "templateurl" in ["messages"]["payload"] doesn\\\'t use SSL; \'\' does not match \'^https://(.*)$\''
 def test_parent_present_setting_absent(self):
     data = {"analytics": {"ssl": True}, "messages": []}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 0
 def test_valid(self):
     data = {"analytics": {"ssl": True}, "mediaHeartbeat": {"ssl": True}}
     messages = AdobeMobileSdkPlugin.validate(data)
     assert len(messages) == 0