insightconnect-integrations-validators


Nameinsightconnect-integrations-validators JSON
Version 2.29.0 PyPI version JSON
download
home_pagehttps://github.com/rapid7/icon-integrations-validators
SummaryValidator tooling for InsightConnect integrations
upload_time2021-02-23 18:13:23
maintainer
docs_urlNone
authorRapid7 Integrations Alliance
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# InsightConnect Integrations Validators

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
![Markdown Lint](https://github.com/rapid7/icon-integrations-validators/workflows/Markdown%20Lint/badge.svg)
![Unit testing](https://github.com/rapid7/icon-integrations-validators/workflows/Unit%20testing/badge.svg)

Tooling with a bundled suite of validator rules for
ensuring quality across
[Rapid7 InsightConnect](https://www.rapid7.com/products/insightconnect/) integrations.

## Installation

```
pip install insightconnect-integrations-validators
```

## Use

Simple!

### Command

```
icon-validate my_plugin_directory/
```

or

```
icon-validate my_plugin_directory/ --all
```

to run entire set of validators used in our CI.
Omitting `--all` is often helpful when developing.

### Python

```
from icon_validator.validate import validate


validate("/path/to/plugin/directory")
```

or

```
validate("/path/to/plugin/directory", run_all=True)
```

to simulate the `--all` flag.

## Contributions

Contributions are welcome! This project utilizes [black](https://github.com/psf/black)
and [pre-commit](https://pre-commit.com/) for handling code
style. Simply follow the instructions for installing pre-commit and 
run `pre-commit install` in the repository after cloning and you will
be on your way to contributing!

## Changelog

* 2.29.0 - Remove Workflow Description Validator to validate that the workflow `description` in workflow .icon file matches the description in workflow.spec.yaml
* 2.28.0 - Add Encoding Validators to look for problematic characters | Update Workflow Description Validator to validate existence of `description` in workflow .icon file | Update Workflow Description Validator to validate that the workflow `description` in workflow .icon file matches the description in workflow.spec.yaml | Update `title_validation_list` | Change error message in `title_validator` for capitalized word when it should not
* 2.27.0 - Add CloudReadyConnectionCredentialToken Validator
* 2.26.0 - Add Example Input Validator to validate if example field exist in plugin.spec | Remove Mitre from AcronymValidator
* 2.25.0 - Add Version Pin Validator to validate if dependency versions are pinned in requirements.txt
* 2.24.0 - Update validators to support validation of plugin tasks.
* 2.23.0 - Add Plugin Validator to identify missing version bump
* 2.22.2 - Fix incorrect detection of 'array' in help.md
* 2.22.1 - Revise Workflow Screenshots Validator
* 2.22.0 - Add workflow directory name and workflow file match validator | Fix incorrect detection of 'lowercase' numbers in filenames | Add additional words to title list
* 2.21.2 - Fix issue where numeric words in a title would break the title validator
* 2.21.1 - Update HelpInputOutputValidator to validate on new Example inputs
* 2.21.0 - Add new runtime validator to align with 4.0.0 release of InsightConnect Python Plugin Runtime 
* 2.20.0 - Add plugin utilization workflow validator | Fix issue where numbers in screenshot titles would cause validation to fail
* 2.19.0 - Add new `example` input to whitelist in SpecPropertiesValidator
* 2.18.0 - Add .icon file validator
* 2.17.2 - Fix to remove some common words from the profanity validator
* 2.17.1 - Fix broken package import
* 2.17.0 - Add workflow name validator, Bug fix for title filters
* 2.16.2 - Fix title validator where it would fail on titles with numbers in it.
* 2.16.1 - Fix profanity filters and title filters to pull from once place
* 2.16.0 - Add workflow description validator
* 2.15.0 - Fix issue in title validator, Add title validator for workflows, clean up requirements
* 2.14.0 - Fix issue where InputOutput validator would fail when missing required key
* 2.13.0 - Add screenshot validator
* 2.12.0 - Add validator to check that .icon filenames do not contain spaces
* 2.11.0 - Add PNG Hash validator
* 2.10.0 - Refactor of validate.py. Updates the validate method to use ValidationException and rework print statements to clean up unit testing
* 2.9.0 - Add unit testing support. Add support, workflow files, workflow vendor, workflow version, workflow changelog and workflow extension validators
* 2.8.1 - Bug fix for URLValidator when opening files
* 2.8.0 - Update ChangelogValidator to validate plugin's version history with latest version number |
Update HelpInputOutputValidator error messaging
* 2.7.0 - Add URL Validator
* 2.6.9 - Update HelpInputOutputValidator to fix error messaging |
Fix issue with HelpInputOutputValidator when help.md has action and trigger with same name
* 2.6.8 - Docker Validator to run with -a command line argument | Helpful message on failure
* 2.6.7 - Fix issue where OutputValidator was throwing error for plugins without any action
* 2.6.6 - Fix issue where HelpInputOutputValidator was not extracting complete output section of an action or trigger
* 2.6.5 - Update IconValidator to check for extension.png
* 2.6.4 - Remove invalid "JQ" entry from the Acronym Validator
* 2.6.3 - Update AcronymValidator and HelpValidator to skip validating example outputs of help.md
* 2.6.2 - Syntax error bug fix in validator order
* 2.6.1 - Fix issue where SSDEEP was listed as an acronym | Run the DockerValidator last
* 2.6.0 - Update to support workflow's help.md validation
* 2.5.0 - Add help input output validator
* 2.4.0 - Update to turn off ConfidentialValidator in code | Revised use case list 
for UseCase Validator
* 2.3.0 - Add changelog validator
* 2.2.0 - Using argparse module to handle arguments and provide -h option
* 2.1.6 - Fix issue where ID was an acronym
* 2.1.5 - Fix issue where confidential validator was not checking against provided whitelist
* 2.1.4 - Fix issue where confidential validator was triggering on remediated findings and updated formatting
* 2.1.3 - Update Exception Validator to throw warning
* 2.1.2 - Fix issue where resources validator would always raise an exception
* 2.1.1 - Update RequiredKeysValidator to validate the correct products key and empty resources keys
* 2.1.0 - Update Golang RegenerationValidator
* 2.0.2 - Update HelpValidator to fix error messaging
* 2.0.1 - Update UseCaseValidator valid use case list
* 2.0.0 - Update Help Validator to use new help format |
Update RequiredKeys Validator for new spec fields |
Add validator rule: use case validation
* 1.3.0 - Add --all flag to run entire set of validators,
add Confidential Validator, Regeneration Validator clean up
* 1.2.0 - Add regeneration validator jenkins support
* 1.1.8 - Add regeneration validator
* 1.1.7 - Remove false positive "SPAM" entry from the Acronym Validator
* 1.1.6 - Improved Output validator
* 1.1.5 - Remove Makefile validator rule, fix rules import
* 1.1.4 - Move `rules` package inside `icon_validator`
* 1.1.3 - Ignore unit test directories (/unit_test & /unit_tests) in Exception Validator
* 1.1.2 - Fix for Acronym and Output validators
* 1.1.1 - Removed breaking changes to Makefile validator
* 1.1.0 - Add validator rules: check for help.md, profanity check,
acronym capitalization check,
`print` usage check, JSON tests, exceptions, credentials, passwords
| Updated rules: Makefiles, logging
* 1.0.0 - Initial release

PyPi.org link: [https://pypi.org/project/insightconnect-integrations-validators/](https://pypi.org/project/insightconnect-integrations-validators/)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rapid7/icon-integrations-validators",
    "name": "insightconnect-integrations-validators",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Rapid7 Integrations Alliance",
    "author_email": "integrationalliance@rapid7.com",
    "download_url": "https://files.pythonhosted.org/packages/38/b0/513ba770828873ba4b77a1b4dca8b86be031fae4b3a9af47dc01098fc198/insightconnect_integrations_validators-2.29.0.tar.gz",
    "platform": "",
    "description": "\n# InsightConnect Integrations Validators\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n![Markdown Lint](https://github.com/rapid7/icon-integrations-validators/workflows/Markdown%20Lint/badge.svg)\n![Unit testing](https://github.com/rapid7/icon-integrations-validators/workflows/Unit%20testing/badge.svg)\n\nTooling with a bundled suite of validator rules for\nensuring quality across\n[Rapid7 InsightConnect](https://www.rapid7.com/products/insightconnect/) integrations.\n\n## Installation\n\n```\npip install insightconnect-integrations-validators\n```\n\n## Use\n\nSimple!\n\n### Command\n\n```\nicon-validate my_plugin_directory/\n```\n\nor\n\n```\nicon-validate my_plugin_directory/ --all\n```\n\nto run entire set of validators used in our CI.\nOmitting `--all` is often helpful when developing.\n\n### Python\n\n```\nfrom icon_validator.validate import validate\n\n\nvalidate(\"/path/to/plugin/directory\")\n```\n\nor\n\n```\nvalidate(\"/path/to/plugin/directory\", run_all=True)\n```\n\nto simulate the `--all` flag.\n\n## Contributions\n\nContributions are welcome! This project utilizes [black](https://github.com/psf/black)\nand [pre-commit](https://pre-commit.com/) for handling code\nstyle. Simply follow the instructions for installing pre-commit and \nrun `pre-commit install` in the repository after cloning and you will\nbe on your way to contributing!\n\n## Changelog\n\n* 2.29.0 - Remove Workflow Description Validator to validate that the workflow `description` in workflow .icon file matches the description in workflow.spec.yaml\n* 2.28.0 - Add Encoding Validators to look for problematic characters | Update Workflow Description Validator to validate existence of `description` in workflow .icon file | Update Workflow Description Validator to validate that the workflow `description` in workflow .icon file matches the description in workflow.spec.yaml | Update `title_validation_list` | Change error message in `title_validator` for capitalized word when it should not\n* 2.27.0 - Add CloudReadyConnectionCredentialToken Validator\n* 2.26.0 - Add Example Input Validator to validate if example field exist in plugin.spec | Remove Mitre from AcronymValidator\n* 2.25.0 - Add Version Pin Validator to validate if dependency versions are pinned in requirements.txt\n* 2.24.0 - Update validators to support validation of plugin tasks.\n* 2.23.0 - Add Plugin Validator to identify missing version bump\n* 2.22.2 - Fix incorrect detection of 'array' in help.md\n* 2.22.1 - Revise Workflow Screenshots Validator\n* 2.22.0 - Add workflow directory name and workflow file match validator | Fix incorrect detection of 'lowercase' numbers in filenames | Add additional words to title list\n* 2.21.2 - Fix issue where numeric words in a title would break the title validator\n* 2.21.1 - Update HelpInputOutputValidator to validate on new Example inputs\n* 2.21.0 - Add new runtime validator to align with 4.0.0 release of InsightConnect Python Plugin Runtime \n* 2.20.0 - Add plugin utilization workflow validator | Fix issue where numbers in screenshot titles would cause validation to fail\n* 2.19.0 - Add new `example` input to whitelist in SpecPropertiesValidator\n* 2.18.0 - Add .icon file validator\n* 2.17.2 - Fix to remove some common words from the profanity validator\n* 2.17.1 - Fix broken package import\n* 2.17.0 - Add workflow name validator, Bug fix for title filters\n* 2.16.2 - Fix title validator where it would fail on titles with numbers in it.\n* 2.16.1 - Fix profanity filters and title filters to pull from once place\n* 2.16.0 - Add workflow description validator\n* 2.15.0 - Fix issue in title validator, Add title validator for workflows, clean up requirements\n* 2.14.0 - Fix issue where InputOutput validator would fail when missing required key\n* 2.13.0 - Add screenshot validator\n* 2.12.0 - Add validator to check that .icon filenames do not contain spaces\n* 2.11.0 - Add PNG Hash validator\n* 2.10.0 - Refactor of validate.py. Updates the validate method to use ValidationException and rework print statements to clean up unit testing\n* 2.9.0 - Add unit testing support. Add support, workflow files, workflow vendor, workflow version, workflow changelog and workflow extension validators\n* 2.8.1 - Bug fix for URLValidator when opening files\n* 2.8.0 - Update ChangelogValidator to validate plugin's version history with latest version number |\nUpdate HelpInputOutputValidator error messaging\n* 2.7.0 - Add URL Validator\n* 2.6.9 - Update HelpInputOutputValidator to fix error messaging |\nFix issue with HelpInputOutputValidator when help.md has action and trigger with same name\n* 2.6.8 - Docker Validator to run with -a command line argument | Helpful message on failure\n* 2.6.7 - Fix issue where OutputValidator was throwing error for plugins without any action\n* 2.6.6 - Fix issue where HelpInputOutputValidator was not extracting complete output section of an action or trigger\n* 2.6.5 - Update IconValidator to check for extension.png\n* 2.6.4 - Remove invalid \"JQ\" entry from the Acronym Validator\n* 2.6.3 - Update AcronymValidator and HelpValidator to skip validating example outputs of help.md\n* 2.6.2 - Syntax error bug fix in validator order\n* 2.6.1 - Fix issue where SSDEEP was listed as an acronym | Run the DockerValidator last\n* 2.6.0 - Update to support workflow's help.md validation\n* 2.5.0 - Add help input output validator\n* 2.4.0 - Update to turn off ConfidentialValidator in code | Revised use case list \nfor UseCase Validator\n* 2.3.0 - Add changelog validator\n* 2.2.0 - Using argparse module to handle arguments and provide -h option\n* 2.1.6 - Fix issue where ID was an acronym\n* 2.1.5 - Fix issue where confidential validator was not checking against provided whitelist\n* 2.1.4 - Fix issue where confidential validator was triggering on remediated findings and updated formatting\n* 2.1.3 - Update Exception Validator to throw warning\n* 2.1.2 - Fix issue where resources validator would always raise an exception\n* 2.1.1 - Update RequiredKeysValidator to validate the correct products key and empty resources keys\n* 2.1.0 - Update Golang RegenerationValidator\n* 2.0.2 - Update HelpValidator to fix error messaging\n* 2.0.1 - Update UseCaseValidator valid use case list\n* 2.0.0 - Update Help Validator to use new help format |\nUpdate RequiredKeys Validator for new spec fields |\nAdd validator rule: use case validation\n* 1.3.0 - Add --all flag to run entire set of validators,\nadd Confidential Validator, Regeneration Validator clean up\n* 1.2.0 - Add regeneration validator jenkins support\n* 1.1.8 - Add regeneration validator\n* 1.1.7 - Remove false positive \"SPAM\" entry from the Acronym Validator\n* 1.1.6 - Improved Output validator\n* 1.1.5 - Remove Makefile validator rule, fix rules import\n* 1.1.4 - Move `rules` package inside `icon_validator`\n* 1.1.3 - Ignore unit test directories (/unit_test & /unit_tests) in Exception Validator\n* 1.1.2 - Fix for Acronym and Output validators\n* 1.1.1 - Removed breaking changes to Makefile validator\n* 1.1.0 - Add validator rules: check for help.md, profanity check,\nacronym capitalization check,\n`print` usage check, JSON tests, exceptions, credentials, passwords\n| Updated rules: Makefiles, logging\n* 1.0.0 - Initial release\n\nPyPi.org link: [https://pypi.org/project/insightconnect-integrations-validators/](https://pypi.org/project/insightconnect-integrations-validators/)\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Validator tooling for InsightConnect integrations",
    "version": "2.29.0",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "6a4244a7f14988f3e957369d986bf0c8",
                "sha256": "599e847208f0b5ba5bb0f261da3d950922759fe2513f69817810a8a290338cb7"
            },
            "downloads": -1,
            "filename": "insightconnect_integrations_validators-2.29.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6a4244a7f14988f3e957369d986bf0c8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 73070,
            "upload_time": "2021-02-23T18:13:22",
            "upload_time_iso_8601": "2021-02-23T18:13:22.472976Z",
            "url": "https://files.pythonhosted.org/packages/c5/5e/6895b9d44f5c55bb6b4f7b273fbc8046213a8f767dae94e55abf14ab0f5d/insightconnect_integrations_validators-2.29.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "a2cd1e036c1e60ddfdb51213460daf6e",
                "sha256": "e4d6dbe06b178a92b64346375d5bdb1a4808f45ae120e8571e88d599f7147c04"
            },
            "downloads": -1,
            "filename": "insightconnect_integrations_validators-2.29.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a2cd1e036c1e60ddfdb51213460daf6e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 50568,
            "upload_time": "2021-02-23T18:13:23",
            "upload_time_iso_8601": "2021-02-23T18:13:23.843023Z",
            "url": "https://files.pythonhosted.org/packages/38/b0/513ba770828873ba4b77a1b4dca8b86be031fae4b3a9af47dc01098fc198/insightconnect_integrations_validators-2.29.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-02-23 18:13:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": null,
    "github_project": "rapid7",
    "error": "Could not fetch GitHub repository",
    "lcname": "insightconnect-integrations-validators"
}
        
Elapsed time: 0.25204s