def test_knowledge_tags(page, page_size, knowledge_c, knowledge_u):
    client = WulaiClient(pubkey, secret, debug=True)
    # tags
    #    -- without parent_k_tag_id
    resp_parent_tags = client.knowledge_tags(page, page_size)
    parent_k_tag_id = resp_parent_tags.knowledge_tags[0].id

    #    -- with parent_k_tag_id
    resp_second_tags = client.knowledge_tags(page, page_size, parent_k_tag_id)
    knowledge_tags = resp_second_tags.knowledge_tags
    knowledge_tags_di = [r.to_dict() for r in knowledge_tags]
    target_id = find_value_from_dict_array(knowledge_tags_di, "name", "id", "测试_yt")

    # create
    knowledge_c["knowledge_tag_id"] = target_id
    resp_knowledge_c = client.create_knowledge(knowledge_c)
    knowledge_id = resp_knowledge_c.knowledge_tag_knowledge.knowledge.id

    # update
    knowledge_u["id"] = knowledge_id
    resp_knowledge_u = client.update_knowledge(knowledge_u)

    # items
    # 过滤查询
    resp_knowledges = client.knowledge_items(page, page_size=50, knowledge_filter={"knowledge_tag_id": target_id})
    assert resp_knowledges.to_dict()
    # 无条件查询
    resp = client.knowledge_items(page, page_size=10)

    assert resp_knowledge_u.knowledge.id == knowledge_id
    assert resp.page_count

    # similar-question
    # create
    similar_question_c = {
        "knowledge_id": knowledge_id,
        "question": "我能在你左边画条龙嘛?"
    }
    resp_similar_c = client.create_similar_question(similar_question_c)

    # update
    similar_question_id = resp_similar_c.similar_question.id
    similar_question_u = {
        "knowledge_id": knowledge_id,
        "question": "我能在你左边画条龙嘛?-改",
        "id": similar_question_id
    }
    resp_similar_u = client.update_similar_question(similar_question_u)

    # list
    resp_similar_list = client.similar_questions(page, page_size, knowledge_id, timeout=10)
    assert resp_similar_u.similar_question.to_dict() in [r.to_dict() for r in resp_similar_list.similar_questions]

    # delete
    resp = client.delete_similar_question(similar_question_id)
    assert isinstance(resp, dict)

    # delete knowledge
    resp = client.delete_knowledge(knowledge_id)
    assert isinstance(resp, dict)
Exemple #2
0
# 3. 找到需要的分类id
tag_name = "xxx"  # 需要添加知识点的分类名称
target_id = find_value_from_dict_array(knowledge_tags_di, "name", "id", tag_name)

# 创建知识点
knowledge_c = {
    "knowledge": {
        "status": True,
        "standard_question": "标准问",
        "respond_all": True,
        "maintained_by_user_attribute_group": True
    },
    "knowledge_tag_id": target_id
}

resp_knowledge_c = client.create_knowledge(knowledge_c)
knowledge_id = resp_knowledge_c.knowledge_tag_knowledge.knowledge.id

################
#   创建属性组
################
# 1.获取用户属性列表
resp_attributes = client.user_attributes(page, page_size)

# 2. 获取到属性id
attribute_id_1 = ""
attribute_id_2 = ""

# 3. 定义属性值
attribute_value_1 = ""
attribute_value_2 = ""