wwpdb.utils.testing 0.17.2__tar.gz → 0.18__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wwpdb_utils_testing-0.18/LICENSE +12 -0
- wwpdb_utils_testing-0.18/MANIFEST.in +10 -0
- wwpdb_utils_testing-0.18/PKG-INFO +57 -0
- wwpdb_utils_testing-0.18/pyproject.toml +44 -0
- wwpdb_utils_testing-0.18/requirements.txt +1 -0
- wwpdb_utils_testing-0.18/setup.cfg +4 -0
- wwpdb_utils_testing-0.18/tox.ini +148 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/README.md +5 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/data/archive/D_000001/D_000001_model_P1.cif.V3 +8943 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/resources_ro/actionData.xml +3971 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/resources_ro/content_ws/ws_content_type_definitions.json +380 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/resources_ro/depui/site_access_info.json +4 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/resources_ro/emd/emdb_fsc.xsd +48 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/webapps/htdocs/msgmodule/msg_tmplts.html +38 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/webapps/htdocs/msgmodule/msging_launch_tmplt.html +467 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/da_top/webapps/version.json +1 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/site-config/common/common.cfg +6 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/site-config/rcsb-east/site_common/common.cfg +4 -0
- wwpdb_utils_testing-0.18/wwpdb/mock-data/site-config/rcsb-east/wwpdb_deploy_test/site.cfg +83 -0
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/wwpdb/utils/testing/__init__.py +1 -1
- wwpdb_utils_testing-0.18/wwpdb/utils/tests-testing/CreateRWTreeTest.py +84 -0
- wwpdb_utils_testing-0.18/wwpdb/utils/tests-testing/FeaturesTest.py +77 -0
- wwpdb_utils_testing-0.18/wwpdb/utils/tests-testing/__init__.py +0 -0
- wwpdb_utils_testing-0.18/wwpdb.utils.testing.egg-info/PKG-INFO +57 -0
- wwpdb_utils_testing-0.18/wwpdb.utils.testing.egg-info/SOURCES.txt +29 -0
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/wwpdb.utils.testing.egg-info/top_level.txt +1 -0
- wwpdb.utils.testing-0.17.2/PKG-INFO +0 -21
- wwpdb.utils.testing-0.17.2/setup.cfg +0 -10
- wwpdb.utils.testing-0.17.2/setup.py +0 -64
- wwpdb.utils.testing-0.17.2/wwpdb/__init__.py +0 -1
- wwpdb.utils.testing-0.17.2/wwpdb/utils/__init__.py +0 -1
- wwpdb.utils.testing-0.17.2/wwpdb.utils.testing.egg-info/PKG-INFO +0 -21
- wwpdb.utils.testing-0.17.2/wwpdb.utils.testing.egg-info/SOURCES.txt +0 -15
- wwpdb.utils.testing-0.17.2/wwpdb.utils.testing.egg-info/not-zip-safe +0 -1
- wwpdb.utils.testing-0.17.2/wwpdb.utils.testing.egg-info/requires.txt +0 -6
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/README.md +0 -0
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/wwpdb/utils/testing/CreateRWTree.py +0 -0
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/wwpdb/utils/testing/Features.py +0 -0
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/wwpdb/utils/testing/SiteConfigSetup.py +0 -0
- {wwpdb.utils.testing-0.17.2 → wwpdb_utils_testing-0.18}/wwpdb.utils.testing.egg-info/dependency_links.txt +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
you may not use this file except in compliance with the License.
|
|
4
|
+
You may obtain a copy of the License at
|
|
5
|
+
|
|
6
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
|
|
8
|
+
Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
See the License for the specific language governing permissions and
|
|
12
|
+
limitations under the License.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# These are included in sdist - not wheel
|
|
2
|
+
include tox.ini
|
|
3
|
+
include requirements.txt
|
|
4
|
+
include wwpdb/mock-data/README.md
|
|
5
|
+
recursive-include wwpdb/mock-data/site-config *
|
|
6
|
+
recursive-include wwpdb/mock-data/da_top/data/archive *.V3
|
|
7
|
+
recursive-include wwpdb/mock-data/da_top/resources_ro actionData.xml depui/site_access_info.json emd/emdb_fsc.xsd content_ws/*
|
|
8
|
+
recursive-include wwpdb/mock-data/da_top/webapps/htdocs/msgmodule *
|
|
9
|
+
include wwpdb/mock-data/da_top/webapps/version.json
|
|
10
|
+
recursive-include wwpdb/utils/tests-testing *.py
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: wwpdb.utils.testing
|
|
3
|
+
Version: 0.18
|
|
4
|
+
Summary: wwPDB Python DB Schema Utilities
|
|
5
|
+
Author-email: Ezra Peisach <ezra.peisach@rcsb.org>
|
|
6
|
+
License: Apache 2.0
|
|
7
|
+
Project-URL: Homepage, https://github,com/wwpdb/py-wwpdb_utils_testing
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: Natural Language :: English
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 2.7
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
16
|
+
Requires-Python: >=3.6
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
|
|
20
|
+
# OneDep Core Testing Library
|
|
21
|
+
|
|
22
|
+
[](https://dev.azure.com/wwPDB/wwPDB%20Python%20Projects/_build/latest?definitionId=1&branchName=master)
|
|
23
|
+
|
|
24
|
+
## Introduction
|
|
25
|
+
|
|
26
|
+
This repository can be used by the test suite to setup/test for running environments
|
|
27
|
+
|
|
28
|
+
The code in here will allow for common setup of site-config harness as
|
|
29
|
+
well of allowing for fixtures to test the environment to determine if
|
|
30
|
+
a test can be invoked.
|
|
31
|
+
|
|
32
|
+
### Installation
|
|
33
|
+
|
|
34
|
+
Download the library source software from the project repository:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
|
|
38
|
+
git clone --recurse-submodules https://github.com/wwPDB/py-wwpdb_utils_testing.git
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Optionally, run test suite using the Tox test runner.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
tox
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Installation is via the program [pip](https://pypi.python.org/pypi/pip).
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
pip install wwpdb.utils.testing
|
|
52
|
+
|
|
53
|
+
or from the local repository:
|
|
54
|
+
|
|
55
|
+
pip install .
|
|
56
|
+
```
|
|
57
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools >= 69"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "wwpdb.utils.testing"
|
|
7
|
+
authors = [
|
|
8
|
+
{name = "Ezra Peisach", email="ezra.peisach@rcsb.org"}
|
|
9
|
+
]
|
|
10
|
+
description = "wwPDB Python DB Schema Utilities"
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
requires-python = ">=3.6"
|
|
13
|
+
license = {text = "Apache 2.0"}
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Intended Audience :: Developers",
|
|
16
|
+
"Natural Language :: English",
|
|
17
|
+
"License :: OSI Approved :: Apache Software License",
|
|
18
|
+
"Programming Language :: Python",
|
|
19
|
+
"Programming Language :: Python :: 2.7",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.6",
|
|
22
|
+
"Programming Language :: Python :: 3.7",
|
|
23
|
+
]
|
|
24
|
+
dependencies = []
|
|
25
|
+
dynamic = ["version"]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
"Homepage" = "https://github,com/wwpdb/py-wwpdb_utils_testing"
|
|
29
|
+
|
|
30
|
+
[tool.setuptools.packages.find]
|
|
31
|
+
where = ["."]
|
|
32
|
+
exclude = ["wwpdb.utils.tests-*"]
|
|
33
|
+
namespaces = true
|
|
34
|
+
|
|
35
|
+
[tool.setuptools.dynamic]
|
|
36
|
+
version = {attr = "wwpdb.utils.testing.__version__"}
|
|
37
|
+
|
|
38
|
+
[tool.setuptools]
|
|
39
|
+
# We turn off the default to not include
|
|
40
|
+
# MANIFEST.in files in wheel - but keep in sdist
|
|
41
|
+
include-package-data = false
|
|
42
|
+
|
|
43
|
+
[tool.distutils.bdist_wheel]
|
|
44
|
+
universal = true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Extra requirements for tox
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# File: tox.ini (Templated version)
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
##
|
|
5
|
+
[local_settings]
|
|
6
|
+
# project specific local settings
|
|
7
|
+
test_pattern = "*Test.py"
|
|
8
|
+
#
|
|
9
|
+
# Source pathls (unquoted and space separated list of files/directories) for linting and format checks
|
|
10
|
+
source_paths = wwpdb/utils/testing wwpdb/utils/tests-testing
|
|
11
|
+
#
|
|
12
|
+
# Start directory path for test discovery
|
|
13
|
+
# Each path must reference valid directory that is searchable by python3.9 (i.e. contains __init__.py)
|
|
14
|
+
# ** It is harmless to point to paths containing no tests.
|
|
15
|
+
#
|
|
16
|
+
test_path_1 = "wwpdb/utils/tests-testing"
|
|
17
|
+
# These are placeholders valid source directories without tests files
|
|
18
|
+
test_path_2 = "wwpdb/utils/testing"
|
|
19
|
+
test_path_3 = "wwpdb/utils/testing"
|
|
20
|
+
test_path_4 = "wwpdb/utils/testing"
|
|
21
|
+
#
|
|
22
|
+
# Comma separate list of directories/patterns for which test coverage will be evaluated
|
|
23
|
+
coverage_source_paths = "wwpdb/utils/testing,wwpdb/utils/tests-testing"
|
|
24
|
+
# SiteConfig can only be tested when wwpdb.utils.config available
|
|
25
|
+
coverage_exclude_paths = "wwpdb/__init__.py,wwpdb/utils/testing/SiteConfigSetup.py"
|
|
26
|
+
coverage_cutoff = 65
|
|
27
|
+
#
|
|
28
|
+
## --------------------------------------------------------------------------
|
|
29
|
+
## ---------- No project specific setting beyond this point --------------
|
|
30
|
+
# Updated: 3-Jul-2019 jdw Cleanup
|
|
31
|
+
# 8-Jul-2019 jdw Disable flake8 plugin (pydocstyle compat issue)
|
|
32
|
+
# 12-Jul-2019 jdw Add placeholders for up to four test paths
|
|
33
|
+
# 13-Jul-2019 jdw Add coverage exclusion
|
|
34
|
+
# 21-Nov-2019 jdw py27->py39 update black version
|
|
35
|
+
##
|
|
36
|
+
[tox]
|
|
37
|
+
# The complete list of supported test environments to setup and invoke
|
|
38
|
+
envlist = format_pep8-{py39}, lint_pylint-{py39}, format_black-{py39}, {py39}, test_coverage-{py39}
|
|
39
|
+
#
|
|
40
|
+
minversion = 3.4.0
|
|
41
|
+
skip_missing_interpreters = true
|
|
42
|
+
skipsdist = false
|
|
43
|
+
|
|
44
|
+
[testenv]
|
|
45
|
+
passenv = CONFIG_SUPPORT_TOKEN_ENV
|
|
46
|
+
allowlist_externals = echo
|
|
47
|
+
deps =
|
|
48
|
+
commands =
|
|
49
|
+
echo "Starting default tests in testenv"
|
|
50
|
+
basepython = py313: python3.13
|
|
51
|
+
py312: python3.12
|
|
52
|
+
py311: python3.11
|
|
53
|
+
py310: python3.10
|
|
54
|
+
py39: python3.9
|
|
55
|
+
|
|
56
|
+
[testenv:py3{9,10,11,12,13}]
|
|
57
|
+
description = 'Run unit tests (unittest runner) using {envpython}'
|
|
58
|
+
platform=
|
|
59
|
+
macos: darwin
|
|
60
|
+
linux: linux
|
|
61
|
+
skip_install = false
|
|
62
|
+
recreate = true
|
|
63
|
+
#alwayscopy=true
|
|
64
|
+
usedevelop=true
|
|
65
|
+
deps = -r requirements.txt
|
|
66
|
+
commands =
|
|
67
|
+
echo "Starting {envname}"
|
|
68
|
+
{envpython} -V
|
|
69
|
+
{envpython} -m unittest discover -v --start-directory {[local_settings]test_path_1} --pattern "{[local_settings]test_pattern}"
|
|
70
|
+
{envpython} -m unittest discover -v --start-directory {[local_settings]test_path_2} --pattern "{[local_settings]test_pattern}"
|
|
71
|
+
{envpython} -m unittest discover -v --start-directory {[local_settings]test_path_3} --pattern "{[local_settings]test_pattern}"
|
|
72
|
+
{envpython} -m unittest discover -v --start-directory {[local_settings]test_path_4} --pattern "{[local_settings]test_pattern}"
|
|
73
|
+
echo "Completed {envname}"
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
[testenv:format_pep8-py3{8,9,10,11,12}]
|
|
77
|
+
description = 'Run selected PEP8 compliance checks (flake8)'
|
|
78
|
+
platform=
|
|
79
|
+
macos: darwin
|
|
80
|
+
linux: linux
|
|
81
|
+
deps =
|
|
82
|
+
flake8
|
|
83
|
+
# This plugin is no longer compatible with latest pydocstyles -
|
|
84
|
+
# flake8-docstrings>=0.2.7
|
|
85
|
+
flake8-import-order>=0.9
|
|
86
|
+
-r requirements.txt
|
|
87
|
+
commands =
|
|
88
|
+
# Exceptions: D for docstrings, I for imports order and formatting, E302 is slice spacing - W503 multiline spacing incompatible with black
|
|
89
|
+
flake8 --max-line-length=185 --ignore=D,I,E203,W503 {[local_settings]source_paths}
|
|
90
|
+
|
|
91
|
+
#
|
|
92
|
+
[testenv:lint_pylint-py3{9,10,11,12,13}]
|
|
93
|
+
description = 'Run linting compliance checks (pylint)'
|
|
94
|
+
platform=
|
|
95
|
+
macos: darwin
|
|
96
|
+
linux: linux
|
|
97
|
+
|
|
98
|
+
deps =
|
|
99
|
+
pylint
|
|
100
|
+
-r requirements.txt
|
|
101
|
+
commands =
|
|
102
|
+
echo "Starting {envname}"
|
|
103
|
+
pylint --disable=R,C --reports=n {[local_settings]source_paths}
|
|
104
|
+
echo "Completed {envname}"
|
|
105
|
+
|
|
106
|
+
#
|
|
107
|
+
[testenv:format_black-py3{9,10,11,12,13}]
|
|
108
|
+
description = 'Run format compliance checks (black)'
|
|
109
|
+
platform=
|
|
110
|
+
macos: darwin
|
|
111
|
+
linux: linux
|
|
112
|
+
deps =
|
|
113
|
+
black>=19.10b0
|
|
114
|
+
-r requirements.txt
|
|
115
|
+
# isort>=4.3.20
|
|
116
|
+
commands =
|
|
117
|
+
echo "Starting {envname}"
|
|
118
|
+
black --check --line-length 180 {[local_settings]source_paths}
|
|
119
|
+
# isort -rc rcsb/utils --check-only
|
|
120
|
+
echo "Completed {envname}"
|
|
121
|
+
|
|
122
|
+
#
|
|
123
|
+
[testenv:test_coverage-py3{9,10,11,12,13}]
|
|
124
|
+
description = 'Run test coverage analysis'
|
|
125
|
+
platform=
|
|
126
|
+
macos: darwin
|
|
127
|
+
linux: linux
|
|
128
|
+
skip_install = false
|
|
129
|
+
recreate = true
|
|
130
|
+
#alwayscopy=true
|
|
131
|
+
usedevelop=true
|
|
132
|
+
deps =
|
|
133
|
+
coverage
|
|
134
|
+
-r requirements.txt
|
|
135
|
+
|
|
136
|
+
commands =
|
|
137
|
+
echo "Starting {envname}"
|
|
138
|
+
coverage erase
|
|
139
|
+
coverage run --parallel-mode --omit="{[local_settings]coverage_exclude_paths}" --source="{[local_settings]coverage_source_paths}" -m unittest discover -v --start-directory {[local_settings]test_path_1} --pattern "{[local_settings]test_pattern}"
|
|
140
|
+
coverage run --parallel-mode --omit="{[local_settings]coverage_exclude_paths}" --source="{[local_settings]coverage_source_paths}" -m unittest discover -v --start-directory {[local_settings]test_path_2} --pattern "{[local_settings]test_pattern}"
|
|
141
|
+
coverage run --parallel-mode --omit="{[local_settings]coverage_exclude_paths}" --source="{[local_settings]coverage_source_paths}" -m unittest discover -v --start-directory {[local_settings]test_path_3} --pattern "{[local_settings]test_pattern}"
|
|
142
|
+
coverage run --parallel-mode --omit="{[local_settings]coverage_exclude_paths}" --source="{[local_settings]coverage_source_paths}" -m unittest discover -v --start-directory {[local_settings]test_path_4} --pattern "{[local_settings]test_pattern}"
|
|
143
|
+
echo " ------- Consolidating {envname} data ----------"
|
|
144
|
+
coverage combine
|
|
145
|
+
echo " ------- Building {envname} reports ----------"
|
|
146
|
+
coverage report --fail-under={[local_settings]coverage_cutoff}
|
|
147
|
+
- coverage xml
|
|
148
|
+
echo "Completed {envname}"
|