示例#1
0
def test_init_exceptions():
    state = State()

    with pytest.raises(ValueError):
        state.add(create="c_test", update="c_update", read="c_read")

    with pytest.raises(TypeError):
        state.add(test=["test"])  # 'test' is not a keyword

    with pytest.raises(AttributeError):

        # read and read/write props must be disjoint

        state.add(update=["test"], read=["test"])

    s = State(update=["update"], read=["read"], create=["create"])

    with pytest.raises(AttributeError):

        # test is not a valid attribute of Field outside what get_names expects

        s.get_names("test")

    with pytest.raises(ValueError):

        # no Field object with this name

        s.remove("xyz")

    with pytest.raises(ValueError):
        state.add(read=read, update=update, create=create)
        state.add(create=["read"])  # already exists
示例#2
0
def test_state_remove():
    """
    tests the removal of a field by name
    """

    state = State(read=read, update=update, create=create)
    state.remove("test0")
    assert state.get_field_by_name("test0") == []
示例#3
0
    def test_state_remove_list(self):
        """
        tests removal of multiple fields by a list of names
        """
        _state = State(read=read, update=update, save=save)
        _state.remove(['test0', 'save'])

        assert _state.get_field_by_name('test0') == []
        assert _state.get_field_by_name('save') == []
示例#4
0
def test_state_remove_list():
    """
    tests removal of multiple fields by a list of names
    """

    state = State(read=read, update=update, create=create)
    state.remove(["test0", "create"])
    assert state.get_field_by_name("test0") == []
    assert state.get_field_by_name("create") == []