35 lines
826 B
Python
35 lines
826 B
Python
from typing import List
|
|
|
|
import databases
|
|
import sqlalchemy
|
|
from pydantic import PrivateAttr
|
|
|
|
import ormar
|
|
from tests.settings import DATABASE_URL
|
|
|
|
database = databases.Database(DATABASE_URL, force_rollback=True)
|
|
metadata = sqlalchemy.MetaData()
|
|
|
|
|
|
class BaseMeta(ormar.ModelMeta):
|
|
metadata = metadata
|
|
database = database
|
|
|
|
|
|
class Subscription(ormar.Model):
|
|
class Meta(BaseMeta):
|
|
tablename = "subscriptions"
|
|
|
|
id: int = ormar.Integer(primary_key=True)
|
|
stripe_subscription_id: str = ormar.String(nullable=False, max_length=256)
|
|
|
|
_add_payments: List[str] = PrivateAttr(default_factory=list)
|
|
|
|
def add_payment(self, payment: str):
|
|
self._add_payments.append(payment)
|
|
|
|
|
|
def test_private_attribute():
|
|
sub = Subscription(stripe_subscription_id="2312312sad231")
|
|
sub.add_payment("test")
|