
    xi                         d Z ddlZddlmc mZ ddlZddlZej                  j                  dd       ddlmZ dZ G d d      Z G d d	      Zy)
u1   _inject_platform_rules() 오탐 방지 테스트.    Nz/home/jay/workspace)_inject_platform_rulesu9   ## 네이버 블로그 작성 규칙
1. 이모지 금지
c                   f    e Zd ZdZ ej
                  d      d        Zd Zd Zd Z	d Z
d	 Zd
 Zy)TestInjectPlatformRulesPositiveuO   블로그 작성/발행 작업에서 규칙이 주입되어야 하는 케이스Tautousec                     |dz  dz  }|j                   j                  d       |j                  t        d       |j	                  d|       y)	u   규칙 파일 mockconfignaver-blog-rules.mdTparentsutf-8encodingdispatch.WORKSPACENparentmkdir
write_text
MOCK_RULESsetattrselftmp_pathmonkeypatch
rules_files       9/home/jay/workspace/tests/test_dispatch_platform_rules.pymock_rules_filez/TestInjectPlatformRulesPositive.mock_rules_file   sO     (+@@
-j7;0(;    c                    d}t        |      }d }||u}|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu   네이버 블로그 글 작성is notz4%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} is not %(py7)sr   py0py2py4py7assert %(py9)spy9	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr   @py_assert1@py_assert3@py_assert6@py_assert5@py_format8@py_format10s          r   test_blog_writingz1TestInjectPlatformRulesPositive.test_blog_writing   s    &FS%&FGStSGtSSSSGtSSSSSS%SSS%SSS&FSSSGSSStSSSSSSSr   c                    d}t        |      }d }||u}|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu$   네이버 블로그 발행 자동화r    r"   r   r#   r(   r)   r*   r3   s          r   test_blog_publishingz4TestInjectPlatformRulesPositive.test_blog_publishing       &LY%&LMYUYYMUYYYYYMUYYYYYYY%YYY%YYY&LYYYMYYYUYYYYYYYYr   c                    d}t        |      }d }||u}|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu#   blog-publish-naver 스킬로 발행r    r"   r   r#   r(   r)   r*   r3   s          r   test_blog_publish_naver_skillz=TestInjectPlatformRulesPositive.test_blog_publish_naver_skill    s    &KX%&KLXTXXLTXXXXXLTXXXXXXX%XXX%XXX&KXXXLXXXTXXXXXXXXr   c                    d}t        |      }d }||u}|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu$   네이버 블로그 포스팅 대행r    r"   r   r#   r(   r)   r*   r3   s          r   test_blog_postingz1TestInjectPlatformRulesPositive.test_blog_posting#   r=   r   c                    d}t        |      }d }||u}|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu   네이버 블로그 글쓰기r    r"   r   r#   r(   r)   r*   r3   s          r   test_blog_writing_2z3TestInjectPlatformRulesPositive.test_blog_writing_2&       &ER%&EFRdRFdRRRRFdRRRRRR%RRR%RRR&ERRRFRRRdRRRRRRRr   c                    d}t        |      }d }||u}|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nznaver blog publish automationr    r"   r   r#   r(   r)   r*   r3   s          r   test_naver_blog_englishz7TestInjectPlatformRulesPositive.test_naver_blog_english)   rD   r   N)__name__
__module____qualname____doc__pytestfixturer   r:   r<   r?   rA   rC   rF    r   r   r   r      sF    YV^^D!< "<TZYZSSr   r   c                   l    e Zd ZdZ ej
                  d      d        Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)TestInjectPlatformRulesNegativeuY   블로그 작성이 아닌 작업에서 규칙이 주입되지 않아야 하는 케이스Tr   c                     |dz  dz  }|j                   j                  d       |j                  t        d       |j	                  d|       y )Nr	   r
   Tr   r   r   r   r   r   s       r   r   z/TestInjectPlatformRulesNegative.mock_rules_file0   sM    (+@@
-j7;0(;r   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu3   네이버 블로그 SE API 폐기 → CDP 일원화isz0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} is %(py7)sr   r#   r(   r)   r*   r3   s          r   test_api_deprecationz4TestInjectPlatformRulesNegative.test_api_deprecation7   s    &[d%&[\d`dd\`ddddd\`ddddddd%ddd%ddd&[ddd\ddd`ddddddddr   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu   BlogAuto 코드 검증rR   rT   r   r#   r(   r)   r*   r3   s          r   test_code_verificationz6TestInjectPlatformRulesNegative.test_code_verification:   s    &>G%&>?G4G?4GGGG?4GGGGGG%GGG%GGG&>GGG?GGG4GGGGGGGr   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu+   네이버 블로그 발행 테스트 실행rR   rT   r   r#   r(   r)   r*   r3   s          r   test_publish_test_executionz;TestInjectPlatformRulesNegative.test_publish_test_execution=   s    &S\%&ST\X\\TX\\\\\TX\\\\\\\%\\\%\\\&S\\\T\\\X\\\\\\\\r   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu   블로그 리팩토링 작업rR   rT   r   r#   r(   r)   r*   r3   s          r   test_refactoringz0TestInjectPlatformRulesNegative.test_refactoring@   s    &EN%&EFN$NF$NNNNF$NNNNNN%NNN%NNN&ENNNFNNN$NNNNNNNr   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu0   네이버 블로그 시스템 마이그레이션rR   rT   r   r#   r(   r)   r*   r3   s          r   test_migrationz.TestInjectPlatformRulesNegative.test_migrationC   s    &Xa%&XYa]aaY]aaaaaY]aaaaaaa%aaa%aaa&XaaaYaaa]aaaaaaaar   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu%   보험 상품 비교 페이지 개발rR   rT   r   r#   r(   r)   r*   r3   s          r   test_no_blog_keywordsz5TestInjectPlatformRulesNegative.test_no_blog_keywordsF   s    &MV%&MNVRVVNRVVVVVNRVVVVVVV%VVV%VVV&MVVVNVVVRVVVVVVVVr   c                    d}t        |      }d }||u }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nu(   네이버 블로그 발행 버그 수정rR   rT   r   r#   r(   r)   r*   r3   s          r   test_debuggingz.TestInjectPlatformRulesNegative.test_debuggingI   s    &PY%&PQYUYYQUYYYYYQUYYYYYYY%YYY%YYY&PYYYQYYYUYYYYYYYYr   N)rG   rH   rI   rJ   rK   rL   r   rU   rW   rY   r[   r]   r_   ra   rM   r   r   rO   rO   -   sL    cV^^D!< "<eH]ObWZr   rO   )rJ   builtinsr-   _pytest.assertion.rewrite	assertionrewriter+   rK   syspathinsertdispatchr   r   r   rO   rM   r   r   <module>rj      sJ    7     ( ) + K
S S<Z Zr   