Fix problem with TmpStringIO Class on Windows. The module uses this
class twice in normal operation. In Windows there's an additional run
before the real runs where it is opened with mode='w'. This causes the
data to be wiped out. So, this sets it to only save the value in the
instance to data if it is not empty.
Use the windows path to the hosts file in Windows
Not sure this is necessary... I don't think alternatives is a thing in
Windows. Anyway, it uses `__salt__['file.readlink']` instead of
`os.readlink` as there is no `os.readlink` in Windows.
Modifies the tests to mock `__salt__['file.readlink']` instead of
`os.readlink`
Uses os.sep instead of unix-style paths in the test
Uses salt.utils.path.islink() to detect symlinks instead of
os.path.islink(). os.path.islink() does not correctly detect symlinks in
Windows
Put grp and pwd imports inside a try/except block
On some platforms, for reason which I do not yet grok, images pulled
from the Hub are prefixed with "docker.io/". This causes the
docker_image states to fail unless the user manually adds "docker.io/"
before the image name.
This commit adds a new function called "docker.resolve_tag" which
disambiguates this variance and allows images to be specified without
the "docker.io/" prefix.
Resolves#42935.
This fixes an issue where inspecting the container returns an image ID
instead of an image name, resulting in a spurious report of a changed
image. By resolving the image down to its ID for both the existing and
new containers, we ensure we're comparing ID to ID.
moto versions >= 1.0.0 have changed the way the mocked connections through
boto are handled with the @mock_ec2 decorator. They use the boto3 connection
method. However, since we are still using boto in many places, we need to use
the new @mock_ec2_deprecated decorator instead to handle the boto connection
functions for the unit tests.
Versions of moto < 1.0.0 are not Python 3 compatible, so salt-jenkins should
be installing newer versions of moto for those tests. Unfortunately, we cannot
install an older version of moto for Python2 that use the original @mock_ec2 call
and also import the @mock_ec2_deprecated function for newer versions of moto
simultaneously as the @mock_ec2_deprecated function doesn't exist in older
versions of moto.
moto versions >= 1.0.0 have changed the way the mocked connections through
boto are handled with the @mock_ec2 decorator. They use the boto3 connection
method. However, since we are still using boto in many places, we need to use
the new @mock_ec2_deprecated decorator instead to handle the boto connection
functions for the unit tests.
Versions of moto < 1.0.0 are not Python 3 compatible, so salt-jenkins should
be installing newer versions of moto for those tests. Unfortunately, we cannot
install an older version of moto for Python2 that use the original @mock_ec2 call
and also import the @mock_ec2_deprecated function for newer versions of moto
simultaneously as the @mock_ec2_deprecated function doesn't exist in older
versions of moto.
Without this, we stacktrace because it does not appear that setting
'gather_facts' to False prevents the library from assuming the presence
of facts. I believe this to be an upstream bug with jnpr.
Because they have listed this as being a deprecated option in the future
this may re-break in the future.
For Python 2 tests, we can use an older version. But when running
these tests of Python 3, we need a newer version of moto that supports
Python 3.
This gates the tests if the expected version of moto is missing.
017fbdb changed the function calls in such a way that tests in 2017.7
now fail. This updates the mocking to account for new code paths
introduced in this commit.
The mode arg was removed in PR #41966 to get this test to pass on
Windows. However, this caused the same test to fail on Arch Linux
when running Python 3.
Let's keep the test the way it was for non-windows boxes, and only
remove the mode for windows.
Prevents zero length error on Python 2.6
Fixes Zypper unit test
Enhances pkg.list_downloaded information of a package
Listing all patches instead of security ones only
Adapting Zypper test to new list_downloaded output
Fixes zypper test error after backporting
Pylint fixes
Adding support for installing patches in Zypper module
Adding list_downloaded function to Zypper module
Adding list_downloaded function to Yum module
Adding new pkg.downloaded state
Adding documentation for pkg.downloaded state
Adding pkg.patched and pkg.patch_downloaded states
Check targets for advisory patches installation
Adds support for listing advisory patches with Zypper
Adds support for listing advisory patches with Yum
Improving function naming
Moving advisory ids checks into pkg_resource.parse_targets
Fixes _find_download_targets to call _preflight_check
Fixes parse_targets when advisory id is passed as name
Pylint fixes
Enables pkg.downloaded to verify packages after package manager call.
Adding missing kwargs parameters to pkg.install call
Adding versionadded flags
Some refactoring and minor fixes
Adding unit tests for Zypper execution module
Adding more unit tests for Zypper module
Pylint fix
Adjust the test so it is using the right grain for SUSE systems
Bugfix: use correct grain constant for platform
Refactor with setup/teardown
Add UT for RedHat's set_zone
Fix doc for RH UT
Remove unnecessary mock patch
Doc fix
Add UT for set_zone on SUSE series
Adjust UT to use correct grain for SUSE series
Bugfix: use correct os_family grain value for SUSE series
Add UT for gentoo on set_zone
Add UT for Debian on set_zone
Remove duplicate code
Add UT for get_hwclock on UTC/localtime
Remove dead code
Add UT for get_hwclock on SUSE platform
Bugfix: use correct grain for SUSE and RedHat platform
Add UT for RedHat/SUSE platforms on get_hwclock
Add UT for Debian on get_hwclock
Add UT on Solaris
Add UT for AIX on get_hwclock
Add UT for set_hwclock on AIX
Fix docstrings
Add UT for set_hwclock on solaris
Add UT for set_hwclock on Arch
Add UT for set_hwclock on RedHat
Fix UT names
Add UT set_hwclock on SUSE
Bugfix: use correct grain name for SUSE platform
Add UT for set_hwclock on Debian
Add UT on set_hw_clock on Gentoo
Fix lint issues
Rewrite test case for using no patch decorators
Disable the test for a while
Do not use multiple variables in "with" statement as of lint issues
The automatic back-porting process did't work for this file since the
testing file has been renamed. I manually added the changes to
`timezone_test.py` that were present in PR #41615.
tls module: convert bytes to string
gzip util: use BytesIO for 'wb' file
django module: ignore arguments order in assert
pillar module: correctly test pillar merge