Browse Source
* [python] Fix change exists pd attribute user error * Remove attribute from class ProcessDefinition, cause it should to object User instead of object ProcessDefinition. * Grant project to user if attribute user change for exists ProcessDefinition close: #8751 * Add py.test conftest.py for package integration3.0.0/version-upgrade
Jiajie Zhong
3 years ago
committed by
GitHub
11 changed files with 167 additions and 51 deletions
@ -0,0 +1,46 @@
|
||||
# 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. |
||||
|
||||
"""py.test conftest.py file for package integration test.""" |
||||
|
||||
import pytest |
||||
|
||||
from tests.testing.docker_wrapper import DockerWrapper |
||||
|
||||
|
||||
@pytest.fixture(scope="package", autouse=True) |
||||
def docker_setup_teardown(): |
||||
"""Fixture for whole package tests, Set up and teardown docker env. |
||||
|
||||
Fixture in file named ``conftest.py`` with ``scope=package`` could be auto import in the |
||||
whole package, and with attribute ``autouse=True`` will be auto-use for each test cases. |
||||
|
||||
.. seealso:: |
||||
For more information about conftest.py see: |
||||
https://docs.pytest.org/en/latest/example/simple.html#package-directory-level-fixtures-setups |
||||
""" |
||||
docker_wrapper = DockerWrapper( |
||||
image="apache/dolphinscheduler-standalone-server:ci", |
||||
container_name="ci-dolphinscheduler-standalone-server", |
||||
) |
||||
ports = {"25333/tcp": 25333} |
||||
container = docker_wrapper.run_until_log( |
||||
log="Started StandaloneServer in", tty=True, ports=ports |
||||
) |
||||
assert container is not None |
||||
yield |
||||
docker_wrapper.remove_container() |
@ -0,0 +1,50 @@
|
||||
# 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 process definition in integration.""" |
||||
|
||||
from typing import Dict |
||||
|
||||
import pytest |
||||
|
||||
from pydolphinscheduler.core.process_definition import ProcessDefinition |
||||
from pydolphinscheduler.tasks.shell import Shell |
||||
|
||||
PROCESS_DEFINITION_NAME = "test_change_exists_attr_pd" |
||||
TASK_NAME = f"task_{PROCESS_DEFINITION_NAME}" |
||||
|
||||
|
||||
@pytest.mark.parametrize( |
||||
"pre, post", |
||||
[ |
||||
( |
||||
{ |
||||
"user": "pre_user", |
||||
}, |
||||
{ |
||||
"user": "post_user", |
||||
}, |
||||
) |
||||
], |
||||
) |
||||
def test_change_process_definition_attr(pre: Dict, post: Dict): |
||||
"""Test whether process definition success when specific attribute change.""" |
||||
assert pre.keys() == post.keys(), "Not equal keys for pre and post attribute." |
||||
for attrs in [pre, post]: |
||||
with ProcessDefinition(name=PROCESS_DEFINITION_NAME, **attrs) as pd: |
||||
Shell(name=TASK_NAME, command="echo 1") |
||||
pd.submit() |
Loading…
Reference in new issue