コード例 #1
0
    def test_skte_t4343_change_password(self):
        """
        修改用户密码
        测试步骤:
        1. 创建用户
        2. 登录后修改密码
        3. 使用新密码登录
        4. 删除用户

        """
        new_password = '******'

        # 1.创建用户
        uuid = send_user_m_req.create_user(self.token,
                                           username=config.user_name_tmp,
                                           password=config.user_passwd_tmp)

        # 2. 登录修改密码
        token = send_user_m_req.get_token_simple(
            username=config.user_name_tmp, userpwd=config.user_passwd_tmp)
        resp = send_user_m_req.change_password(
            token,
            user_uuid=uuid,
            old_password=config.user_passwd_tmp,
            password=new_password)
        assert resp['uuid'] == uuid

        # 3. 使用新密码登录, 并查看用户详细
        token = send_user_m_req.get_token_simple(config.user_name_tmp,
                                                 userpwd=new_password)
        user_detail = send_user_m_req.get_user_detail(token, uuid)
        assert user_detail['uuid'] == uuid

        # 4. 删除用户
        send_user_m_req.delete_user(self.token, uuid=uuid)
コード例 #2
0
    def test_skte_t1066_create_edit_delete_user(self):
        """
        该用例包含T1066,T1065, T1078,T1079.
        测试步骤:
        1. 创建用户
        2. 查找新建用户
        3. 编辑用户
        4. 使用新用户创建多种任务
        5. 删除用户
        6. 检查共享任务是否存在

        """
        # 1.创建新用户
        uuid = send_user_m_req.create_user(self.token,
                                           username=config.user_name_tmp,
                                           fullname=config.user_full_name_tmp,
                                           password=config.user_passwd_tmp)

        # 2. 查找新建用户
        user_uuid = send_user_m_req.get_uuid_by_username(
            self.token, username=config.user_name_tmp)
        assert user_uuid == uuid

        # 3.编辑用户
        user_update = send_user_m_req.edit_user(self.token,
                                                uuid,
                                                fullname='更新用户全名')
        assert user_update['fullName'] == '更新用户全名'

        # 4. 新用户登录创建多种任务
        # TODO: 补充创建共享image,文件等项目
        tmp_token = send_user_m_req.get_token_simple(config.user_name_tmp,
                                                     config.user_passwd_tmp)
        users = send_user_m_req.get_uuid_list_by_users(
            token=tmp_token, users=[config.user_name_a])
        send_project_m_req.create_project(tmp_token,
                                          project_name='T1079',
                                          users=users)

        # 5.删除新用户
        send_user_m_req.delete_user(self.token, uuid=uuid)
        uuid = send_user_m_req.get_uuid_by_username(
            self.token, username=config.user_name_tmp)

        assert uuid == ''

        # 6. 使用被共享用户登录, 查看被删除用户共享任务是否存在
        # TODO: 等待SDX功能完善, 修改判断条件
        token = send_user_m_req.get_token_simple(config.user_name_a,
                                                 config.user_passwd_a)
        project_list = send_project_m_req.get_project_list(token)
        if project_list['total'] > 0:
            items = project_list['data']['items']
            for item in items:
                if item['owner'].get('username') == config.user_name_tmp:
                    assert False
        assert True
コード例 #3
0
    def test_SKTE_T3802_delete_sharing_model(self):
        # Title: 删除共享模型
        # PreCondition: 创建共享模型,并在共享用户查看该模型。
        model_uuid = send_model_m_req.create_model(self.token,
                                                   model_name='T3802',
                                                   users=[config.user_name_b],
                                                   share_type="PUBLIC",
                                                   is_public=True)
        user_uuid_a = send_user_m_req.get_uuid_by_username(
            self.token, config.user_name_a)
        token_user_b = send_user_m_req.get_token_simple(
            config.user_name_b, config.user_passwd_b)
        user_uuid_b = send_user_m_req.get_uuid_by_username(
            token_user_b, config.user_name_b)

        send_model_m_req.get_model_info(self.token, model_uuid)
        send_model_m_req.get_model_info(token_user_b, model_uuid)

        # 1. 删除共享模型
        send_model_m_req.delete_model(self.token, model_uuid)
        send_model_m_req.get_model_info(self.token,
                                        model_uuid,
                                        resultcode='404')

        # 2. 切换用户查看共享模型
        send_model_m_req.get_model_info(token_user_b,
                                        model_uuid,
                                        resultcode='404')
コード例 #4
0
    def test_skte_t4342_reset_password(self):
        """
        重置用户密码
        测试步骤:
        1. 创建用户
        2. 重置密码
        3. 使用新密码登录
        4. 删除用户

        """
        # 1.创建用户
        uuid = send_user_m_req.create_user(self.token,
                                           username=config.user_name_tmp)

        # 2. 重置密码
        resp = send_user_m_req.reset_password(self.token, user_uuid=uuid)

        # 3. 新用户登录, 并查看用户详细
        tmp_token = send_user_m_req.get_token_simple(config.user_name_tmp,
                                                     userpwd=resp['password'])
        user_detail = send_user_m_req.get_user_detail(tmp_token, uuid)
        assert user_detail['uuid'] == uuid

        # 4. 删除用户
        send_user_m_req.delete_user(self.token, uuid=uuid)
コード例 #5
0
 def test_skte_t1023_t1030_share_and_cancel_files_in_bulk(self):
     target = config.ceph_path  # 上传路径
     filename1 = 'iris.csv'  # 上传文件名称
     file1 = '{}{}'.format(config.file_url, filename1)  # 源文件及其路径
     filePath1 = '{}{}'.format(target, filename1)  # 上传后文件及其路径
     filename2 = 'iris.txt'
     file2 = '{}{}'.format(config.file_url, filename2)
     filePath2 = '{}{}'.format(target, filename2)
     paths = []
     paths.append(filePath1)
     paths.append(filePath2)
     # 上传文件用于共享/取消共享操作
     send_file_m_req.upload_file(self.token, file1, target)
     send_file_m_req.upload_file(self.token, file2, target)
     # 共享文件给用户
     uuid = get_uuid_from_token(self.token)  # 文件所有者的uuid,同时也是文件共享者的uuid
     shareuser_token = send_user_m_req.get_token_simple(
         config.user_name_b, config.user_passwd_b)  # 被共享用户的token
     sharer_uuid = get_uuid_from_token(shareuser_token)  # 被共享用户的uuid
     share_uuid = send_file_m_req.share_files_batch(self.token,
                                                    sharePaths=paths,
                                                    owner_id=uuid,
                                                    share_id=uuid,
                                                    users=[sharer_uuid])
     # 验证文件共享结果: 1)共享用户在“我的共享”文件夹下可看到共享文件 2)被共享用户在“接收的共享”文件夹下可看到被共享文件
     my_share_file = send_file_m_req.get_shared_file_list(
         self.token, owner_id=uuid)  # 共享用户查看"我的共享"文件夹,返回其下可查看到的文件列表
     if filename1 and filename2 not in my_share_file:
         logger.log_error(
             'user {} cannot find shared file {} and {}'.format(
                 config.user_name_a, filename1, filename2))
         assert False
     share_file_list = send_file_m_req.get_shared_file_list(
         shareuser_token,
         user_id=sharer_uuid)  # 被共享用户查看"接收的共享",返回其下可查看到的文件列表
     if filename1 and filename2 not in share_file_list:
         logger.log_error(
             'user {} cannot find shared file {} and {}'.format(
                 config.user_name_b, filename1, filename2))
         assert False
     # 取消共享文件
     send_file_m_req.cancel_shared_file(self.token, share_uuid)
     # 验证文件共享结果: 1)共享用户的“我的共享”文件夹下已移除共享文件 2)被共享用户已在“接收的共享”文件夹下移除被共享文件
     my_share_file = send_file_m_req.get_shared_file_list(
         self.token, owner_id=uuid)  # 共享用户查看"我的共享"文件夹,返回其下可查看到的文件列表
     if filename1 and filename2 in my_share_file:
         logger.log_error(
             'user {} should not find unshared file {} and {}'.format(
                 config.user_name_a, filename1, filename2))
         assert False
     share_file_list = send_file_m_req.get_shared_file_list(
         shareuser_token,
         user_id=sharer_uuid)  # 被共享用户查看"接收的共享",返回其下可查看到的文件列表
     if filename1 and filename2 in share_file_list:
         logger.log_error(
             'user {} should not find unshared file {} and {}'.format(
                 config.user_name_b, filename1, filename2))
         assert False
     # 删除文件
     send_file_m_req.delete_files_and_folders(self.token, paths)
コード例 #6
0
    def test_skte_t1072_create_user_with_diff_expire(self, test_data):
        """
        创建用户, 设置不同的有效期.
        测试步骤:
        1. 创建用户, 有效期为1天, 1周, 1月, 3月, 6月, 1年, 99年
        2. 新用户登录, 查看有效期设置
        3. 删除用户

        """

        expires = date_time.get_delta_datetime(**test_data)

        # 1.创建用户
        uuid = send_user_m_req.create_user(self.token,
                                           username=config.user_name_tmp,
                                           fullname=config.user_full_name_tmp,
                                           password=config.user_passwd_tmp,
                                           expires=expires)

        # 2. 新用户登录, 并查看用户详细
        tmp_token = send_user_m_req.get_token_simple(config.user_name_tmp,
                                                     config.user_passwd_tmp)
        user_detail = send_user_m_req.get_user_detail(tmp_token, uuid)
        assert user_detail['expiresAt'] == expires

        # 3. 删除用户
        send_user_m_req.delete_user(self.token, uuid=uuid)
コード例 #7
0
 def test_SKTE_T3720_share_model_and_cancel(self):
     # 创建模型
     model_uuid = send_model_m_req.create_model(self.token,
                                                model_name='T3720 model')
     user_uuid = send_user_m_req.get_uuid_by_username(
         self.token, config.user_name_a)
     model_location = '{}:{}'.format(user_uuid, config.tf_model_location)
     # 添加模型版本
     description = 'T3720 description'
     version_uuid = send_model_m_req.create_model_version(
         self.token, model_uuid, model_location, description)['uuid']
     # 共享模型
     send_model_m_req.share_model_and_cancel(token=self.token,
                                             uuid=model_uuid,
                                             share_type="PUBLIC",
                                             is_public=True)
     shareuser_token = send_user_m_req.get_token_simple(
         config.user_name_b, config.user_passwd_b)
     # 验证模型已共享,1)可查看该模型;2)可查看该模型版本
     send_model_m_req.get_model_info(shareuser_token, model_uuid)
     send_model_m_req.get_model_version_info(shareuser_token, model_uuid,
                                             version_uuid)
     # 取消共享模型
     send_model_m_req.share_model_and_cancel(token=self.token,
                                             uuid=model_uuid,
                                             share_type="PRIVATE",
                                             is_public=False)
     # 验证模型已取消共享,无权进入该模型
     send_model_m_req.get_model_info(shareuser_token, model_uuid, '401')
     # 删除模型版本
     send_model_m_req.delete_model_version(self.token, model_uuid,
                                           version_uuid)
     # 删除模型
     send_model_m_req.delete_model(self.token, model_uuid)
コード例 #8
0
    def test_skte_t1074_active_user(self):
        """
        该用例包含T1074, T1075.
        测试步骤:
        1. 创建用户
        2. 激活用户
        3. 新用户登录
        4. 取消激活用户
        5. 用户再次登录
        6. 删除用户

        """
        # 1.创建未激活用户
        uuid = send_user_m_req.create_user(self.token,
                                           username=config.user_name_tmp,
                                           fullname=config.user_full_name_tmp,
                                           password=config.user_passwd_tmp,
                                           active=False)

        # 2.激活用户
        user_update = send_user_m_req.edit_user(self.token, uuid, active=True)
        assert user_update['isActive'] is True

        # 3. 新用户登录, 并查看用户详细
        tmp_token = send_user_m_req.get_token_simple(config.user_name_tmp,
                                                     config.user_passwd_tmp)
        user_detail = send_user_m_req.get_user_detail(tmp_token, uuid)
        assert user_detail

        # 4. 取消激活用户
        user_update = send_user_m_req.edit_user(self.token, uuid, active=False)
        assert user_update['isActive'] is False

        # 5. 用户再次登录
        message = send_user_m_req.get_token_simple(config.user_name_tmp,
                                                   config.user_passwd_tmp,
                                                   return_code='403')
        assert message == 'user disabled'

        # 6. 删除用户
        send_user_m_req.delete_user(self.token, uuid=uuid)
コード例 #9
0
    def test_skte_t1076_add_user_to_group(self):
        """
        该用例包含T1076, T1077.
        测试步骤:
        1. 创建用户组, 用户组角色包含user_role, admin_role
        2. 创建用户,角色为user_role
        3. 将新建用户添加到用户组
        4. 用户登录, 有admin权限
        5. 删除用户组

        """

        username = config.user_name_tmp + '_t1076'
        user_group = 'user_group_t1076'
        admin_group = 'admin_group_t1076'

        user_role_uuid = send_user_m_req.fetch_user_role_uuid_by_role_name(
            self.token, config.user_role_name)
        admin_role_uuid = send_user_m_req.fetch_user_role_uuid_by_role_name(
            self.token, config.admin_role_name)

        # 1. 创建用户组
        user_group = send_user_m_req.create_user_group(self.token,
                                                       user_group,
                                                       role=[user_role_uuid])
        admin_group = send_user_m_req.create_user_group(
            self.token, admin_group, role=[user_role_uuid, admin_role_uuid])

        # 2. 新建用户, 该用户没有删除用户组权限
        user_uuid = send_user_m_req.create_user(
            self.token,
            username=username,
            fullname=config.user_full_name_tmp,
            password=config.user_passwd_tmp)

        token = send_user_m_req.get_token_simple(
            username, userpwd=config.user_passwd_tmp)
        send_user_m_req.delete_user_group(token, user_group, return_code='403')

        # 3. 将用户添加到2个用户组
        resp = send_user_m_req.add_user_to_groups(
            self.token, user_uuid, groups=[user_group, admin_group])
        assert sorted(resp['groups']) == sorted([user_group, admin_group])

        # 4. 新用户有删除用户组权限
        send_user_m_req.delete_user_group(token, user_group)
        send_user_m_req.delete_user_group(self.token, admin_group)

        # 5. 删除创建的用户组和用户
        send_user_m_req.delete_user(self.token, uuid=user_uuid)
コード例 #10
0
 def test_skte_t1014_t1029_share_and_cancel_file(self):
     filename = config.file_name  # 上传文件名称
     file = '{}{}'.format(config.file_url, filename)  # 源文件及其路径
     target = config.ceph_path  # 上传路径
     filePath = '{}{}'.format(target, filename)  # 上传后文件及其路径
     # 上传文件用于共享/取消共享操作
     send_file_m_req.upload_file(self.token, file, target)
     # 共享文件给全局
     uuid = get_uuid_from_token(self.token)  # 文件所有者的uuid,同时也是文件共享者的uuid
     share_uuid = send_file_m_req.share_file(self.token,
                                             owner_uuid=uuid,
                                             sharePath=filePath,
                                             isGlobal=True)
     # 验证文件共享结果: 1)共享用户在“我的共享”文件夹下可看到共享文件 2)被共享用户在“接收的共享”文件夹下可看到被共享文件
     my_share_file = send_file_m_req.get_shared_file_list(
         self.token, owner_id=uuid)  # 共享用户查看"我的共享"文件夹,返回其下可查看到的文件列表
     if filename not in my_share_file:
         logger.log_error('user {} cannot find shared file {}'.format(
             config.user_name_a, filename))
         assert False
     shareuser_token = send_user_m_req.get_token_simple(
         config.user_name_b, config.user_passwd_b)  # 被共享用户的token
     sharer_uuid = get_uuid_from_token(shareuser_token)  # 被共享用户的uuid
     share_file_list = send_file_m_req.get_shared_file_list(
         shareuser_token,
         user_id=sharer_uuid)  # 被共享用户查看"接收的共享",返回其下可查看到的文件列表
     if filename not in share_file_list:
         logger.log_error('user {} cannot find shared file {}'.format(
             config.user_name_b, filename))
         assert False
     # 取消共享文件
     send_file_m_req.cancel_shared_file(self.token, share_uuid)
     # 验证文件共享结果: 1)共享用户的“我的共享”文件夹下已移除共享文件 2)被共享用户已在“接收的共享”文件夹下移除被共享文件
     my_share_file = send_file_m_req.get_shared_file_list(
         self.token, owner_id=uuid)  # 共享用户查看"我的共享"文件夹,返回其下可查看到的文件列表
     if filename in my_share_file:
         logger.log_error('user {} should not find unshared file {}'.format(
             config.user_name_a, filename))
         assert False
     share_file_list = send_file_m_req.get_shared_file_list(
         shareuser_token,
         user_id=sharer_uuid)  # 被共享用户查看"接收的共享",返回其下可查看到的文件列表
     if filename in share_file_list:
         logger.log_error('user {} should not find unshared file {}'.format(
             config.user_name_b, filename))
         assert False
     # 删除文件
     paths = []
     paths.append(filePath)
     send_file_m_req.delete_files_and_folders(self.token, paths)
コード例 #11
0
 def test_SKTE_T3712_create_and_delete_collaborative_project(self):
     # 创建协作项目
     uuid = send_user_m_req.get_uuid_by_username(
         self.token, config.collaborative_user)  # 获取协作用户uuid
     joint_id = []
     joint_id.append(uuid)
     res = send_project_m_req.create_project(
         self.token,
         project_name='T3712 auto test collaborative project',
         users=joint_id)  # 获取协作项目uuid
     # 协作项目校验:协作用户可以进入协作项目页面,可以创建/删除、启停任务(任务部分待补充),不支持对协作项目进行写操作,如删除协作项目
     joint_token = send_user_m_req.get_token_simple(
         config.collaborative_user,
         config.collaborative_userpwd)  # 获取协作用户token
     send_project_m_req.entry_project_by_uuid(joint_token,
                                              res)  # 协作用户可以进入协作项目页面
     # send_project_m_req.delete_project_by_uuid(joint_token, res, '403')  # 协作用户无权删除协作项目,实际测试不通过,可以通过接口删除
     # 创建者删除协作项目
     send_project_m_req.delete_project_by_uuid(self.token, res)
コード例 #12
0
 def setup_class(cls):
     super(TestFileDelete, cls).setup_class(logger_name='file_delete')
     cls.token = send_user_m_req.get_token_simple()
コード例 #13
0
 def setup_class(cls):
     super(TestFileUpload, cls).setup_class(logger_name='file_upload')
     cls.token = send_user_m_req.get_token_simple()
コード例 #14
0
 def setup_class(cls):
     super(TestFolderCreate, cls).setup_class(logger_name='folder_create')
     cls.token = send_user_m_req.get_token_simple()
コード例 #15
0
 def setup_class(cls):
     super(TestSkyFlow, cls).setup_class(logger_name='skyflow')
     cls.token = send_user_m_req.get_token_simple()
コード例 #16
0
 def setup_class(cls):
     super(TestGetImageList, cls).setup_class(logger_name='get_image_list')
     # cls.token = super(TestGetImageList, cls).token_simple()
     cls.token = send_user_m_req.get_token_simple()
コード例 #17
0
    def test_skte_t1082_add_roles_to_group(self):
        """
        该用例包含T1082, T1084, T1086, T1087
        测试步骤:
        1. 创建用户组, 用户组角色包含user_role, admin_role
        2. 添加多个用户到用户组,用户有admin权限
        3. 查看组内成员列表
        4. 修改用户组,去除admin_role
        5. 用户登录, 只有user_role权限
        6. 删除用户组

        """

        group_name = 'group_t1082'
        new_group_name = 'new_group_t1082'

        user_role_uuid = send_user_m_req.fetch_user_role_uuid_by_role_name(
            self.token, config.user_role_name)
        admin_role_uuid = send_user_m_req.fetch_user_role_uuid_by_role_name(
            self.token, config.admin_role_name)

        # 1. 创建用户组
        user_group = send_user_m_req.create_user_group(
            self.token, group_name, role=[user_role_uuid, admin_role_uuid])
        user_a_uuid = send_user_m_req.get_uuid_by_username(
            self.token, config.user_name_a)
        user_b_uuid = send_user_m_req.get_uuid_by_username(
            self.token, config.user_name_b)
        # 2. 将用户添加到用户组
        resp = send_user_m_req.add_user_to_groups(self.token,
                                                  user_a_uuid,
                                                  groups=[user_group])
        assert resp['groups'] == [user_group]

        resp = send_user_m_req.add_user_to_groups(self.token,
                                                  user_b_uuid,
                                                  groups=[user_group])
        assert resp['groups'] == [user_group]

        # 3. 查看用户组列表,用户有创建用户组权限
        token = send_user_m_req.get_token_simple(username=config.user_name_a,
                                                 userpwd=config.user_passwd_a)
        group_detail = send_user_m_req.get_user_group_detail(token, user_group)
        assert sorted(group_detail['users']) == sorted(
            [user_a_uuid, user_b_uuid])
        tmp_group = send_user_m_req.create_user_group(
            token, group_name=new_group_name, role=[user_role_uuid])

        # 4. 修改用户组, 去除admin角色
        send_user_m_req.modify_user_group(self.token,
                                          user_group,
                                          roles=[user_role_uuid])

        # 5. 用户没有创建删除用户组权限
        send_user_m_req.delete_user_group(token,
                                          group_uuid=tmp_group,
                                          return_code='403')

        # 6. 使用admin删除创建的用户组
        send_user_m_req.delete_user_group(self.token, tmp_group)
        send_user_m_req.delete_user_group(self.token, user_group)
コード例 #18
0
 def setup_class(cls):
     super(TestCreateModel, cls).setup_class(logger_name='model_creation')
     cls.token = send_user_m_req.get_token_simple()
コード例 #19
0
 def setup_class(cls):
     super(TestCreateProject, cls).setup_class(logger_name='container_dev')
     cls.token = send_user_m_req.get_token_simple()
コード例 #20
0
 def setup_class(cls):
     super(TestFileFolderRename, cls).setup_class(logger_name='file_folder_rename')
     cls.token = send_user_m_req.get_token_simple()
コード例 #21
0
 def setup_class(cls):
     super(TestCreateProject,
           cls).setup_class(logger_name='project_creation')
     cls.token = send_user_m_req.get_token_simple()
コード例 #22
0
 def setup_class(cls):
     super(TestZipFile, cls).setup_class(logger_name='zip_file')
     cls.token = send_user_m_req.get_token_simple()
コード例 #23
0
 def setup_class(cls):
     super(TestUserGroup, cls).setup_class(logger_name='user_group')
     cls.token = send_user_m_req.get_token_simple(
         config.user_sysadmin, config.user_passwd_sysadmin)
コード例 #24
0
 def setup_class(cls):
     super(TestUserManager, cls).setup_class(logger_name='user_manager')
     cls.token = send_user_m_req.get_token_simple(
         username=config.user_sysadmin, userpwd=config.user_passwd_sysadmin)
コード例 #25
0
 def setup_class(cls):
     super(TestResourceTemplate,
           cls).setup_class(logger_name='resource_template')
     cls.token = send_user_m_req.get_token_simple(
         config.user_sysadmin, config.user_passwd_sysadmin)