mirror of
https://github.com/sartography/spiffworkflow-backend.git
synced 2025-02-23 21:08:18 +00:00
mypy
This commit is contained in:
parent
906f4d5346
commit
b44bd41b86
@ -5,7 +5,7 @@ from flask_bpmn.models.db import db
|
||||
from flask_bpmn.models.db import SpiffworkflowBaseDBModel
|
||||
from marshmallow import Schema
|
||||
from sqlalchemy import ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.orm import relationship, RelationshipProperty
|
||||
|
||||
from spiffworkflow_backend.models.user import UserModel
|
||||
|
||||
@ -20,7 +20,7 @@ class SecretModel(SpiffworkflowBaseDBModel):
|
||||
value: str = db.Column(db.String(255), nullable=False)
|
||||
creator_user_id: int = db.Column(ForeignKey(UserModel.id), nullable=False)
|
||||
|
||||
allowed_processes: list["SecretAllowedProcessPathModel"] = relationship("SecretAllowedProcessPathModel", cascade="delete")
|
||||
allowed_processes: RelationshipProperty["SecretAllowedProcessPathModel"] = relationship("SecretAllowedProcessPathModel", cascade="delete")
|
||||
|
||||
|
||||
@dataclass()
|
||||
|
@ -54,7 +54,7 @@ class SecretService:
|
||||
return secret_model
|
||||
|
||||
@staticmethod
|
||||
def get_secret(key: str) -> Optional[str]:
|
||||
def get_secret(key: str) -> Optional[SecretModel]:
|
||||
"""Get_secret."""
|
||||
secret: SecretModel = (
|
||||
db.session.query(SecretModel).filter(SecretModel.key == key)
|
||||
|
@ -23,7 +23,9 @@ class ServiceTaskDelegate:
|
||||
secret_prefix = "secret:" # noqa: S105
|
||||
if value.startswith(secret_prefix):
|
||||
key = value.removeprefix(secret_prefix)
|
||||
value = SecretService().get_secret(key).value
|
||||
secret = SecretService().get_secret(key)
|
||||
assert secret
|
||||
value = secret.value
|
||||
return value
|
||||
|
||||
@staticmethod
|
||||
|
@ -1,7 +1,8 @@
|
||||
"""Test_secret_service."""
|
||||
import json
|
||||
|
||||
import pytest
|
||||
|
||||
from typing import Optional
|
||||
from flask.app import Flask
|
||||
from flask.testing import FlaskClient
|
||||
from flask_bpmn.api.api_error import ApiError
|
||||
@ -122,9 +123,11 @@ class TestSecretService(SecretServiceTestHelpers):
|
||||
user = self.find_or_create_user()
|
||||
self.add_test_secret(user)
|
||||
secret = SecretService.get_secret(self.test_key)
|
||||
assert secret
|
||||
assert secret.value == self.test_value
|
||||
SecretService.update_secret(self.test_key, "new_secret_value", user.id)
|
||||
new_secret = SecretService.get_secret(self.test_key)
|
||||
assert new_secret
|
||||
assert new_secret.value == "new_secret_value" # noqa: S105
|
||||
|
||||
def test_update_secret_bad_user_fails(
|
||||
@ -370,6 +373,7 @@ class TestSecretServiceApi(SecretServiceTestHelpers):
|
||||
)
|
||||
assert secret_response
|
||||
assert secret_response.status_code == 200
|
||||
assert secret_response.json
|
||||
assert secret_response.json['value'] == self.test_value
|
||||
|
||||
def test_update_secret(
|
||||
@ -378,7 +382,8 @@ class TestSecretServiceApi(SecretServiceTestHelpers):
|
||||
"""Test_update_secret."""
|
||||
user = self.find_or_create_user()
|
||||
self.add_test_secret(user)
|
||||
secret = SecretService.get_secret(self.test_key)
|
||||
secret: Optional[SecretModel] = SecretService.get_secret(self.test_key)
|
||||
assert secret
|
||||
assert secret.value == self.test_value
|
||||
secret_model = SecretModel(
|
||||
key=self.test_key, value="new_secret_value", creator_user_id=user.id
|
||||
|
Loading…
x
Reference in New Issue
Block a user