1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing,
- # software distributed under the License is distributed on an
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- # KIND, either express or implied. See the License for the
- # specific language governing permissions and limitations
- # under the License.
- """Test pydolphinscheduler docs."""
- import re
- from tests.testing.constants import task_without_example
- from tests.testing.path import get_doc_tasks, get_tasks
- ignore_code_file = {"__init__.py"}
- ignore_doc_file = {"index.rst"}
- def test_without_missing_task_rst():
- """Test without missing any task document by compare filename.
- Avoiding add new type of tasks but without adding document about it.
- """
- code_files = {p.stem for p in get_tasks(ignore_name=ignore_code_file)}
- doc_files = {p.stem for p in get_doc_tasks(ignore_name=ignore_doc_file)}
- assert code_files == doc_files
- def test_task_without_example():
- """Test task document which without example.
- Avoiding add new type of tasks but without adding example content describe how to use it.
- """
- task_without_example_detected = set()
- pattern = re.compile("Example\n-------")
- for doc in get_doc_tasks(ignore_name=ignore_doc_file):
- search_result = pattern.search(doc.read_text())
- if not search_result:
- task_without_example_detected.add(doc.stem)
- assert task_without_example == task_without_example_detected
- def test_doc_automodule_directive_name():
- """Test task document with correct name in directive automodule."""
- pattern = re.compile(".. automodule:: (.*)")
- for doc in get_doc_tasks(ignore_name=ignore_doc_file):
- match_string = pattern.search(doc.read_text()).group(1)
- assert f"pydolphinscheduler.tasks.{doc.stem}" == match_string
|