コード例 #1
0
def test_get_when_db_down(disconnected_database,
                          controller: layabase.CRUDController):
    with pytest.raises(Exception) as exception_info:
        controller.get_one({})
    assert (
        str(exception_info.value) ==
        """A error occurred while querying database: (sqlite3.OperationalError) no such table: test\n[SQL: SELECT test."key" AS test_key \nFROM test]\n(Background on this error at: http://sqlalche.me/e/13/e3q8)"""
    )
コード例 #2
0
def test_get_versioned_audit_after_post_put(
    controllers,
    controller_versioned: layabase.CRUDController,
    mock_mongo_audit_datetime,
):
    controller_versioned.post({"key": "my_key", "enum_fld": EnumTest.Value1})
    controller_versioned.put({"key": "my_key", "enum_fld": EnumTest.Value2})
    assert controller_versioned.get_one({"key": "my_key"}) == {
        "enum_fld": "Value2",
        "key": "my_key",
        "valid_since_revision": 2,
        "valid_until_revision": -1,
    }
コード例 #3
0
def test_get_one_with_validation_failure(controller: layabase.CRUDController):
    with pytest.raises(layabase.ValidationFailed) as exception_info:
        controller.get_one({"mandatory": "failure"})
    assert exception_info.value.errors == {"mandatory": ["Not a valid int."]}
    assert exception_info.value.received_data == {"mandatory": "failure"}
コード例 #4
0
def test_get_when_db_down(disconnected_database,
                          controller: layabase.CRUDController):
    with pytest.raises(Exception) as exception_info:
        controller.get_one({})
    assert str(exception_info.value) == "Database could not be reached."