Skip to content

Commit

Permalink
Merge pull request #143 from gregoil/update_django_version
Browse files Browse the repository at this point in the history
runs with django 1.11
  • Loading branch information
osherdp committed Jun 30, 2019
2 parents 2683c4d + f265f92 commit a013a32
Show file tree
Hide file tree
Showing 23 changed files with 180 additions and 80 deletions.
8 changes: 6 additions & 2 deletions .travis.yml
Expand Up @@ -7,11 +7,15 @@ stages:
if: tag IS present
python:
- '2.7'
- '3.5'
- '3.6'
- '3.7'
env:
- DJANGO=1.8
- DJANGO=1.9
- DJANGO=1.10
- DJANGO=1.11
install: pip install tox coveralls
script: tox -e $(echo py$TRAVIS_PYTHON_VERSION | tr -d .)
script: tox -e $(echo py$TRAVIS_PYTHON_VERSION | tr -d .)-django$DJANGO
after_success: coveralls
jobs:
include:
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Expand Up @@ -53,8 +53,8 @@ For our example, let's look at an example for a ``Calculator`` resource:
import os
import rpyc
from django.db import models
from rotest.management import base_resource
from rotest.management.models import resource_data
from rotest.management import base_resource
class CalculatorData(resource_data.ResourceData):
Expand Down
7 changes: 3 additions & 4 deletions appveyor.yml
@@ -1,9 +1,8 @@
environment:
matrix:
- TOXENV: "py27"
- TOXENV: "py35"
- TOXENV: "py36"
- TOXENV: "py37"
- TOXENV: "py27-django1.11"
- TOXENV: "py36-django1.11"
- TOXENV: "py37-django1.11"

build: off

Expand Down
7 changes: 7 additions & 0 deletions docs/conf.py
Expand Up @@ -31,6 +31,13 @@
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
from __future__ import absolute_import

import os
import django

os.environ['DJANGO_SETTINGS_MODULE'] = "rotest.common.django_utils.settings"
django.setup()

extensions = ['sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.napoleon']
Expand Down
82 changes: 47 additions & 35 deletions requirements.txt
@@ -1,61 +1,73 @@
astroid==1.6.5
atomicwrites==1.2.1
attrdict==2.0.0
attrs==18.2.0
astroid==1.6.6
atomicwrites==1.3.0
attrdict==2.0.1
attrs==19.1.0
backports.functools-lru-cache==1.5
backports.shutil-get-terminal-size==1.0.0
basicstruct==1.0.3
certifi==2018.11.29
cached-property==1.5.1
certifi==2019.6.16
chardet==3.0.4
colorama==0.4.1
configparser==3.5.0
coverage==4.5.2
decorator==4.3.0
Django==1.8.19
configparser==3.7.4
contextlib2==0.5.5
coverage==4.5.3
decorator==4.4.0
Django==1.11.21
docutils==0.14
entrypoints==0.3
enum34==1.1.6
flake8==3.6.0
flake8==3.7.7
funcsigs==1.0.2
functools32==3.2.3.post2
future==0.17.1
futures==3.2.0
idna==2.8
ipdb==0.11
ipdbugger==2.0.3
importlib-metadata==0.18
ipdb==0.12
ipdbugger==2.5.0
ipython==5.8.0
ipython-genutils==0.2.0
jsonschema==2.6.0
lazy-object-proxy==1.3.1
isort==4.3.21
jsonschema==3.0.1
lazy-object-proxy==1.4.1
mccabe==0.6.1
mock==2.0.0
mock==3.0.5
more-itertools==5.0.0
pathlib2==2.3.3
pbr==5.1.1
pexpect==4.6.0
packaging==19.0
pathlib2==2.3.4
pexpect==4.7.0
pickleshare==0.7.5
pluggy==0.8.1
prompt-toolkit==1.0.15
psutil==5.4.8
pluggy==0.12.0
prompt-toolkit==1.0.16
psutil==5.6.3
ptyprocess==0.6.0
py==1.7.0
pycodestyle==2.4.0
pyfakefs==3.5.6
pyflakes==2.0.0
Pygments==2.3.1
py==1.8.0
pycodestyle==2.5.0
pyfakefs==3.5.8
pyflakes==2.1.1
Pygments==2.4.2
pylint==1.9.4
pytest==4.1.1
pytest-cov==2.6.1
pytest-django==3.4.5
PyYAML==3.13
requests==2.21.0
scandir==1.9.0
pyparsing==2.4.0
pyrsistent==0.15.2
pytest==4.6.3
pytest-cov==2.7.1
pytest-django==3.5.0
pytz==2019.1
PyYAML==5.1.1
requests==2.22.0
scandir==1.10.0
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.12.0
swaggapi==0.6.5
statistics==1.0.3.5
swaggapi==0.6.7
termcolor==1.1.0
traitlets==4.3.2
urllib3==1.24.1
typing==3.7.4
urllib3==1.25.3
wcwidth==0.1.7
wrapt==1.11.0
wrapt==1.11.2
xlrd==1.2.0
xlwt==1.3.0
zipp==0.5.1
14 changes: 9 additions & 5 deletions setup.py
Expand Up @@ -3,7 +3,7 @@
from setuptools import setup, find_packages


__version__ = "7.6.0"
__version__ = "7.7.0"

result_handlers = [
"db = rotest.core.result.handlers.db_handler:DBHandler",
Expand Down Expand Up @@ -34,7 +34,7 @@
url="https://github.com/gregoil/rotest",
keywords="testing system django unittest",
install_requires=[
'django>=1.8,<1.9',
'django>=1.8,<2.0',
'py',
'ipdbugger>=2.5',
'xlwt',
Expand All @@ -46,7 +46,7 @@
'jsonschema',
'basicstruct',
'future',
'swaggapi>=0.6.5',
'swaggapi>=0.6.7',
'cached_property',
],
extras_require={
Expand All @@ -63,7 +63,7 @@
"pylint",
]
},
python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*",
python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*",
entry_points={
"console_scripts": [
"rotest = rotest.cli.main:main"
Expand All @@ -83,9 +83,13 @@
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Framework :: Django',
'Framework :: Django :: 1.8',
'Framework :: Django :: 1.9',
'Framework :: Django :: 1.10',
'Framework :: Django :: 1.11',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: Unix',
Expand Down
2 changes: 1 addition & 1 deletion src/rotest/api/resource_control/release_resources.py
Expand Up @@ -9,7 +9,7 @@
from swaggapi.api.builder.server.exceptions import BadRequest
from swaggapi.api.builder.server.request import DjangoRequestView

from rotest.management import ResourceData
from rotest.management.models import ResourceData
from rotest.management.common.utils import get_username
from rotest.common.django_utils.common import get_sub_model
from rotest.api.common.models import ReleaseResourcesParamsModel
Expand Down
3 changes: 1 addition & 2 deletions src/rotest/api/urls.py
@@ -1,7 +1,6 @@
"""URLs of all the django views."""
# pylint: disable=unused-argument, no-self-use
from __future__ import absolute_import
from django.conf.urls import patterns

from swaggapi.build import Swagger
from swaggapi.api.openapi.models import Info, License, Tag
Expand Down Expand Up @@ -65,4 +64,4 @@
swagger = Swagger(info, mount_url="api", requests=requests, tags=tags)


urlpatterns = patterns("", *swagger.get_django_urls())
urlpatterns = swagger.get_django_urls()
8 changes: 4 additions & 4 deletions src/rotest/cli/client.py
Expand Up @@ -39,7 +39,7 @@
Specify resources to request by attributes,
e.g. '-r res1.group=QA,res2.comment=CI'.
"""
# pylint: disable=unused-argument,cell-var-from-loop
# pylint: disable=unused-argument,cell-var-from-loop,wrong-import-position
# pylint: disable=too-many-arguments,too-many-locals,redefined-builtin
from __future__ import print_function
from __future__ import absolute_import
Expand All @@ -53,7 +53,9 @@
import pkg_resources
from attrdict import AttrDict

from rotest.core import TestSuite
django.setup() # noqa

from rotest.core.suite import TestSuite
from rotest.common import core_log
from rotest.core.filter import match_tags
from rotest.core.utils.common import print_test_hierarchy
Expand Down Expand Up @@ -201,8 +203,6 @@ def main(*tests):
Args:
*tests: either suites or tests to be run.
"""
django.setup()

parser = create_client_options_parser()
arguments = parser.parse_args()

Expand Down
3 changes: 2 additions & 1 deletion src/rotest/cli/discover.py
Expand Up @@ -8,7 +8,8 @@
import py

from rotest.common import core_log
from rotest.core import TestCase, TestFlow
from rotest.core.case import TestCase
from rotest.core.flow import TestFlow
from rotest.common.config import DISCOVERER_BLACKLIST


Expand Down
4 changes: 4 additions & 0 deletions src/rotest/cli/main.py
@@ -1,7 +1,11 @@
#!/usr/bin/env python
# pylint: disable=wrong-import-position
from __future__ import absolute_import
import sys

import django
django.setup() # noqa

from rotest.cli.client import main as run
from rotest.cli.server import start_server
from rotest.management.utils.shell import main as shell
Expand Down
3 changes: 3 additions & 0 deletions src/rotest/common/django_utils/settings.py
Expand Up @@ -27,6 +27,9 @@
'HOST': '',
'PORT': '',
'TEST_NAME': 'test_rotest_db',
'TEST': {
'NAME': 'test_rotest_db'
}
},

}
Expand Down
53 changes: 43 additions & 10 deletions src/rotest/core/__init__.py
@@ -1,10 +1,43 @@
from .case import TestCase
from .block import TestBlock
from .suite import TestSuite
from .abstract_test import request
from .flow import TestFlow, create_flow
from .flow_component import (MODE_CRITICAL, MODE_FINALLY, MODE_OPTIONAL,
Pipe, BlockInput, BlockOutput)
from .result.monitor.monitor import (AbstractMonitor, AbstractResourceMonitor,
require_attr, skip_if_case, skip_if_flow,
skip_if_block, skip_if_not_main)
# pylint: disable=too-many-locals
from django.apps import AppConfig


class CoreConfig(AppConfig):
name = "rotest.core"

def ready(self):
from .case import TestCase
from .flow import TestFlow, create_flow
from .block import TestBlock
from .suite import TestSuite
from .abstract_test import request
from .flow_component import (MODE_CRITICAL, MODE_FINALLY, MODE_OPTIONAL,
Pipe, BlockInput, BlockOutput)
from .result.monitor.monitor import (AbstractMonitor,
AbstractResourceMonitor,
require_attr, skip_if_case,
skip_if_flow,
skip_if_block, skip_if_not_main)
import rotest
rotest.core.TestCase = TestCase
rotest.core.TestFlow = TestFlow
rotest.core.create_flow = create_flow
rotest.core.TestBlock = TestBlock
rotest.core.TestSuite = TestSuite
rotest.core.request = request
rotest.core.MODE_CRITICAL = MODE_CRITICAL
rotest.core.MODE_FINALLY = MODE_FINALLY
rotest.core.MODE_OPTIONAL = MODE_OPTIONAL
rotest.core.Pipe = Pipe
rotest.core.BlockInput = BlockInput
rotest.core.BlockOutput = BlockOutput
rotest.core.AbstractMonitor = AbstractMonitor
rotest.core.AbstractResourceMonitor = AbstractResourceMonitor
rotest.core.require_attr = require_attr
rotest.core.skip_if_case = skip_if_case
rotest.core.skip_if_flow = skip_if_flow
rotest.core.skip_if_block = skip_if_block
rotest.core.skip_if_not_main = skip_if_not_main


default_app_config = "rotest.core.CoreConfig"
1 change: 1 addition & 0 deletions src/rotest/core/abstract_test.py
Expand Up @@ -420,6 +420,7 @@ def addSuccess(self, msg):

def create_expect_method(method_name):
original_assert = getattr(unittest.TestCase, method_name)

@wraps(original_assert)
def extended_assert(self, *args, **kwargs):
success_msg = kwargs.pop("success_msg", None)
Expand Down
2 changes: 1 addition & 1 deletion src/rotest/core/result/handlers/remote_db_handler.py
@@ -1,7 +1,7 @@
"""Remote database result handler."""
from __future__ import absolute_import

from rotest.core import TestCase
from rotest.core.case import TestCase
from rotest.core.models.case_data import TestOutcome
from rotest.management.client.result_client import ClientResultManager
from rotest.core.result.handlers.abstract_handler import AbstractResultHandler
Expand Down
2 changes: 1 addition & 1 deletion src/rotest/core/result/handlers/signature_handler.py
@@ -1,7 +1,7 @@
"""Known issues result handler."""
from __future__ import absolute_import

from rotest.core import skip_if_not_main
from rotest.core.result.monitor.monitor import skip_if_not_main
from rotest.core.result.handlers.stream.base_handler import BaseStreamHandler
from rotest.management.client.signatures_client import ClientSignatureManager

Expand Down
6 changes: 5 additions & 1 deletion src/rotest/core/runner.py
Expand Up @@ -13,9 +13,13 @@
from rotest.common.utils import get_class_fields
from rotest.core.runners.base_runner import BaseTestRunner
from rotest.management.base_resource import ResourceRequest
from rotest.core import TestCase, TestFlow, TestBlock, TestSuite
from rotest.core.runners.multiprocess.manager.runner import MultiprocessRunner

from .case import TestCase
from .flow import TestFlow
from .block import TestBlock
from .suite import TestSuite

LAST_RUN_INDEX = -1
MINIMUM_TIMES_TO_RUN = 1
FILE_FOLDER = os.path.dirname(__file__)
Expand Down

0 comments on commit a013a32

Please sign in to comment.