@@ -983,3 +983,73 @@ def test_delete_project_not_found(self, mock_get_openstack_conn_identity):
983983 project = "project1111111111111111111111111" ,
984984 ignore_missing = False ,
985985 )
986+
987+ def test_update_project_success (self , mock_get_openstack_conn_identity ):
988+ """Test updating a identity project successfully."""
989+ mock_conn = mock_get_openstack_conn_identity
990+
991+ # Create mock project object
992+ mock_project = Mock ()
993+ mock_project .id = "project1111111111111111111111111"
994+ mock_project .name = "ProjectOne"
995+ mock_project .description = "Project One description"
996+ mock_project .is_enabled = True
997+ mock_project .domain_id = "domain1111111111111111111111111"
998+ mock_project .parent_id = "parentproject1111111111111111111"
999+
1000+ # Configure mock project.update_project()
1001+ mock_conn .identity .update_project .return_value = mock_project
1002+
1003+ # Test update_project()
1004+ identity_tools = self .get_identity_tools ()
1005+ result = identity_tools .update_project (
1006+ id = "project1111111111111111111111111" ,
1007+ name = "ProjectOne" ,
1008+ description = "Project One description" ,
1009+ is_enabled = True ,
1010+ domain_id = "domain1111111111111111111111111" ,
1011+ parent_id = "parentproject1111111111111111111" ,
1012+ )
1013+
1014+ # Verify results
1015+ assert result == Project (
1016+ id = "project1111111111111111111111111" ,
1017+ name = "ProjectOne" ,
1018+ description = "Project One description" ,
1019+ is_enabled = True ,
1020+ domain_id = "domain1111111111111111111111111" ,
1021+ parent_id = "parentproject1111111111111111111" ,
1022+ )
1023+
1024+ # Verify mock calls
1025+ mock_conn .identity .update_project .assert_called_once_with (
1026+ project = "project1111111111111111111111111" ,
1027+ name = "ProjectOne" ,
1028+ description = "Project One description" ,
1029+ is_enabled = True ,
1030+ domain_id = "domain1111111111111111111111111" ,
1031+ parent_id = "parentproject1111111111111111111" ,
1032+ )
1033+
1034+ def test_update_project_empty_id (self , mock_get_openstack_conn_identity ):
1035+ """Test updating a identity project with an empty ID."""
1036+ mock_conn = mock_get_openstack_conn_identity
1037+
1038+ # Configure mock to raise BadRequestException
1039+ mock_conn .identity .update_project .side_effect = (
1040+ exceptions .BadRequestException (
1041+ "Field required" ,
1042+ )
1043+ )
1044+
1045+ # Test update_project()
1046+ identity_tools = self .get_identity_tools ()
1047+
1048+ with pytest .raises (
1049+ exceptions .BadRequestException ,
1050+ match = "Field required" ,
1051+ ):
1052+ identity_tools .update_project (id = "" )
1053+
1054+ # Verify mock calls
1055+ mock_conn .identity .update_project .assert_called_once_with (project = "" )
0 commit comments