from datetime import datetime from app.db import engine from sqlmodel import Session from app.libs.adf.convertor import convert_markdown_to_adf_document from app.libs.confluence.confluence import PageInitialStatus from app.models.kb_issue_case import KBIssueCase from app.repositories.confluence_site import confluence_site_repo from app.writer.common import create_confluence_by_site test_markdown_doc = """# Heading > **Note:** > This is a note. 👌 This is an emoji. [This is a link](https://www.google.com) ## Bullet List - Item 1 - Item 2 - Item 3 ## Ordered List 1. Item 1 2. Item 2 ## Code Block Python code example: ```python def hello_world(): print("hello world") ``` """ def test_markdown_to_adf_document(): doc = convert_markdown_to_adf_document(test_markdown_doc) adf_dict = doc.model_dump_json(indent=2, exclude_none=True) print(adf_dict) def test_converted_adf_document_if_correct(): test_confluence_site_id = 1 test_confluence_space_id = "185237517" test_confluence_parent_page_id = "326041625" with Session(engine) as session: site = confluence_site_repo.must_get(session, test_confluence_site_id) confluence = create_confluence_by_site(site) kb_doc = KBIssueCase( title=f"Test converted ADF document:{datetime.now()}", body=test_markdown_doc, labels=[], ) page = confluence.create_new_page( title=kb_doc.title, body=kb_doc.body, status=PageInitialStatus.CURRENT, space_id=test_confluence_space_id, parent_id=test_confluence_parent_page_id, ) page_link = f"https://{site.host}/wiki{page['_links']['tinyui']}" print(f"Created page: ", page_link)