From 1829ce160334549e2937a5ad47b609e3cd1e36d5 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 20 Jun 2023 09:15:45 +0000 Subject: automatic import of python-AWS-OpenAPI-Lint --- .gitignore | 1 + python-aws-openapi-lint.spec | 273 +++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 275 insertions(+) create mode 100644 python-aws-openapi-lint.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..d597987 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/AWS-OpenAPI-Lint-0.2.2.tar.gz diff --git a/python-aws-openapi-lint.spec b/python-aws-openapi-lint.spec new file mode 100644 index 0000000..4617cb9 --- /dev/null +++ b/python-aws-openapi-lint.spec @@ -0,0 +1,273 @@ +%global _empty_manifest_terminate_build 0 +Name: python-AWS-OpenAPI-Lint +Version: 0.2.2 +Release: 1 +Summary: AWS API Gateway OpenAPI spec linter +License: MIT +URL: https://github.com/evilmint/aws-openapi-lint +Source0: https://mirrors.aliyun.com/pypi/web/packages/8c/86/7aaa63946ca2644352d9e629d8c10c451d3a7d3f87ef13513c156b7390dc/AWS-OpenAPI-Lint-0.2.2.tar.gz +BuildArch: noarch + + +%description +# OpenAPI AWS API Gateway linter + +[![codecov](https://codecov.io/gh/evilmint/aws-openapi-lint/branch/master/graph/badge.svg)](https://codecov.io/gh/evilmint/aws-openapi-lint) [![license](https://img.shields.io/github/license/evilmint/aws-openapi-lint)](https://github.com/evilmint/aws-openapi-lint) + +AWS-OpenAPI-Lint is a simple OpenAPI 3 yaml / json spec linter designed for checking API Gateway integration. + +## Rules + +It contains rules for checking whether: + +- you have an authorizer on OPTIONS +- authorizer is mentioned in `requestParameters` but is not present in `security` +- http verbs are consistent in the path and integration +- all used headers in path from all verbs are mentioned in CORS rules and vice-versa +- CORS rules allow all verbs mentioned in the path +- CORS rules are present +- amazon integration is present +- path parameters present in `requestParameters` are not used in the direct path parameters and vice-versa + +## Roadmap + +- [ ] Update README with rule names and behavior +- [X] Support json specs +- [X] Add optional rule for checking base url equality +- [ ] Add support for configuration yaml file +- [ ] Add possibility to disable rule checking on specific paths +- [ ] Add possibility to disable rules per path +- [ ] Ignore path-params if `http_proxy` integration type used +- [X] Add option to disable rules via CLI +- [X] Add warning threshold to return with status code 0 if limit not exceeded +- [X] Fix flake8 violations +- [X] Add a license +- [X] Publish to PyPI or alike +- [X] Configure properly up GitHub actions to run tests on push + +## Installation + +``` +pip install aws-openapi-lint +``` + +## Usage + +`$ aws-openapi-lint path/to/spec.yml` + +``` +usage: main.py [-h] [--treat-errors-as-warnings] + [--warning-threshold WARNING_THRESHOLD] + [--exclude-rules EXCLUDE_RULES] + lint_file + +Lint OpenAPI specifications based on AWS API Gateway. + +positional arguments: + lint_file Specify path to the openapi schema file. + +optional arguments: + -h, --help show this help message and exit + --treat-errors-as-warnings + Treats errors as warnings (exit code will be 0 unless + warning threshold is specified + --warning-threshold WARNING_THRESHOLD + Warning threshold which when surpassed renders exit + code to become 1) + --exclude-rules EXCLUDE_RULES + Excluded rules separated by comma. + +``` + +%package -n python3-AWS-OpenAPI-Lint +Summary: AWS API Gateway OpenAPI spec linter +Provides: python-AWS-OpenAPI-Lint +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-AWS-OpenAPI-Lint +# OpenAPI AWS API Gateway linter + +[![codecov](https://codecov.io/gh/evilmint/aws-openapi-lint/branch/master/graph/badge.svg)](https://codecov.io/gh/evilmint/aws-openapi-lint) [![license](https://img.shields.io/github/license/evilmint/aws-openapi-lint)](https://github.com/evilmint/aws-openapi-lint) + +AWS-OpenAPI-Lint is a simple OpenAPI 3 yaml / json spec linter designed for checking API Gateway integration. + +## Rules + +It contains rules for checking whether: + +- you have an authorizer on OPTIONS +- authorizer is mentioned in `requestParameters` but is not present in `security` +- http verbs are consistent in the path and integration +- all used headers in path from all verbs are mentioned in CORS rules and vice-versa +- CORS rules allow all verbs mentioned in the path +- CORS rules are present +- amazon integration is present +- path parameters present in `requestParameters` are not used in the direct path parameters and vice-versa + +## Roadmap + +- [ ] Update README with rule names and behavior +- [X] Support json specs +- [X] Add optional rule for checking base url equality +- [ ] Add support for configuration yaml file +- [ ] Add possibility to disable rule checking on specific paths +- [ ] Add possibility to disable rules per path +- [ ] Ignore path-params if `http_proxy` integration type used +- [X] Add option to disable rules via CLI +- [X] Add warning threshold to return with status code 0 if limit not exceeded +- [X] Fix flake8 violations +- [X] Add a license +- [X] Publish to PyPI or alike +- [X] Configure properly up GitHub actions to run tests on push + +## Installation + +``` +pip install aws-openapi-lint +``` + +## Usage + +`$ aws-openapi-lint path/to/spec.yml` + +``` +usage: main.py [-h] [--treat-errors-as-warnings] + [--warning-threshold WARNING_THRESHOLD] + [--exclude-rules EXCLUDE_RULES] + lint_file + +Lint OpenAPI specifications based on AWS API Gateway. + +positional arguments: + lint_file Specify path to the openapi schema file. + +optional arguments: + -h, --help show this help message and exit + --treat-errors-as-warnings + Treats errors as warnings (exit code will be 0 unless + warning threshold is specified + --warning-threshold WARNING_THRESHOLD + Warning threshold which when surpassed renders exit + code to become 1) + --exclude-rules EXCLUDE_RULES + Excluded rules separated by comma. + +``` + +%package help +Summary: Development documents and examples for AWS-OpenAPI-Lint +Provides: python3-AWS-OpenAPI-Lint-doc +%description help +# OpenAPI AWS API Gateway linter + +[![codecov](https://codecov.io/gh/evilmint/aws-openapi-lint/branch/master/graph/badge.svg)](https://codecov.io/gh/evilmint/aws-openapi-lint) [![license](https://img.shields.io/github/license/evilmint/aws-openapi-lint)](https://github.com/evilmint/aws-openapi-lint) + +AWS-OpenAPI-Lint is a simple OpenAPI 3 yaml / json spec linter designed for checking API Gateway integration. + +## Rules + +It contains rules for checking whether: + +- you have an authorizer on OPTIONS +- authorizer is mentioned in `requestParameters` but is not present in `security` +- http verbs are consistent in the path and integration +- all used headers in path from all verbs are mentioned in CORS rules and vice-versa +- CORS rules allow all verbs mentioned in the path +- CORS rules are present +- amazon integration is present +- path parameters present in `requestParameters` are not used in the direct path parameters and vice-versa + +## Roadmap + +- [ ] Update README with rule names and behavior +- [X] Support json specs +- [X] Add optional rule for checking base url equality +- [ ] Add support for configuration yaml file +- [ ] Add possibility to disable rule checking on specific paths +- [ ] Add possibility to disable rules per path +- [ ] Ignore path-params if `http_proxy` integration type used +- [X] Add option to disable rules via CLI +- [X] Add warning threshold to return with status code 0 if limit not exceeded +- [X] Fix flake8 violations +- [X] Add a license +- [X] Publish to PyPI or alike +- [X] Configure properly up GitHub actions to run tests on push + +## Installation + +``` +pip install aws-openapi-lint +``` + +## Usage + +`$ aws-openapi-lint path/to/spec.yml` + +``` +usage: main.py [-h] [--treat-errors-as-warnings] + [--warning-threshold WARNING_THRESHOLD] + [--exclude-rules EXCLUDE_RULES] + lint_file + +Lint OpenAPI specifications based on AWS API Gateway. + +positional arguments: + lint_file Specify path to the openapi schema file. + +optional arguments: + -h, --help show this help message and exit + --treat-errors-as-warnings + Treats errors as warnings (exit code will be 0 unless + warning threshold is specified + --warning-threshold WARNING_THRESHOLD + Warning threshold which when surpassed renders exit + code to become 1) + --exclude-rules EXCLUDE_RULES + Excluded rules separated by comma. + +``` + +%prep +%autosetup -n AWS-OpenAPI-Lint-0.2.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-AWS-OpenAPI-Lint -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot - 0.2.2-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..05391ff --- /dev/null +++ b/sources @@ -0,0 +1 @@ +d5bddd91adf7d9724455c78a29547405 AWS-OpenAPI-Lint-0.2.2.tar.gz -- cgit v1.2.3