def test_dump_key(engine): user = User(id="foo") user_key = {"id": {"S": "foo"}} assert dump_key(engine, user) == user_key obj = HashAndRange(foo=4, bar=5) obj_key = {"bar": {"N": "5"}, "foo": {"N": "4"}} assert dump_key(engine, obj) == obj_key
def test_dump_key_missing(engine): class HashAndRange(BaseModel): foo = Column(Integer, hash_key=True) bar = Column(Integer, range_key=True) engine.bind(HashAndRange) obj = HashAndRange() with pytest.raises(MissingKey): dump_key(engine, obj)
def test_dump_key(engine): class HashAndRange(BaseModel): foo = Column(Integer, hash_key=True) bar = Column(Integer, range_key=True) engine.bind(HashAndRange) user = User(id="foo") user_key = {"id": {"S": "foo"}} assert dump_key(engine, user) == user_key obj = HashAndRange(foo=4, bar=5) obj_key = {"bar": {"N": "5"}, "foo": {"N": "4"}} assert dump_key(engine, obj) == obj_key
def test_dump_invalid_key_action(engine, action_type): obj = HashAndRange(foo=action_type.new_action(2), bar=3) with pytest.raises(ValueError): dump_key(engine, obj)
def test_dump_key_missing(engine): obj = HashAndRange() with pytest.raises(MissingKey): dump_key(engine, obj)