Skip to content

Commit

Permalink
Create certificate tests
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelobelli committed Dec 28, 2018
1 parent 8969952 commit f4ca37a
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 2 deletions.
1 change: 0 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ repos:
- id: check-vcs-permalinks
- id: check-xml
- id: check-yaml
- id: detect-private-key
- id: forbid-new-submodules
- id: flake8
args: ['--exclude=docs/*,*migrations*', '--ignore=E501']
Expand Down
2 changes: 1 addition & 1 deletion PyNFSe/base/certificate.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def get_certificate(cfx_certificate_filepath: str, password: str) -> Tuple:
return cert_ca, cert_file, key, key_file


def _create_temp_file(content: bytes) -> NamedTemporaryFile:
def _create_temp_file(content: bytes):
temp_file = NamedTemporaryFile()
temp_file.write(content)
temp_file.seek(0)
Expand Down
67 changes: 67 additions & 0 deletions tests/base/test_certificate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
from tempfile import _TemporaryFileWrapper

import pytest
from PyNFSe.base.certificate import _create_temp_file, get_certificate


@pytest.fixture
def certificate_chain():
return b'''-----BEGIN CERTIFICATE-----
MIIDhDCCAmygAwIBAgIKZCXL8wAAAAAStTANBgkqhkiG9w0BAQUFADAcMRowGAYD
VQQDExFQSUxPVE9JU1NDVVJJVElCQTAeFw0xNjExMTUwMjQ0MzVaFw0xNzExMTUw
MjU0MzVaMFExCzAJBgNVBAYTAkFBMQowCAYDVQQIEwFhMQowCAYDVQQHEwFhMQow
CAYDVQQLEwFhMQowCAYDVQQDEwFhMRIwEAYJKoZIhvcNAQkBFgNhQGEwgZ8wDQYJ
KoZIhvcNAQEBBQADgY0AMIGJAoGBAKWXY7Ed+tNB08Gk9XDs64ySfebqUj8GPSkN
5v0JbGoKsU28PZKJmdZGI32PzSRimpqJ8TtF+mlIYzPGOWaPQfQ0RIul22TLEBFV
/MTf9NtQ+XtrI3P+41Z1b7NUfvZAeJX37td4yzD6tytLDG+OsqBoEFE1fcvEFm6S
SXjnqg4JAgMBAAGjggEVMIIBETAOBgNVHQ8BAf8EBAMCBPAwEwYDVR0lBAwwCgYI
KwYBBQUHAwIwHQYDVR0OBBYEFKjFwEt26SdfbwOm5dfhVTwwpsLqMB8GA1UdIwQY
MBaAFMfsVZWz6ktjZvG/o306I++LnBhLMEcGA1UdHwRAMD4wPKA6oDiGNmZpbGU6
Ly9XRUJBUFBJU1NDV0IwNC9DZXJ0RW5yb2xsL1BJTE9UT0lTU0NVUklUSUJBLmNy
bDBhBggrBgEFBQcBAQRVMFMwUQYIKwYBBQUHMAKGRWZpbGU6Ly9XRUJBUFBJU1ND
V0IwNC9DZXJ0RW5yb2xsL1dFQkFQUElTU0NXQjA0X1BJTE9UT0lTU0NVUklUSUJB
LmNydDANBgkqhkiG9w0BAQUFAAOCAQEAcN1v1u/jyWoz54Py80QKc82ZfoYO12Ak
vw4hIc28BszeBO/cv1Idizu2jdqD0fG9mFrKqUd0LctOaumvr3tzSIEhH+oT3+8h
DBb4uhHBNAia1gcCYUZp+VMh/gsH5DKeziMCVEpb3NMu9GZ6rLdeTy4P7pymg1IC
Lud52TreMS6CXFZX7wD+uHJeLPEqQja1bT/1UDxq4h6fgI+y2N2h77vyt0NJkejV
DfKus4bPCxAVxnp4DREA+ZKlTuHFCrSQd21MDydE3sRgj9VDiJxFMoTWCTiYM63d
0SDKDuvm7gT9lhbDUFES8RCPOL3Pagr9bmpjALK0IBUISRXHRX9R0Q==
-----END CERTIFICATE-----
'''


@pytest.fixture
def certificate_key():
return b'''-----BEGIN PRIVATE KEY-----
MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKWXY7Ed+tNB08Gk
9XDs64ySfebqUj8GPSkN5v0JbGoKsU28PZKJmdZGI32PzSRimpqJ8TtF+mlIYzPG
OWaPQfQ0RIul22TLEBFV/MTf9NtQ+XtrI3P+41Z1b7NUfvZAeJX37td4yzD6tytL
DG+OsqBoEFE1fcvEFm6SSXjnqg4JAgMBAAECgYAJIy9Vu9QmUeq10+zUykgNsdw3
cKzw7B7WG/2n7xwPxm8F/XoO0t+9rJFjCXs+E6BZIH1ConAI3P0XY2vxsjxG/veC
hnYVU9NOk49Fa1mzWLH82zsDzSLkrewjcxC56kXfZ7c6kpc2/U6D/UQkOIS+TWhO
HmRlnhSMkrgKT1n+MQJBAObqfx+p+17jVzPyDsnpdzlFZlcOYj26XgT0RHuSlRyY
YPZGtF1FwK9mIFUNhqpL0EYRJ/o7hgkdzzrublFre1kCQQC3lEqOIaQK21FUjUP9
8zPbcDEhgYZecI9mwLEHlCIjTEfUgqkSLKeR9HTMGNZRAOXxX+tJL36wz1v1IvTl
zsIxAkBd7KnyljBxwyT4MxAC3tyoxeq/pFEfbIvLlhO488GFFRHzeoTon3OlpHOo
RM0uvZGkvlu1c7qsQJzHCq6CnaZZAkBvzt51oGGTxy3KrFsr0TLVRIh32rZm0HFW
aKepcPw1uWDKOmYUzqOkjlmQcNQe88gYcY4Qvd+QekqMi6TSTlIRAkA/suD5u5vF
NbqnpyPnDulvgtXE2B1UHl0wZJbLfDH+BFckz7B557Cz507YthsWWJmjVPVqJXLM
HFZwimKs65R9
-----END PRIVATE KEY-----
'''


def test_get_certificate(certificate_chain, certificate_key, certificate_file_path, certificate_password):
cert, cert_file, key, key_file = get_certificate(certificate_file_path, certificate_password)

assert cert == certificate_chain
assert cert_file.read() == certificate_chain
assert key == certificate_key
assert key_file.read() == certificate_key


def test_create_temp_file(certificate_key):
result = _create_temp_file(certificate_key)

assert isinstance(result, _TemporaryFileWrapper)
assert result.read() == certificate_key

0 comments on commit f4ca37a

Please sign in to comment.