예제 #1
0
def test_serialize():
    toggle = Toggle(id=1,
                    name="some",
                    enabled=True,
                    description="some description")

    expected_serialization = {"some": True}
    assert toggle.serialize() == expected_serialization
예제 #2
0
def test_update_toggle_state():
    last_changed = datetime.utcnow() - timedelta(days=2)
    t = Toggle(name="some-toggle", enabled=False, last_changed_at=last_changed)

    t.toggle()

    assert t.enabled is True
    assert t.last_changed_at > datetime.utcnow() - timedelta(seconds=2)
예제 #3
0
def test_merge_toggles():
    merged = Toggle.merge(toggles_from_db, toggles_from_code)

    code_and_db = Toggle(
        name="db-and-code",
        description="a toggle thats defined in code and database",
        enabled=True,
    )
    code_only = Toggle(
        name="code-only",
        description="a toggle thats only defined in code",
        enabled=False,
    )

    assert code_and_db in merged
    assert code_only in merged
    assert len(merged) == 2
예제 #4
0
def save_toggle(name="some-toggle", enabled=True) -> Toggle:
    toggle = Toggle(
        name=name,
        enabled=enabled,
        last_changed_at=datetime.utcnow() - timedelta(days=2),
    )
    db.session.add(toggle)
    db.session.commit()
    return toggle
예제 #5
0
def save_toggle(name="some-toggle", enabled=True) -> Toggle:
    toggle = Toggle(name=name, enabled=enabled)
    db.session.add(toggle)
    db.session.commit()
    return toggle
예제 #6
0
from doppelkopf.toggles import Toggle

from datetime import datetime, timedelta

toggles_from_db = [
    Toggle(name="db-only", enabled=False),
    Toggle(name="db-and-code", enabled=True),
]

toggles_from_code = [
    Toggle(name="code-only", enabled=False),
    Toggle(name="db-and-code", enabled=False),
]


def test_merge_toggles():
    merged = Toggle.merge(toggles_from_db, toggles_from_code)

    code_and_db = Toggle(
        name="db-and-code",
        description="a toggle thats defined in code and database",
        enabled=True,
    )
    code_only = Toggle(
        name="code-only",
        description="a toggle thats only defined in code",
        enabled=False,
    )

    assert code_and_db in merged
    assert code_only in merged