Revize b2a9b83d
Přidáno uživatelem David Friesecký před asi 4 roky(ů)
src/constants.py | ||
---|---|---|
1 |
DATABASE_FILE = r"C:\sqlite\db\pythonsqlite.db"
|
|
1 |
DATABASE_FILE = "../../../../db/database_sqlite.db"
|
|
2 | 2 |
|
3 | 3 |
ROOT_CA_ID = 1 |
4 | 4 |
INTERMEDIATE_CA_ID = 2 |
src/tests/impl/db_manager/conftest.py | ||
---|---|---|
1 |
from src.impl.db_manager import DBManager |
|
2 |
import pytest |
|
3 |
|
|
4 |
|
|
5 |
@pytest.fixture |
|
6 |
def repository(): |
|
7 |
return DBManager() |
src/tests/impl/db_manager/transaction_certificates.py | ||
---|---|---|
1 |
import pytest |
|
2 |
from src.constants import * |
|
3 |
|
|
4 |
|
|
5 |
def test_create_first(repository): |
|
6 |
sql = f"INSERT INTO {TAB_PRIVATE_KEYS} ({COL_PRIVATE_KEY},{COL_PASSWORD}) VALUES (?,?)" |
|
7 |
repository.create(sql, ["test_pk_1", "test_pwd_1"]) |
|
8 |
|
|
9 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
10 |
rows_private_keys = repository.read(sql) |
|
11 |
|
|
12 |
sql = f"INSERT INTO {TAB_CERTIFICATES} ({COL_COMMON_NAME},{COL_VALID_FROM},{COL_VALID_TO},{COL_PEM_DATA}," \ |
|
13 |
f"{COL_PRIVATE_KEY_ID},{COL_TYPE_ID},{COL_PARENT_ID}) VALUES (?,?,?,?,?,?,?)" |
|
14 |
check_create = repository.create(sql, ["test_common_name", "test_valid_from", "test_valid_to", "test_pem_data", |
|
15 |
rows_private_keys[0][1], CA_ID, -1]) |
|
16 |
|
|
17 |
sql = f"SELECT * FROM {TAB_CERTIFICATES} WHERE {COL_COMMON_NAME} LIKE 'test%'" |
|
18 |
rows_select = repository.read(sql) |
|
19 |
|
|
20 |
assert check_create |
|
21 |
assert rows_select[0][1] == "test_common_name" \ |
|
22 |
and rows_select[0][2] == "test_valid_from" \ |
|
23 |
and rows_select[0][3] == "test_valid_to" \ |
|
24 |
and rows_select[0][4] == "test_pem_data" \ |
|
25 |
and rows_select[0][5] == rows_private_keys[0][1] \ |
|
26 |
and rows_select[0][6] == ROOT_CA_ID \ |
|
27 |
and rows_select[0][7] == -1 |
|
28 |
|
|
29 |
|
|
30 |
def test_update(repository): |
|
31 |
sql = f"SELECT * FROM {TAB_CERTIFICATES} WHERE {COL_COMMON_NAME} LIKE 'test%'" |
|
32 |
rows_select = repository.read(sql) |
|
33 |
|
|
34 |
sql = f"UPDATE {TAB_CERTIFICATES} SET {COL_PARENT_ID} = ? WHERE {COL_ID} = ?" |
|
35 |
check_update: bool = repository.update(sql, rows_select[0][0], [rows_select[0][0]]) |
|
36 |
|
|
37 |
sql = f"SELECT * FROM {TAB_CERTIFICATES} WHERE {COL_COMMON_NAME} LIKE 'test%'" |
|
38 |
rows_select = repository.read(sql) |
|
39 |
|
|
40 |
assert check_update |
|
41 |
assert rows_select[0][7] == rows_select[0][0] |
|
42 |
|
|
43 |
|
|
44 |
def test_delete(repository): |
|
45 |
sql = f"SELECT * FROM {TAB_CERTIFICATES} WHERE {COL_COMMON_NAME} LIKE 'test%'" |
|
46 |
rows_select = repository.read(sql) |
|
47 |
|
|
48 |
i = 1 |
|
49 |
print("\n") |
|
50 |
for row in rows_select: |
|
51 |
sql = f"DELETE FROM {TAB_CERTIFICATES} WHERE {COL_ID} = ?" |
|
52 |
check_delete = repository.delete(sql, row[0], False) |
|
53 |
assert check_delete |
|
54 |
|
|
55 |
sql = f"SELECT * FROM {TAB_CERTIFICATES} WHERE {COL_COMMON_NAME} LIKE 'test%'" |
|
56 |
rows_select = repository.read(sql) |
|
57 |
|
|
58 |
assert len(rows_select) == 0 |
src/tests/impl/db_manager/transaction_private_keys.py | ||
---|---|---|
1 |
import pytest |
|
2 |
from src.constants import * |
|
3 |
|
|
4 |
|
|
5 |
def test_create_first(repository): |
|
6 |
sql = f"INSERT INTO {TAB_PRIVATE_KEYS} ({COL_PRIVATE_KEY},{COL_PASSWORD}) VALUES (?,?)" |
|
7 |
check_create: bool = repository.create(sql, ["test_pk_1", "test_pwd_1"]) |
|
8 |
|
|
9 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
10 |
rows_select = repository.read(sql) |
|
11 |
|
|
12 |
assert check_create |
|
13 |
assert rows_select[0][1] == "test_pk_1" and rows_select[0][2] == "test_pwd_1" |
|
14 |
|
|
15 |
|
|
16 |
def test_create_count(repository): |
|
17 |
sql = f"INSERT INTO {TAB_PRIVATE_KEYS} ({COL_PRIVATE_KEY},{COL_PASSWORD}) VALUES (?,?)" |
|
18 |
check_create: bool = repository.create(sql, ["test_pk_1", "test_pwd_1"]) |
|
19 |
|
|
20 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
21 |
rows_select = repository.read(sql) |
|
22 |
|
|
23 |
assert check_create |
|
24 |
assert len(rows_select) == 2 |
|
25 |
|
|
26 |
|
|
27 |
def test_update(repository): |
|
28 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
29 |
rows_select = repository.read(sql) |
|
30 |
|
|
31 |
sql = f"UPDATE {TAB_PRIVATE_KEYS} SET {COL_PASSWORD} = ? WHERE {COL_ID} = ?" |
|
32 |
check_update: bool = repository.update(sql, rows_select[0][0], ["test_pwd_updated"]) |
|
33 |
|
|
34 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
35 |
rows_select = repository.read(sql) |
|
36 |
|
|
37 |
assert check_update |
|
38 |
assert rows_select[0][2] == "test_pwd_updated" |
|
39 |
|
|
40 |
|
|
41 |
def test_delete(repository): |
|
42 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
43 |
rows_select = repository.read(sql) |
|
44 |
|
|
45 |
i = 1 |
|
46 |
print("\n") |
|
47 |
for row in rows_select: |
|
48 |
sql = f"DELETE FROM {TAB_PRIVATE_KEYS} WHERE {COL_ID} = ?" |
|
49 |
check_delete = repository.delete(sql, row[0], False) |
|
50 |
assert check_delete |
|
51 |
|
|
52 |
sql = f"SELECT * FROM {TAB_PRIVATE_KEYS} WHERE {COL_PRIVATE_KEY} LIKE 'test%'" |
|
53 |
rows_select = repository.read(sql) |
|
54 |
|
|
55 |
assert len(rows_select) == 0 |
Také k dispozici: Unified diff
Re #8471 - Tested direct DB communication
- implemented tests for Certificates and PrivateKeys tables via DBManager