Skip to content

Commit b9cfba3

Browse files
author
maxim-lixakov
committed
[BREAKING] - remove is_deleted for Connection model
1 parent 5178354 commit b9cfba3

File tree

5 files changed

+6
-32
lines changed

5 files changed

+6
-32
lines changed

syncmaster/db/migrations/versions/2023-11-23_0004_create_connection_table.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ def upgrade():
3333
sa.Column("name", sa.String(length=128), nullable=False),
3434
sa.Column("description", sa.String(length=512), nullable=False),
3535
sa.Column("data", sa.JSON(), nullable=False),
36-
sa.Column("is_deleted", sa.Boolean(), nullable=False),
3736
sa.Column("created_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
3837
sa.Column("updated_at", sa.DateTime(), server_default=sa.text("now()"), nullable=False),
3938
sa.Column("search_vector", postgresql.TSVECTOR(), sa.Computed(sql_expression, persisted=True), nullable=False),

syncmaster/db/models/connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
from sqlalchemy.dialects.postgresql import TSVECTOR
99
from sqlalchemy.orm import Mapped, declared_attr, mapped_column, relationship
1010

11-
from syncmaster.db.mixins import DeletableMixin, ResourceMixin, TimestampMixin
11+
from syncmaster.db.mixins import ResourceMixin, TimestampMixin
1212
from syncmaster.db.models.base import Base
1313
from syncmaster.db.models.group import Group
1414

1515

16-
class Connection(Base, ResourceMixin, DeletableMixin, TimestampMixin):
16+
class Connection(Base, ResourceMixin, TimestampMixin):
1717
data: Mapped[dict[str, Any]] = mapped_column(JSON, nullable=False, default={})
1818

1919
group: Mapped[Group] = relationship("Group")

syncmaster/db/repositories/connection.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ async def paginate(
3232
connection_type: list[str] | None = None,
3333
) -> Pagination:
3434
stmt = select(Connection).where(
35-
Connection.is_deleted.is_(False),
3635
Connection.group_id == group_id,
3736
)
3837
if search_query:
@@ -53,7 +52,7 @@ async def read_by_id(
5352
self,
5453
connection_id: int,
5554
) -> Connection:
56-
stmt = select(Connection).where(Connection.id == connection_id, Connection.is_deleted.is_(False))
55+
stmt = select(Connection).where(Connection.id == connection_id)
5756
result: ScalarResult[Connection] = await self._session.scalars(stmt)
5857
try:
5958
return result.one()
@@ -99,7 +98,6 @@ async def update(
9998

10099
return await self._update(
101100
Connection.id == connection_id,
102-
Connection.is_deleted.is_(False),
103101
name=name or connection.name,
104102
description=description or connection.description,
105103
data=data,

tests/test_unit/test_connections/test_copy_connection.py

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@
1313
pytestmark = [pytest.mark.asyncio, pytest.mark.backend]
1414

1515

16-
@pytest.mark.parametrize("is_delete_source", [True, False])
1716
async def test_maintainer_plus_can_copy_connection_with_delete_source(
1817
client: AsyncClient,
1918
session: AsyncSession,
20-
is_delete_source: bool,
2119
settings: Settings,
2220
group_connection: MockConnection,
2321
empty_group: MockGroup,
@@ -44,7 +42,6 @@ async def test_maintainer_plus_can_copy_connection_with_delete_source(
4442
"user": "user",
4543
"password": "password",
4644
}
47-
assert not current.is_deleted
4845

4946
query_copy_not_exist = select(Connection).filter(
5047
Connection.group_id == empty_group.id,
@@ -61,7 +58,6 @@ async def test_maintainer_plus_can_copy_connection_with_delete_source(
6158
headers={"Authorization": f"Bearer {user.token}"},
6259
json={
6360
"new_group_id": empty_group.id,
64-
"remove_source": is_delete_source,
6561
},
6662
)
6763

@@ -73,7 +69,6 @@ async def test_maintainer_plus_can_copy_connection_with_delete_source(
7369
}
7470
assert result.status_code == 200
7571

76-
await session.refresh(group_connection.connection)
7772
query_prev_row = select(Connection).where(Connection.id == curr_id)
7873
result_prev_row = await session.scalars(query_prev_row)
7974
origin = result_prev_row.one()
@@ -100,19 +95,15 @@ async def test_maintainer_plus_can_copy_connection_with_delete_source(
10095
"user": "user",
10196
"password": "password",
10297
}
103-
assert origin.is_deleted == is_delete_source
104-
assert not new.is_deleted
10598
assert not creds_new
10699

107100

108-
@pytest.mark.parametrize("is_delete_source", [True, False])
109101
async def test_superuser_can_copy_connection(
110102
client: AsyncClient,
111103
group_connection: MockConnection,
112104
superuser: MockUser,
113105
empty_group: MockGroup,
114106
session: AsyncSession,
115-
is_delete_source: str,
116107
settings: Settings,
117108
):
118109
# Arrange
@@ -132,7 +123,6 @@ async def test_superuser_can_copy_connection(
132123
"user": "user",
133124
"password": "password",
134125
}
135-
assert not current.is_deleted
136126

137127
query_copy_not_exist = select(Connection).filter(
138128
Connection.group_id == empty_group.id,
@@ -149,7 +139,6 @@ async def test_superuser_can_copy_connection(
149139
headers={"Authorization": f"Bearer {superuser.token}"},
150140
json={
151141
"new_group_id": empty_group.id,
152-
"remove_source": is_delete_source,
153142
},
154143
)
155144

@@ -189,8 +178,6 @@ async def test_superuser_can_copy_connection(
189178
"user": "user",
190179
"password": "password",
191180
}
192-
assert origin.is_deleted == is_delete_source
193-
assert not new.is_deleted
194181
assert not creds_new
195182

196183

@@ -280,7 +267,7 @@ async def test_not_in_both_groups_user_can_not_copy_connection(
280267
query_current_row = select(Connection).where(Connection.id == group_connection.id)
281268

282269
result_current_row = await session.scalars(query_current_row)
283-
current = result_current_row.one()
270+
result_current_row.one()
284271

285272
query_current_creds = select(AuthData).where(AuthData.connection_id == group_connection.id)
286273
result_current_creds = await session.scalars(query_current_creds)
@@ -291,7 +278,6 @@ async def test_not_in_both_groups_user_can_not_copy_connection(
291278
"user": "user",
292279
"password": "password",
293280
}
294-
assert not current.is_deleted
295281

296282
query_copy_not_exist = select(Connection).filter(
297283
Connection.group_id == empty_group.id,
@@ -338,7 +324,7 @@ async def test_groupless_user_can_not_copy_connection(
338324
query_current_row = select(Connection).where(Connection.id == group_connection.id)
339325

340326
result_current_row = await session.scalars(query_current_row)
341-
current = result_current_row.one()
327+
result_current_row.one()
342328

343329
query_current_creds = select(AuthData).where(AuthData.connection_id == group_connection.id)
344330
result_current_creds = await session.scalars(query_current_creds)
@@ -349,7 +335,6 @@ async def test_groupless_user_can_not_copy_connection(
349335
"user": "user",
350336
"password": "password",
351337
}
352-
assert not current.is_deleted
353338

354339
query_copy_not_exist = select(Connection).filter(
355340
Connection.group_id == empty_group.id,

tests/test_unit/test_connections/test_delete_connection.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ async def test_maintainer_plus_can_delete_connection(
1717
# Arraange
1818
user = group_connection.owner_group.get_member_of_role(role_maintainer_plus)
1919
connection_id = group_connection.connection.id
20-
connection = await session.get(Connection, connection_id)
21-
assert not connection.is_deleted
20+
await session.get(Connection, connection_id)
2221

2322
# Act
2423
result = await client.delete(
@@ -33,9 +32,6 @@ async def test_maintainer_plus_can_delete_connection(
3332
"message": "Connection was deleted",
3433
}
3534
assert result.status_code == 200
36-
deleted_connection = await session.get(Connection, connection_id)
37-
await session.refresh(deleted_connection)
38-
assert deleted_connection.is_deleted
3935

4036

4137
async def test_groupless_user_cannot_delete_connection(
@@ -59,8 +55,6 @@ async def test_groupless_user_cannot_delete_connection(
5955
"details": None,
6056
},
6157
}
62-
await session.refresh(group_connection.connection)
63-
assert not group_connection.connection.is_deleted
6458

6559

6660
async def test_maintainer_plus_cannot_delete_connection_with_linked_transfer(
@@ -87,8 +81,6 @@ async def test_maintainer_plus_cannot_delete_connection_with_linked_transfer(
8781
},
8882
}
8983
assert result.status_code == 409
90-
await session.refresh(group_transfer.source_connection)
91-
assert not group_transfer.source_connection.is_deleted
9284

9385

9486
async def test_other_group_member_cannot_delete_group_connection(

0 commit comments

Comments
 (0)