3535from models_library .projects import ProjectID
3636from models_library .projects_access import Owner
3737from models_library .projects_state import (
38- ProjectLocked ,
3938 ProjectRunningState ,
39+ ProjectShareState ,
4040 ProjectState ,
4141 ProjectStatus ,
4242 RunningState ,
@@ -1016,7 +1016,7 @@ async def test_get_active_project(
10161016 client .app , ProjectID (user_project ["uuid" ])
10171017 )
10181018 assert not error
1019- assert ProjectState (** data .pop ("state" )).locked . value
1019+ assert ProjectState (** data .pop ("state" )).share_state . locked
10201020 data .pop ("folderId" )
10211021
10221022 user_project_last_change_date = user_project .pop ("lastChangeDate" )
@@ -1298,7 +1298,9 @@ async def test_open_shared_project_2_users_locked(
12981298 )
12991299 # expected is that the project is closed and unlocked
13001300 expected_project_state_client_1 = ProjectState (
1301- locked = ProjectLocked (value = False , status = ProjectStatus .CLOSED ),
1301+ share_state = ProjectShareState (
1302+ locked = False , status = ProjectStatus .CLOSED , current_user_groupids = []
1303+ ),
13021304 state = ProjectRunningState (value = RunningState .NOT_STARTED ),
13031305 )
13041306 for _client_id in [client_id1 , None ]:
@@ -1320,9 +1322,11 @@ async def test_open_shared_project_2_users_locked(
13201322 first_name = logged_user .get ("first_name" ),
13211323 last_name = logged_user .get ("last_name" ),
13221324 )
1323- expected_project_state_client_1 .locked .value = True
1324- expected_project_state_client_1 .locked .status = ProjectStatus .OPENED
1325- expected_project_state_client_1 .locked .owner = owner1
1325+ expected_project_state_client_1 .share_state .locked = True
1326+ expected_project_state_client_1 .share_state .status = ProjectStatus .OPENED
1327+ expected_project_state_client_1 .share_state .current_user_groupids = logged_user [
1328+ "primary_gid"
1329+ ]
13261330 # NOTE: there are 2 calls since we are part of the primary group and the all group
13271331 await _assert_project_state_updated (
13281332 mock_project_state_updated_handler ,
@@ -1358,7 +1362,7 @@ async def test_open_shared_project_2_users_locked(
13581362 expected .locked if user_role != UserRole .GUEST else status .HTTP_423_LOCKED ,
13591363 )
13601364 expected_project_state_client_2 = deepcopy (expected_project_state_client_1 )
1361- expected_project_state_client_2 .locked .status = ProjectStatus .OPENED
1365+ expected_project_state_client_2 .share_state .status = ProjectStatus .OPENED
13621366
13631367 await _state_project (
13641368 client_2 ,
@@ -1372,7 +1376,9 @@ async def test_open_shared_project_2_users_locked(
13721376 if not any (user_role == role for role in [UserRole .ANONYMOUS , UserRole .GUEST ]):
13731377 # Guests cannot close projects
13741378 expected_project_state_client_1 = ProjectState (
1375- locked = ProjectLocked (value = False , status = ProjectStatus .CLOSED ),
1379+ share_state = ProjectShareState (
1380+ locked = False , status = ProjectStatus .CLOSED , current_user_groupids = []
1381+ ),
13761382 state = ProjectRunningState (value = RunningState .NOT_STARTED ),
13771383 )
13781384
@@ -1385,8 +1391,12 @@ async def test_open_shared_project_2_users_locked(
13851391 [
13861392 expected_project_state_client_1 .model_copy (
13871393 update = {
1388- "locked" : ProjectLocked (
1389- value = True , status = ProjectStatus .CLOSING , owner = owner1
1394+ "share_state" : ProjectShareState (
1395+ locked = True ,
1396+ status = ProjectStatus .CLOSING ,
1397+ current_user_groupids = [
1398+ owner1 .user_id
1399+ ], # this should be the group of that user
13901400 )
13911401 }
13921402 )
@@ -1418,17 +1428,21 @@ async def test_open_shared_project_2_users_locked(
14181428 expected .ok if user_role != UserRole .GUEST else status .HTTP_423_LOCKED ,
14191429 )
14201430 if not any (user_role == role for role in [UserRole .ANONYMOUS , UserRole .GUEST ]):
1421- expected_project_state_client_2 .locked . value = True
1422- expected_project_state_client_2 .locked .status = ProjectStatus .OPENED
1431+ expected_project_state_client_2 .share_state . locked = True
1432+ expected_project_state_client_2 .share_state .status = ProjectStatus .OPENED
14231433 owner2 = Owner (
14241434 user_id = PositiveInt (user_2 ["id" ]),
14251435 first_name = user_2 .get ("first_name" , None ),
14261436 last_name = user_2 .get ("last_name" , None ),
14271437 )
1428- expected_project_state_client_2 .locked .owner = owner2
1429- expected_project_state_client_1 .locked .value = True
1430- expected_project_state_client_1 .locked .status = ProjectStatus .OPENED
1431- expected_project_state_client_1 .locked .owner = owner2
1438+ expected_project_state_client_2 .share_state .current_user_groupids = [
1439+ owner2 .user_id
1440+ ] # this should be the group of that user
1441+ expected_project_state_client_1 .share_state .locked = True
1442+ expected_project_state_client_1 .share_state .status = ProjectStatus .OPENED
1443+ expected_project_state_client_1 .share_state .current_user_groupids = [
1444+ owner2 .user_id
1445+ ] # this should be the group of that user
14321446 # NOTE: there are 3 calls since we are part of the primary group and the all group
14331447 await _assert_project_state_updated (
14341448 mock_project_state_updated_handler ,
@@ -1532,11 +1546,11 @@ async def test_open_shared_project_at_same_time(
15321546 project_status = ProjectState (** data .pop ("state" ))
15331547 data .pop ("folderId" )
15341548 assert data == {k : shared_project [k ] for k in data }
1535- assert project_status .locked . value
1536- assert project_status .locked . owner
1537- assert project_status .locked . owner . first_name in [
1549+ assert project_status .share_state . locked
1550+ assert project_status .share_state . current_user_groupids
1551+ assert project_status .share_state . current_user_groupids in [
15381552 c ["user" ]["first_name" ] for c in clients
1539- ]
1553+ ] # TODO: this will fail
15401554
15411555 assert num_assertions == NUMBER_OF_ADDITIONAL_CLIENTS
15421556
0 commit comments