def test_update_models_fails_duplicate_table(): with pytest.raises(DuplicateTableException): update_models(new_obj=c.parent, current_table=c.parent, tables=[c.parent], relations=[], )
def test_update_models_fails_relation_no_col(): with pytest.raises(RelationNoColException): update_models(new_obj=c.relation, current_table=c.parent, tables=[c.parent], relations=[], )
def test_update_models_new_obj_bad_class(): with pytest.raises(ValueError): update_models( new_obj=c.Child, current_table=c.parent, tables=[c.parent, ], relations=[], )
def test_update_models_add_column(): parent = Table(name="parent", columns=[c.parent_id]) current_table, tables, relations = update_models( new_obj=c.parent_name, current_table=parent, tables=[parent], relations=[] ) assert c.parent_name in current_table.columns assert c.parent_name in tables[0].columns
def test_update_models_add_table(): current_table, tables, relations = \ update_models( new_obj=c.child, current_table=c.parent, tables=[c.parent, ], relations=[], ) assert c.child in tables
def test_update_models_add_relation(): current_table, tables, relations = \ update_models( new_obj=c.relation, current_table=c.parent, tables=[c.parent, c.child], relations=[], ) assert c.relation in relations
def test_update_models_add_column(): parent = Table( name='parent', columns=[c.parent_id], ) current_table, tables, relations = \ update_models( new_obj=c.parent_name, current_table=parent, tables=[parent, ], relations=[], ) assert c.parent_name in current_table.columns assert c.parent_name in tables[0].columns
def test_update_models_fails_no_current_table(): for new_obj in (c.relation, c.parent_id): with pytest.raises(NoCurrentTableException): update_models(new_obj, None, [], [])
def test_update_models_fails_duplicate_col(): with pytest.raises(DuplicateColumnException): update_models(new_obj=c.parent_name, current_table=c.parent, tables=[c.parent], relations=[])