Adding pytests
parent
53a0b6c788
commit
98f7bb3b6e
|
@ -12,19 +12,12 @@ jobs:
|
|||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: 2.7
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
pip install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pip install pytest
|
||||
pytest
|
||||
pytest csrgen_test.py
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
dist/*
|
||||
__*
|
||||
CSR_Generator.egg-info/*
|
||||
*.log
|
||||
*.csr
|
||||
*.key
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
Generate a key, self-signed certificate, and certificate request.
|
||||
|
||||
## Information
|
||||
You'll notice there is only one version of python scripts. This can be used with both python(2.7) and python(3.5).
|
||||
This script is for Python 2.7. Due to how the input() function has changed between python2 and python3, this
|
||||
script is not backwards compatible at this time.
|
||||
|
||||
## Installation / Dependencies
|
||||
The following modules are required:
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
# Usage: csrgen -n <hostname> -s <san0> <san1>
|
||||
#
|
||||
# If you want to generate multiple CSRs, you can use the -f command to
|
||||
# feed in a .yaml file via the CLI. See the example sample.yaml in this
|
||||
# feed in a .yaml file via the CLI. See the example samples/sample-file.yaml in this
|
||||
# repository for examples.
|
||||
#
|
||||
# If you want to predefine some of your CSR attributes, you can use the -u command
|
||||
# to feed in a .yaml file via the CLI. See the example csr.yaml in this repository
|
||||
# to feed in a .yaml file via the CLI. See the example samples/csr-sample-unattended.yaml in this repository
|
||||
# for examples.
|
||||
#
|
||||
# Author: Courtney Cotton <cotton@cottoncourtney.com> 06-25-2014, Updated 8-9-2017
|
||||
# Author: Cotton Beckfield <cotton@cottonbeckfield.com> 06-25-2014, Updated 01-20-2020
|
||||
# Author: Ben Mz <bmz@prohacktive.io> Updated 06-15-2018
|
||||
|
||||
# Libraries/Modules
|
||||
|
@ -295,6 +295,7 @@ class Authority(Certificate):
|
|||
|
||||
|
||||
def main(argv):
|
||||
print(argv)
|
||||
# Define default values
|
||||
VERBOSE = False
|
||||
LOG_FILE = "./certGen.log"
|
Binary file not shown.
|
@ -0,0 +1,39 @@
|
|||
import pytest
|
||||
import csrgen
|
||||
import logging
|
||||
|
||||
def import_logging():
|
||||
logger = logging.getLogger('certgen')
|
||||
hdlr = logging.handlers.TimedRotatingFileHandler("csrgen_test.log", when="midnight", backupCount=3)
|
||||
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
|
||||
hdlr.setFormatter(formatter)
|
||||
logger.addHandler(hdlr)
|
||||
logger.setLevel("WARN")
|
||||
|
||||
return logger
|
||||
|
||||
# Test that if a file is supplied (../samples/sample-file.yaml) the code does #
|
||||
# exit with an error.
|
||||
|
||||
def test_load_nodes():
|
||||
logger = import_logging()
|
||||
cert = csrgen.Certificate(logger, {'verbose': False, 'size': '2048', 'C': 'Te', 'ST': 'PACA', 'L': 'Gap', 'O': 'ProHacktive SAS', 'OU': 'prohacktive.io'})
|
||||
result = cert.loadNodes("samples/sample-file.yaml")
|
||||
|
||||
def test_load_defaults():
|
||||
logger = import_logging()
|
||||
cert = csrgen.Certificate(logger, {'verbose': False, 'size': '2048'})
|
||||
result = cert.loadDefaults("samples/csr-sample-unattended.yaml")
|
||||
|
||||
def test_generate_csr():
|
||||
logger = import_logging()
|
||||
cert = csrgen.Certificate(logger, {'verbose': False, 'size': '2048', 'hostname': 'test-csr.edu', 'sans': 'test-csr-sans.edu',
|
||||
'C': 'Te', 'ST': 'PACA', 'L': 'Gap', 'O': 'ProHacktive SAS', 'OU': 'prohacktive.io'})
|
||||
result = cert.generateCSR()
|
||||
|
||||
# Test that if a file is supplied and a ../samples/csr-sample-unattended.yaml is supplied
|
||||
# that the code does not exit.
|
||||
|
||||
# Test that if someone supplies -n the code does not exit.
|
||||
|
||||
# Test that if someone supplies a -n and a -s that the code does not exit.
|
Loading…
Reference in New Issue