mirror of https://github.com/ansible/ansible.git
apk: Fix regex search patterns
Regex patterns were not being escaped properly so package names containing characters that could be interpreted as regex symbols were causing failures. Fixes: #19714pull/23156/head
parent
9f62ef7c0a
commit
5775bb2a4e
@ -0,0 +1,31 @@
|
||||
from ansible.compat.tests import mock
|
||||
from ansible.compat.tests import unittest
|
||||
|
||||
from ansible.modules.packaging.os import apk
|
||||
|
||||
|
||||
class TestApkQueryLatest(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.module_names = [
|
||||
'bash',
|
||||
'g++',
|
||||
]
|
||||
|
||||
@mock.patch('ansible.modules.packaging.os.apk.AnsibleModule')
|
||||
def test_not_latest(self, mock_module):
|
||||
apk.APK_PATH = ""
|
||||
for module_name in self.module_names:
|
||||
command_output = module_name + '-2.0.0-r1 < 3.0.0-r2 '
|
||||
mock_module.run_command.return_value = (0, command_output, None)
|
||||
command_result = apk.query_latest(mock_module, module_name)
|
||||
self.assertFalse(command_result)
|
||||
|
||||
@mock.patch('ansible.modules.packaging.os.apk.AnsibleModule')
|
||||
def test_latest(self, mock_module):
|
||||
apk.APK_PATH = ""
|
||||
for module_name in self.module_names:
|
||||
command_output = module_name + '-2.0.0-r1 = 2.0.0-r1 '
|
||||
mock_module.run_command.return_value = (0, command_output, None)
|
||||
command_result = apk.query_latest(mock_module, module_name)
|
||||
self.assertTrue(command_result)
|
Loading…
Reference in New Issue