From 821ebe7f915d9ccec452bb5a47637fe59eb7c8ad Mon Sep 17 00:00:00 2001 From: jeanluc Date: Tue, 13 Aug 2024 00:25:20 +0200 Subject: [PATCH 1/3] Update to Copier template 0.3.7 --- .copier-answers.yml | 12 ++- .github/workflows/pr.yml | 14 ++- .github/workflows/tag.yml | 29 +++--- .pre-commit-config.yaml | 28 +++--- .pre-commit-hooks/make-autodocs.py | 1 - CODE-OF-CONDUCT.md | 127 +++++++++++++++++++++++++++ CONTRIBUTING.md | 14 +++ NOTICE | 10 +++ README.md | 9 +- docs/_ext/saltdomain.py | 18 ++++ docs/conf.py | 11 ++- docs/topics/installation.md | 8 -- noxfile.py | 10 +-- pyproject.toml | 89 ++++++++++--------- src/saltext/helm/modules/__init__.py | 3 - src/saltext/helm/states/__init__.py | 3 - tests/conftest.py | 2 +- tests/unit/conftest.py | 5 ++ 18 files changed, 293 insertions(+), 100 deletions(-) create mode 100644 CODE-OF-CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 NOTICE create mode 100644 docs/_ext/saltdomain.py diff --git a/.copier-answers.yml b/.copier-answers.yml index c2301ff..c02bd07 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,15 +1,19 @@ # Autogenerated. Do not edit this by hand, use `copier update`. --- -_commit: 0.2.6 +_commit: 0.3.7 _src_path: https://github.com/lkubb/salt-extension-copier author: EITR Technologies, LLC author_email: devops@eitr.tech -docs_url: '' +coc_contact: devops@eitr.tech +copyright_begin: 2024 +deploy_docs: rolling +docs_url: https://salt-extensions.github.io/saltext-helm/ +integration_name: Helm license: apache loaders: - module - state -max_salt_version: 3006 +max_salt_version: 3007 no_saltext_namespace: false package_name: helm project_name: helm @@ -18,5 +22,7 @@ salt_version: '3005' source_url: https://github.com/salt-extensions/saltext-helm ssh_fixtures: false summary: Salt Extension for interacting with Helm +test_containers: false tracker_url: https://github.com/salt-extensions/saltext-helm/issues url: https://github.com/salt-extensions/saltext-helm +workflows: org diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c612d7a..47c40ed 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,11 +1,21 @@ name: Pull Request or Push -on: [push, pull_request] +on: + push: + branches: + - 'main' # Run on pushes to main + tags-ignore: + - '*' # Ignore pushes to tags + pull_request: jobs: - ci: + call_central_workflow: name: CI uses: salt-extensions/central-artifacts/.github/workflows/ci.yml@main + with: + deploy-docs: true permissions: contents: write + id-token: write + pages: write pull-requests: read diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 9f86b4e..dab0796 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -3,24 +3,31 @@ name: Tagged Releases on: push: tags: - - "v*" + - "v*" # Only tags starting with "v" for "v1.0.0", etc. jobs: - ci: + get_tag_version: runs-on: ubuntu-latest + outputs: + version: ${{ steps.get_version.outputs.version }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Extract tag name id: get_version - run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/v})" >> $GITHUB_ENV + run: echo "version=$(echo ${GITHUB_REF#refs/tags/v})" >> $GITHUB_OUTPUT - - name: CI - uses: salt-extensions/central-artifacts/.github/workflows/ci.yml@main - with: - release: true - version: ${{ env.VERSION }} - permissions: - contents: write - pull-requests: read + call_central_workflow: + needs: get_tag_version + uses: salt-extensions/central-artifacts/.github/workflows/ci.yml@main + with: + deploy-docs: true + release: true + version: ${{ needs.get_tag_version.outputs.version }} + permissions: + contents: write + id-token: write + pages: write + pull-requests: read + secrets: inherit diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 138a6f8..fd8b56f 100755 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ minimum_pre_commit_version: 2.4.0 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.6.0 hooks: - id: check-merge-conflict # Check for files that contain merge conflict strings. - id: trailing-whitespace # Trims trailing whitespace. @@ -56,7 +56,7 @@ repos: args: [--silent, -E, fix_docstrings] - repo: https://github.com/asottile/pyupgrade - rev: v2.37.2 + rev: v3.15.2 hooks: - id: pyupgrade name: Rewrite Code to be Py3.8+ @@ -65,35 +65,35 @@ repos: ] exclude: src/saltext/helm/version.py - - repo: https://github.com/asottile/reorder_python_imports - rev: v3.10.0 + - repo: https://github.com/PyCQA/isort + rev: 5.13.2 hooks: - - id: reorder-python-imports + - id: isort args: [ - --py38-plus, + --py 38, ] - exclude: src/saltext/helm/version.py + exclude: src/saltext/helm/(__init__|version).py - repo: https://github.com/psf/black - rev: 22.6.0 + rev: 24.2.0 hooks: - id: black args: [-l 100] exclude: src/saltext/helm/version.py - repo: https://github.com/adamchainz/blacken-docs - rev: v1.12.1 + rev: 1.16.0 hooks: - id: blacken-docs args: [--skip-errors] files: ^(docs/.*\.rst|src/saltext/helm/.*\.py)$ additional_dependencies: - - black==22.6.0 + - black==24.2.0 # <---- Formatting ----------------------------------------------------------------------------- # ----- Security ------------------------------------------------------------------------------> - repo: https://github.com/PyCQA/bandit - rev: "1.7.4" + rev: 1.7.8 hooks: - id: bandit alias: bandit-salt @@ -101,7 +101,7 @@ repos: args: [--silent, -lll, --skip, B701] exclude: src/saltext/helm/version.py - repo: https://github.com/PyCQA/bandit - rev: "1.7.4" + rev: 1.7.8 hooks: - id: bandit alias: bandit-tests @@ -112,7 +112,7 @@ repos: # ----- Code Analysis -------------------------------------------------------------------------> - repo: https://github.com/saltstack/mirrors-nox - rev: v2021.6.12 + rev: v2022.11.21 hooks: - id: nox alias: lint-src @@ -125,7 +125,7 @@ repos: - -- - repo: https://github.com/saltstack/mirrors-nox - rev: v2021.6.12 + rev: v2022.11.21 hooks: - id: nox alias: lint-tests diff --git a/.pre-commit-hooks/make-autodocs.py b/.pre-commit-hooks/make-autodocs.py index 72cc27b..71879bd 100644 --- a/.pre-commit-hooks/make-autodocs.py +++ b/.pre-commit-hooks/make-autodocs.py @@ -3,7 +3,6 @@ import subprocess from pathlib import Path - repo_path = Path(subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode().strip()) src_dir = repo_path / "src" / "saltext" / "helm" doc_dir = repo_path / "docs" diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md new file mode 100644 index 0000000..2a5a682 --- /dev/null +++ b/CODE-OF-CONDUCT.md @@ -0,0 +1,127 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in Salt +Extension Modules for Helm project and our community a +harassment-free experience for everyone, regardless of age, body size, visible +or invisible disability, ethnicity, sex characteristics, gender identity and +expression, level of experience, education, socio-economic status, nationality, +personal appearance, race, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at devops@eitr.tech. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c692f7e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,14 @@ +Thanks for your interest in contributing to the Salt Extension Modules for +Helm! We welcome any contribution, large or small - from +adding a new feature to fixing a single letter typo. + +This is a companion to the Salt Project and the [Salt Contributing +Guide][salt-contributing] should be considered the default for this project. +Where this project disagrees with the Salt Project, the guidelines here take +precedence. Where this project is silent, the Salt guidelines should be used. + +See the **Contributing** section in the [README][README.md] for a quickstart. + + +[README.md]: README.md +[salt-contributing]: https://docs.saltproject.io/en/master/topics/development/contributing.html diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..320ee70 --- /dev/null +++ b/NOTICE @@ -0,0 +1,10 @@ +Salt Extension Modules for Helm +Copyright 2024 EITR Technologies, LLC + +This product is licensed to you under the Apache 2.0 license (the "License"). +You may not use this product except in compliance with the Apache 2.0 License. + +This product may include a number of subcomponents with separate copyright +notices and license terms. Your use of these subcomponents is subject to the +terms and conditions of the subcomponent's license, as noted in the LICENSE +file. diff --git a/README.md b/README.md index cb09c08..a07b9d2 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,14 @@ Salt Extension for interacting with Helm ## Security -If you think you've found a security vulnerability, see +If you think you have found a security vulnerability, see [Salt's security guide][security]. ## User Documentation This README is for people aiming to contribute to the project. If you just want to get started with the extension, check out the -module docstrings (for now, documentation is coming!). +[User Documentation][docs]. ## Contributing @@ -64,11 +64,11 @@ these areas: You could also contribute in other ways: * Writing blog posts -* Posting on social media about how you used Salt+Helm to solve your +* Posting on social media about how you used Salt + Helm to solve your problems, including videos * Giving talks at conferences * Publishing videos -* Asking/answering questions in IRC, Slack, or email groups +* Asking/answering questions in IRC, Discord or email groups Any of these things are super valuable to our community, and we sincerely appreciate every contribution! @@ -84,3 +84,4 @@ that's where you'll find the rest of the documentation. [PRs]: https://github.com/salt-extensions/saltext-helm/pulls [discussions]: https://github.com/salt-extensions/saltext-helm/discussions [comments]: https://conventionalcomments.org/ +[docs]: https://salt-extensions.github.io/saltext-helm/ diff --git a/docs/_ext/saltdomain.py b/docs/_ext/saltdomain.py new file mode 100644 index 0000000..7a85489 --- /dev/null +++ b/docs/_ext/saltdomain.py @@ -0,0 +1,18 @@ +""" +Copied/distilled from Salt doc/_ext/saltdomain.py in order to be able +to use Salt's custom doc refs. +""" + + +def setup(app): + app.add_crossref_type( + directivename="conf_master", + rolename="conf_master", + indextemplate="pair: %s; conf/master", + ) + app.add_crossref_type( + directivename="conf_minion", + rolename="conf_minion", + indextemplate="pair: %s; conf/minion", + ) + return {"parallel_read_safe": True, "parallel_write_safe": True} diff --git a/docs/conf.py b/docs/conf.py index 0f3e695..56c35cc 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -42,12 +42,12 @@ # -- Project information ----------------------------------------------------- this_year = datetime.datetime.today().year -if this_year == 2021: - copyright_year = 2021 +if this_year == 2024: + copyright_year = "2024" else: - copyright_year = f"2021 - {this_year}" + copyright_year = f"2024 - {this_year}" project = dist.metadata["Summary"] -author = dist.metadata["Author"] +author = dist.metadata.get("Author") if author is None: # Core metadata is serialized differently with pyproject.toml: @@ -79,6 +79,8 @@ # -- General configuration --------------------------------------------------- +linkcheck_ignore = [r"http://localhost:\d+"] + # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. @@ -92,6 +94,7 @@ "sphinx.ext.coverage", "sphinx_copybutton", "sphinxcontrib.spelling", + "saltdomain", "sphinxcontrib.towncrier.ext", "myst_parser", "sphinx_inline_tabs", diff --git a/docs/topics/installation.md b/docs/topics/installation.md index 48c457f..bae4d9d 100644 --- a/docs/topics/installation.md +++ b/docs/topics/installation.md @@ -22,15 +22,7 @@ pip install saltext-helm ``` ::: -:::{important} -Currently, there is [an issue][issue-second-saltext] where the installation of a Saltext fails silently -if the environment already has another one installed. You can workaround this by -removing all Saltexts and reinstalling them in one transaction. -::: - :::{hint} Saltexts are not distributed automatically via the fileserver like custom modules, they need to be installed on each node you want them to be available on. ::: - -[issue-second-saltext]: https://github.com/saltstack/salt/issues/65433 diff --git a/noxfile.py b/noxfile.py index d6fa83d..2187d35 100755 --- a/noxfile.py +++ b/noxfile.py @@ -19,16 +19,16 @@ nox.options.error_on_missing_interpreters = False # Python versions to test against -PYTHON_VERSIONS = ("3", "3.8", "3.9", "3.10") +PYTHON_VERSIONS = ("3", "3.8", "3.9", "3.10", "3.11", "3.12") # Be verbose when running under a CI context CI_RUN = ( os.environ.get("JENKINS_URL") or os.environ.get("CI") or os.environ.get("DRONE") is not None ) PIP_INSTALL_SILENT = CI_RUN is False -SKIP_REQUIREMENTS_INSTALL = "SKIP_REQUIREMENTS_INSTALL" in os.environ +SKIP_REQUIREMENTS_INSTALL = os.environ.get("SKIP_REQUIREMENTS_INSTALL", "0") == "1" EXTRA_REQUIREMENTS_INSTALL = os.environ.get("EXTRA_REQUIREMENTS_INSTALL") -COVERAGE_VERSION_REQUIREMENT = "coverage==5.2" +COVERAGE_REQUIREMENT = os.environ.get("COVERAGE_REQUIREMENT") or "coverage==7.5.1" SALT_REQUIREMENT = os.environ.get("SALT_REQUIREMENT") or "salt>=3005" if SALT_REQUIREMENT == "salt==master": SALT_REQUIREMENT = "git+https://github.com/saltstack/salt.git@master" @@ -89,9 +89,7 @@ def _install_requirements( # Always have the wheel package installed session.install("--progress-bar=off", "wheel", silent=PIP_INSTALL_SILENT) if install_coverage_requirements: - session.install( - "--progress-bar=off", COVERAGE_VERSION_REQUIREMENT, silent=PIP_INSTALL_SILENT - ) + session.install("--progress-bar=off", COVERAGE_REQUIREMENT, silent=PIP_INSTALL_SILENT) if install_salt: session.install("--progress-bar=off", SALT_REQUIREMENT, silent=PIP_INSTALL_SILENT) diff --git a/pyproject.toml b/pyproject.toml index abdf39e..60a6445 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,8 @@ classifiers = [ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", @@ -42,6 +44,7 @@ content-type = "text/markdown" [project.urls] Homepage = "https://github.com/salt-extensions/saltext-helm" +Documentation = "https://salt-extensions.github.io/saltext-helm/" Source = "https://github.com/salt-extensions/saltext-helm" Tracker = "https://github.com/salt-extensions/saltext-helm/issues" @@ -70,8 +73,8 @@ lint = [ "saltpylint", ] tests = [ - "pytest>=6.1.0", - "pytest-salt-factories>=1.0.0rc19", + "pytest>=7.2.0", + "pytest-salt-factories>=1.0.0", ] [project.entry-points."salt.loader"] @@ -101,42 +104,48 @@ build_dir = "build/sphinx" [tool.black] line-length = 100 +[tool.isort] +force_single_line = true +skip = ["src/saltext/helm/__init__.py"] +profile = "black" +line_length = 100 + [tool.towncrier] - package = "saltext.helm" - filename = "CHANGELOG.md" - template = "changelog/.template.jinja" - directory = "changelog/" - start_string = "# Changelog\n" - underlines = ["", "", ""] - title_format = "## {version} ({project_date})" - issue_format = "[#{issue}](https://github.com/salt-extensions/saltext-helm/issues/{issue})" - - [[tool.towncrier.type]] - directory = "removed" - name = "Removed" - showcontent = true - - [[tool.towncrier.type]] - directory = "deprecated" - name = "Deprecated" - showcontent = true - - [[tool.towncrier.type]] - directory = "changed" - name = "Changed" - showcontent = true - - [[tool.towncrier.type]] - directory = "fixed" - name = "Fixed" - showcontent = true - - [[tool.towncrier.type]] - directory = "added" - name = "Added" - showcontent = true - - [[tool.towncrier.type]] - directory = "security" - name = "Security" - showcontent = true +package = "saltext.helm" +filename = "CHANGELOG.md" +template = "changelog/.template.jinja" +directory = "changelog/" +start_string = "# Changelog\n" +underlines = ["", "", ""] +title_format = "## {version} ({project_date})" +issue_format = "[#{issue}](https://github.com/salt-extensions/saltext-helm/issues/{issue})" + +[[tool.towncrier.type]] +directory = "removed" +name = "Removed" +showcontent = true + +[[tool.towncrier.type]] +directory = "deprecated" +name = "Deprecated" +showcontent = true + +[[tool.towncrier.type]] +directory = "changed" +name = "Changed" +showcontent = true + +[[tool.towncrier.type]] +directory = "fixed" +name = "Fixed" +showcontent = true + +[[tool.towncrier.type]] +directory = "added" +name = "Added" +showcontent = true + +[[tool.towncrier.type]] +directory = "security" +name = "Security" +showcontent = true diff --git a/src/saltext/helm/modules/__init__.py b/src/saltext/helm/modules/__init__.py index 95433ea..e69de29 100644 --- a/src/saltext/helm/modules/__init__.py +++ b/src/saltext/helm/modules/__init__.py @@ -1,3 +0,0 @@ -""" -Execution Module Directory -""" diff --git a/src/saltext/helm/states/__init__.py b/src/saltext/helm/states/__init__.py index a3d87d2..e69de29 100644 --- a/src/saltext/helm/states/__init__.py +++ b/src/saltext/helm/states/__init__.py @@ -1,3 +0,0 @@ -""" -States Directory -""" diff --git a/tests/conftest.py b/tests/conftest.py index c158a54..6815bf1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,9 +2,9 @@ import os import pytest -from saltext.helm import PACKAGE_ROOT from saltfactories.utils import random_string +from saltext.helm import PACKAGE_ROOT # Reset the root logger to its default level(because salt changed it) logging.root.setLevel(logging.WARNING) diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index 3e3fa4a..b3b6ced 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -1,3 +1,5 @@ +import os + import pytest import salt.config @@ -17,6 +19,7 @@ def minion_opts(tmp_path): dirpath.mkdir(parents=True) opts[name] = str(dirpath) opts["log_file"] = "logs/minion.log" + opts["conf_file"] = os.path.join(opts["conf_dir"], "minion") return opts @@ -35,6 +38,7 @@ def master_opts(tmp_path): dirpath.mkdir(parents=True) opts[name] = str(dirpath) opts["log_file"] = "logs/master.log" + opts["conf_file"] = os.path.join(opts["conf_dir"], "master") return opts @@ -54,4 +58,5 @@ def syndic_opts(tmp_path): dirpath.mkdir(parents=True) opts[name] = str(dirpath) opts["log_file"] = "logs/syndic.log" + opts["conf_file"] = os.path.join(opts["conf_dir"], "syndic") return opts From bd86bd8b9c3075a9d922944fa3ada9008e65a23c Mon Sep 17 00:00:00 2001 From: jeanluc Date: Tue, 13 Aug 2024 00:25:43 +0200 Subject: [PATCH 2/3] Get rid of unnecessary boilerplate --- tests/functional/modules/test_helm.py | 16 ---------------- tests/functional/states/test_helm.py | 18 ------------------ 2 files changed, 34 deletions(-) delete mode 100644 tests/functional/modules/test_helm.py delete mode 100644 tests/functional/states/test_helm.py diff --git a/tests/functional/modules/test_helm.py b/tests/functional/modules/test_helm.py deleted file mode 100644 index 1b60f1f..0000000 --- a/tests/functional/modules/test_helm.py +++ /dev/null @@ -1,16 +0,0 @@ -import pytest - -pytestmark = [ - pytest.mark.requires_salt_modules("helm.example_function"), -] - - -@pytest.fixture -def helm(modules): - return modules.helm - - -def test_replace_this_this_with_something_meaningful(helm): - echo_str = "Echoed!" - res = helm.example_function(echo_str) - assert res == echo_str diff --git a/tests/functional/states/test_helm.py b/tests/functional/states/test_helm.py deleted file mode 100644 index 8ab0cdd..0000000 --- a/tests/functional/states/test_helm.py +++ /dev/null @@ -1,18 +0,0 @@ -import pytest - -pytestmark = [ - pytest.mark.requires_salt_states("helm.exampled"), -] - - -@pytest.fixture -def helm(states): - return states.helm - - -def test_replace_this_this_with_something_meaningful(helm): - echo_str = "Echoed!" - ret = helm.exampled(echo_str) - assert ret.result - assert not ret.changes - assert echo_str in ret.comment From 8828be43a15be707964d7b05d2fc55bba9a3df3e Mon Sep 17 00:00:00 2001 From: jeanluc Date: Tue, 13 Aug 2024 00:26:32 +0200 Subject: [PATCH 3/3] Run pre-commit after update --- src/saltext/helm/modules/helm.py | 3 ++- tests/unit/modules/test_helm.py | 3 ++- tests/unit/states/test_helm.py | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/saltext/helm/modules/helm.py b/src/saltext/helm/modules/helm.py index 8ec6b45..f3e1a5a 100644 --- a/src/saltext/helm/modules/helm.py +++ b/src/saltext/helm/modules/helm.py @@ -31,6 +31,7 @@ Detailed Function Documentation ------------------------------- """ + import copy import logging import re @@ -1002,7 +1003,7 @@ def repo_manage(present=None, absent=None, prune=False, namespace=None, flags=No ) already_present = False - for (index, repo_present) in enumerate(repos_present): + for index, repo_present in enumerate(repos_present): if repo.get("name") == repo_present.get("name") and repo.get("url") == repo_present.get( "url" ): diff --git a/tests/unit/modules/test_helm.py b/tests/unit/modules/test_helm.py index bcda067..e7bcc09 100644 --- a/tests/unit/modules/test_helm.py +++ b/tests/unit/modules/test_helm.py @@ -1,8 +1,9 @@ """ Test cases for salt.modules.helm """ -from unittest.mock import call + from unittest.mock import MagicMock +from unittest.mock import call from unittest.mock import patch import pytest diff --git a/tests/unit/states/test_helm.py b/tests/unit/states/test_helm.py index aec72a4..6ff70fa 100644 --- a/tests/unit/states/test_helm.py +++ b/tests/unit/states/test_helm.py @@ -1,6 +1,7 @@ """ Test cases for salt.modules.helm """ + from unittest.mock import MagicMock from unittest.mock import patch