Projekt

Obecné

Profil

Stáhnout (2.92 KB) Statistiky
| Větev: | Tag: | Revize:
1
import os
2
import sqlite3
3
from sqlite3 import Connection
4

    
5
import pytest
6

    
7
from src.config.configuration import test_configuration, Configuration
8
from src.config.connection_provider import ConnectionProvider
9
from src.dao.certificate_repository import CertificateRepository
10
from src.dao.private_key_repository import PrivateKeyRepository
11
from src.db.init_queries import SCHEMA_SQL, DEFAULT_VALUES_SQL
12
from src.model.subject import Subject
13
from src.services.certificate_service import CertificateService
14
from src.services.crl_ocsp.crl_ocsp_service import CrlOcspService
15
from src.services.cryptography import CryptographyService
16
from src.services.key_service import KeyService
17

    
18

    
19
# scope="module" means that this fixture is run once per module
20
@pytest.fixture(scope="module")
21
def connection():
22
    return ConnectionProvider().connect(test_configuration())
23

    
24

    
25
# scope defaults to "function" which means that the fixture is run once per test (function)
26
@pytest.fixture
27
def certificate_repository(connection):
28
    return CertificateRepository(connection)
29

    
30

    
31
@pytest.fixture
32
def private_key_repository(connection):
33
    return PrivateKeyRepository(connection)
34

    
35

    
36
@pytest.fixture
37
def cryptography_service():
38
    return CryptographyService()
39

    
40

    
41
@pytest.fixture
42
def configuration():
43
    return Configuration()
44

    
45

    
46
@pytest.fixture
47
def private_key_service(private_key_repository, cryptography_service):
48
    return KeyService(cryptography_service, private_key_repository)
49

    
50

    
51
@pytest.fixture
52
def certificate_service(certificate_repository, cryptography_service, configuration):
53
    return CertificateService(cryptography_service, certificate_repository, configuration)
54

    
55

    
56
@pytest.fixture
57
def connection_unique():
58
    return ConnectionProvider().connect(test_configuration())
59

    
60

    
61
@pytest.fixture
62
def sample_private_key(private_key_service):
63
    return private_key_service.create_new_key()
64

    
65

    
66
@pytest.fixture
67
def sample_certificate(certificate_service, sample_private_key):
68
    return certificate_service.create_root_ca(sample_private_key, Subject("Foo"))
69

    
70

    
71
# scope defaults to "function" which means that the fixture is run once per test (function)
72
@pytest.fixture
73
def certificate_repository_unique(connection_unique):
74
    return CertificateRepository(connection_unique)
75

    
76

    
77
@pytest.fixture
78
def private_key_repository_unique(connection_unique):
79
    return PrivateKeyRepository(connection_unique)
80

    
81

    
82
@pytest.fixture
83
def private_key_service_unique(private_key_repository_unique, cryptography_service):
84
    return KeyService(cryptography_service, private_key_repository_unique)
85

    
86

    
87
@pytest.fixture
88
def certificate_service_unique(certificate_repository_unique, cryptography_service, configuration):
89
    return CertificateService(cryptography_service, certificate_repository_unique, configuration)
90

    
91

    
92
@pytest.fixture
93
def crl_service_unique(certificate_repository_unique, private_key_repository_unique, cryptography_service):
94
    return CrlOcspService(certificate_repository_unique, private_key_repository_unique, cryptography_service)
(3-3/5)