summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarragh Bailey <dbailey@hp.com>2014-11-10 13:07:55 +0000
committerWayne Warren <waynr+launchpad@sdf.org>2015-12-23 15:23:42 -0800
commit8805a34c0ff71cda61498ec1d7df03ab2835943d (patch)
tree274bfc68cfbc41e9f209a28bf01feb35326e0d6e
parent245f643522da0236254bb14f055df5cbb571938f (diff)
downloadpython-jenkins-job-builder-8805a34c0ff71cda61498ec1d7df03ab2835943d.tar.gz
python-jenkins-job-builder-8805a34c0ff71cda61498ec1d7df03ab2835943d.tar.xz
python-jenkins-job-builder-8805a34c0ff71cda61498ec1d7df03ab2835943d.zip
Reorder imports to match hacking guidelines
Ensure that the imports follow the standard OpenStack hacking guidelines. Change-Id: Iaa4326aef118ddfd807dd006934f1d9ca80a1cfa
-rw-r--r--jenkins_jobs/builder.py16
-rwxr-xr-xjenkins_jobs/cmd.py10
-rw-r--r--jenkins_jobs/local_yaml.py4
-rw-r--r--jenkins_jobs/modules/builders.py14
-rw-r--r--jenkins_jobs/modules/general.py1
-rw-r--r--jenkins_jobs/modules/helpers.py9
-rw-r--r--jenkins_jobs/modules/hipchat_notif.py11
-rw-r--r--jenkins_jobs/modules/metadata.py2
-rw-r--r--jenkins_jobs/modules/notifications.py3
-rw-r--r--jenkins_jobs/modules/parameters.py4
-rw-r--r--jenkins_jobs/modules/project_externaljob.py2
-rw-r--r--jenkins_jobs/modules/project_flow.py1
-rw-r--r--jenkins_jobs/modules/project_freestyle.py2
-rw-r--r--jenkins_jobs/modules/project_matrix.py2
-rwxr-xr-xjenkins_jobs/modules/project_maven.py5
-rw-r--r--jenkins_jobs/modules/project_multijob.py2
-rw-r--r--jenkins_jobs/modules/project_workflow.py2
-rw-r--r--jenkins_jobs/modules/properties.py7
-rw-r--r--jenkins_jobs/modules/publishers.py29
-rw-r--r--jenkins_jobs/modules/reporters.py4
-rw-r--r--jenkins_jobs/modules/scm.py7
-rw-r--r--jenkins_jobs/modules/triggers.py14
-rw-r--r--jenkins_jobs/modules/wrappers.py13
-rw-r--r--jenkins_jobs/parser.py4
-rw-r--r--jenkins_jobs/sphinx/yaml.py8
-rw-r--r--tests/base.py36
-rw-r--r--tests/builder/test_builder.py1
-rw-r--r--tests/builders/test_builders.py7
-rw-r--r--tests/cmd/subcommands/test_delete.py1
-rw-r--r--tests/cmd/subcommands/test_update.py2
-rw-r--r--tests/cmd/test_cmd.py5
-rw-r--r--tests/duplicates/test_duplicates.py5
-rw-r--r--tests/errors/test_exceptions.py3
-rw-r--r--tests/general/test_general.py7
-rw-r--r--tests/hipchat/test_hipchat.py5
-rw-r--r--tests/jsonparser/test_jsonparser.py7
-rw-r--r--tests/localyaml/test_localyaml.py7
-rw-r--r--tests/macros/test_macros.py7
-rw-r--r--tests/moduleregistry/test_moduleregistry.py8
-rw-r--r--tests/notifications/test_notifications.py7
-rw-r--r--tests/parameters/test_parameters.py5
-rw-r--r--tests/properties/test_properties.py7
-rw-r--r--tests/publishers/test_publishers.py5
-rw-r--r--tests/reporters/test_reporters.py7
-rw-r--r--tests/scm/test_scm.py7
-rw-r--r--tests/triggers/test_triggers.py7
-rw-r--r--tests/wrappers/test_wrappers.py7
-rw-r--r--tests/yamlparser/test_yamlparser.py7
48 files changed, 208 insertions, 128 deletions
diff --git a/jenkins_jobs/builder.py b/jenkins_jobs/builder.py
index c9c4edf1..a6df6a0f 100644
--- a/jenkins_jobs/builder.py
+++ b/jenkins_jobs/builder.py
@@ -16,23 +16,25 @@
# Manage jobs in Jenkins server
import errno
+import hashlib
import io
-import os
+import logging
import operator
-import hashlib
-import yaml
-import xml.etree.ElementTree as XML
-import jenkins
-import re
+import os
from pprint import pformat
-import logging
+import re
import time
+import xml.etree.ElementTree as XML
+import yaml
+
+import jenkins
from jenkins_jobs.constants import MAGIC_MANAGE_STRING
from jenkins_jobs.parallel import parallelize
from jenkins_jobs.parser import YamlParser
from jenkins_jobs import utils
+
logger = logging.getLogger(__name__)
_DEFAULT_TIMEOUT = object()
diff --git a/jenkins_jobs/cmd.py b/jenkins_jobs/cmd.py
index 0f82251a..584e07b8 100755
--- a/jenkins_jobs/cmd.py
+++ b/jenkins_jobs/cmd.py
@@ -14,18 +14,22 @@
# under the License.
import argparse
-import io
-from six.moves import configparser, StringIO, input
import fnmatch
+import io
import logging
import os
import platform
import sys
import yaml
-import jenkins_jobs.version
+
+from six.moves import configparser
+from six.moves import input
+from six.moves import StringIO
from jenkins_jobs.builder import Builder
from jenkins_jobs.errors import JenkinsJobsException
+import jenkins_jobs.version
+
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
diff --git a/jenkins_jobs/local_yaml.py b/jenkins_jobs/local_yaml.py
index 97afa472..5cb78820 100644
--- a/jenkins_jobs/local_yaml.py
+++ b/jenkins_jobs/local_yaml.py
@@ -95,8 +95,9 @@ character.
import functools
import io
import logging
-import re
import os
+import re
+
import yaml
from yaml.constructor import BaseConstructor
from yaml import YAMLObject
@@ -106,6 +107,7 @@ try:
except ImportError:
from ordereddict import OrderedDict
+
logger = logging.getLogger(__name__)
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index b66bec5c..fa775a32 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -36,21 +36,21 @@ Example::
"""
-
+import logging
import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
+from jenkins_jobs.errors import MissingAttributeError
import jenkins_jobs.modules.base
-from jenkins_jobs.modules import hudson_model
from jenkins_jobs.modules.helpers import cloudformation_init
from jenkins_jobs.modules.helpers import cloudformation_region_dict
from jenkins_jobs.modules.helpers import cloudformation_stack
from jenkins_jobs.modules.helpers import config_file_provider_builder
from jenkins_jobs.modules.helpers import config_file_provider_settings
-from jenkins_jobs.modules.helpers import copyartifact_build_selector
from jenkins_jobs.modules.helpers import convert_mapping_to_xml
-from jenkins_jobs.errors import (JenkinsJobsException,
- MissingAttributeError,
- InvalidAttributeError)
-import logging
+from jenkins_jobs.modules.helpers import copyartifact_build_selector
+from jenkins_jobs.modules import hudson_model
logger = logging.getLogger(__name__)
diff --git a/jenkins_jobs/modules/general.py b/jenkins_jobs/modules/general.py
index b3da37d8..2ba890f2 100644
--- a/jenkins_jobs/modules/general.py
+++ b/jenkins_jobs/modules/general.py
@@ -102,6 +102,7 @@ Example:
"""
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
from jenkins_jobs.xml_config import remove_ignorable_whitespace
diff --git a/jenkins_jobs/modules/helpers.py b/jenkins_jobs/modules/helpers.py
index 15844a6a..6e12a3fb 100644
--- a/jenkins_jobs/modules/helpers.py
+++ b/jenkins_jobs/modules/helpers.py
@@ -12,13 +12,14 @@
# License for the specific language governing permissions and limitations
# under the License.
-import xml.etree.ElementTree as XML
import logging
+import xml.etree.ElementTree as XML
from six.moves import configparser
-from jenkins_jobs.errors import (JenkinsJobsException,
- MissingAttributeError,
- InvalidAttributeError)
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
+from jenkins_jobs.errors import MissingAttributeError
def build_trends_publisher(plugin_name, xml_element, data):
diff --git a/jenkins_jobs/modules/hipchat_notif.py b/jenkins_jobs/modules/hipchat_notif.py
index 18e1202c..15d7a9b8 100644
--- a/jenkins_jobs/modules/hipchat_notif.py
+++ b/jenkins_jobs/modules/hipchat_notif.py
@@ -68,13 +68,16 @@ Example:
# The global config object is therefore passed down to the registry object,
# and this object is passed to the HipChat() class initialiser.
-import xml.etree.ElementTree as XML
-import jenkins_jobs.modules.base
-import jenkins_jobs.errors
import logging
import pkg_resources
-from six.moves import configparser
import sys
+import xml.etree.ElementTree as XML
+
+from six.moves import configparser
+
+import jenkins_jobs.errors
+import jenkins_jobs.modules.base
+
logger = logging.getLogger(__name__)
diff --git a/jenkins_jobs/modules/metadata.py b/jenkins_jobs/modules/metadata.py
index 404dbdb1..bd98d5ed 100644
--- a/jenkins_jobs/modules/metadata.py
+++ b/jenkins_jobs/modules/metadata.py
@@ -31,8 +31,8 @@ Example::
expose-to-env: true
"""
-
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
diff --git a/jenkins_jobs/modules/notifications.py b/jenkins_jobs/modules/notifications.py
index 000a3451..34103bfe 100644
--- a/jenkins_jobs/modules/notifications.py
+++ b/jenkins_jobs/modules/notifications.py
@@ -25,8 +25,9 @@ Jenkins notification plugin.
"""
import xml.etree.ElementTree as XML
-import jenkins_jobs.modules.base
+
from jenkins_jobs.errors import JenkinsJobsException
+import jenkins_jobs.modules.base
def http_endpoint(parser, xml_parent, data):
diff --git a/jenkins_jobs/modules/parameters.py b/jenkins_jobs/modules/parameters.py
index 1eac9774..8a914d1b 100644
--- a/jenkins_jobs/modules/parameters.py
+++ b/jenkins_jobs/modules/parameters.py
@@ -32,11 +32,11 @@ Example::
description: "A parameter named FOO, defaults to 'bar'."
"""
-
import xml.etree.ElementTree as XML
-import jenkins_jobs.modules.base
+
from jenkins_jobs.errors import JenkinsJobsException
from jenkins_jobs.errors import MissingAttributeError
+import jenkins_jobs.modules.base
from jenkins_jobs.modules.helpers import copyartifact_build_selector
diff --git a/jenkins_jobs/modules/project_externaljob.py b/jenkins_jobs/modules/project_externaljob.py
index 20949650..8839c260 100644
--- a/jenkins_jobs/modules/project_externaljob.py
+++ b/jenkins_jobs/modules/project_externaljob.py
@@ -31,8 +31,8 @@ Example:
"""
-
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
diff --git a/jenkins_jobs/modules/project_flow.py b/jenkins_jobs/modules/project_flow.py
index de652f9e..1ba63791 100644
--- a/jenkins_jobs/modules/project_flow.py
+++ b/jenkins_jobs/modules/project_flow.py
@@ -50,6 +50,7 @@ Job example runninng a DSL file from the workspace:
"""
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
diff --git a/jenkins_jobs/modules/project_freestyle.py b/jenkins_jobs/modules/project_freestyle.py
index cc9a7c7c..cdc133d8 100644
--- a/jenkins_jobs/modules/project_freestyle.py
+++ b/jenkins_jobs/modules/project_freestyle.py
@@ -27,8 +27,8 @@ Example::
project-type: freestyle
"""
-
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
diff --git a/jenkins_jobs/modules/project_matrix.py b/jenkins_jobs/modules/project_matrix.py
index b22e9ace..c46182a9 100644
--- a/jenkins_jobs/modules/project_matrix.py
+++ b/jenkins_jobs/modules/project_matrix.py
@@ -69,8 +69,8 @@ Example:
"""
-
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
diff --git a/jenkins_jobs/modules/project_maven.py b/jenkins_jobs/modules/project_maven.py
index 483fd6f6..dc1fade8 100755
--- a/jenkins_jobs/modules/project_maven.py
+++ b/jenkins_jobs/modules/project_maven.py
@@ -76,10 +76,11 @@ CFP Example:
"""
import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import InvalidAttributeError
import jenkins_jobs.modules.base
-from jenkins_jobs.modules import hudson_model
from jenkins_jobs.modules.helpers import config_file_provider_settings
-from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.modules import hudson_model
class Maven(jenkins_jobs.modules.base.Base):
diff --git a/jenkins_jobs/modules/project_multijob.py b/jenkins_jobs/modules/project_multijob.py
index 74ebc6d6..63c21e4e 100644
--- a/jenkins_jobs/modules/project_multijob.py
+++ b/jenkins_jobs/modules/project_multijob.py
@@ -50,8 +50,8 @@ Example::
current-parameters: false
"""
-
import xml.etree.ElementTree as XML
+
import jenkins_jobs.modules.base
diff --git a/jenkins_jobs/modules/project_workflow.py b/jenkins_jobs/modules/project_workflow.py
index 09d02621..ac4bb002 100644
--- a/jenkins_jobs/modules/project_workflow.py
+++ b/jenkins_jobs/modules/project_workflow.py
@@ -47,8 +47,8 @@ Job template example:
"""
import xml.etree.ElementTree as XML
-import jenkins_jobs.modules.base
from jenkins_jobs.errors import MissingAttributeError
+import jenkins_jobs.modules.base
class Workflow(jenkins_jobs.modules.base.Base):
diff --git a/jenkins_jobs/modules/properties.py b/jenkins_jobs/modules/properties.py
index fc367758..f14af6a2 100644
--- a/jenkins_jobs/modules/properties.py
+++ b/jenkins_jobs/modules/properties.py
@@ -31,11 +31,12 @@ Example::
url: https://github.com/openstack-infra/jenkins-job-builder/
"""
-
+import logging
import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
import jenkins_jobs.modules.base
-from jenkins_jobs.errors import InvalidAttributeError, JenkinsJobsException
-import logging
def builds_chain_fingerprinter(parser, xml_parent, data):
diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index e2880fd8..1628374b 100644
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -25,10 +25,22 @@ the build is complete.
:Entry Point: jenkins_jobs.publishers
"""
-
+import logging
+import pkg_resources
+import random
+import sys
import xml.etree.ElementTree as XML
+
+import six
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
+from jenkins_jobs.errors import MissingAttributeError
import jenkins_jobs.modules.base
-from jenkins_jobs.modules import hudson_model
+from jenkins_jobs.modules.helpers import artifactory_common_details
+from jenkins_jobs.modules.helpers import artifactory_deployment_patterns
+from jenkins_jobs.modules.helpers import artifactory_env_vars_patterns
+from jenkins_jobs.modules.helpers import artifactory_optional_props
from jenkins_jobs.modules.helpers import build_trends_publisher
from jenkins_jobs.modules.helpers import cloudformation_init
from jenkins_jobs.modules.helpers import cloudformation_region_dict
@@ -36,18 +48,7 @@ from jenkins_jobs.modules.helpers import cloudformation_stack
from jenkins_jobs.modules.helpers import config_file_provider_settings
from jenkins_jobs.modules.helpers import findbugs_settings
from jenkins_jobs.modules.helpers import get_value_from_yaml_or_config_file
-from jenkins_jobs.modules.helpers import artifactory_deployment_patterns
-from jenkins_jobs.modules.helpers import artifactory_env_vars_patterns
-from jenkins_jobs.modules.helpers import artifactory_optional_props
-from jenkins_jobs.modules.helpers import artifactory_common_details
-from jenkins_jobs.errors import (InvalidAttributeError,
- JenkinsJobsException,
- MissingAttributeError)
-import logging
-import pkg_resources
-import sys
-import six
-import random
+from jenkins_jobs.modules import hudson_model
def archive(parser, xml_parent, data):
diff --git a/jenkins_jobs/modules/reporters.py b/jenkins_jobs/modules/reporters.py
index 5cc813fe..29157e69 100644
--- a/jenkins_jobs/modules/reporters.py
+++ b/jenkins_jobs/modules/reporters.py
@@ -31,12 +31,12 @@ Example::
recipients: breakage@example.com
"""
-
import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import JenkinsJobsException
import jenkins_jobs.modules.base
from jenkins_jobs.modules.helpers import build_trends_publisher
from jenkins_jobs.modules.helpers import findbugs_settings
-from jenkins_jobs.errors import JenkinsJobsException
def email(parser, xml_parent, data):
diff --git a/jenkins_jobs/modules/scm.py b/jenkins_jobs/modules/scm.py
index fc5ecc24..07eb414c 100644
--- a/jenkins_jobs/modules/scm.py
+++ b/jenkins_jobs/modules/scm.py
@@ -38,11 +38,12 @@ Example of an empty ``scm``:
import logging
import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
+from jenkins_jobs.errors import MissingAttributeError
import jenkins_jobs.modules.base
from jenkins_jobs.modules.helpers import convert_mapping_to_xml
-from jenkins_jobs.errors import (InvalidAttributeError,
- JenkinsJobsException,
- MissingAttributeError)
def git(parser, xml_parent, data):
diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py
index 4c95d9c8..276164fb 100644
--- a/jenkins_jobs/modules/triggers.py
+++ b/jenkins_jobs/modules/triggers.py
@@ -29,16 +29,18 @@ Example::
- timed: '@daily'
"""
+import logging
+import re
+import xml.etree.ElementTree as XML
import six
-import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
+from jenkins_jobs.errors import MissingAttributeError
import jenkins_jobs.modules.base
from jenkins_jobs.modules import hudson_model
-from jenkins_jobs.errors import (InvalidAttributeError,
- JenkinsJobsException,
- MissingAttributeError)
-import logging
-import re
+
try:
from collections import OrderedDict
except ImportError:
diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py
index 6d12000d..a2c6ab1c 100644
--- a/jenkins_jobs/modules/wrappers.py
+++ b/jenkins_jobs/modules/wrappers.py
@@ -23,19 +23,20 @@ Wrappers can alter the way the build is run as well as the build output.
"""
import logging
-import xml.etree.ElementTree as XML
import pkg_resources
+import xml.etree.ElementTree as XML
+
+from jenkins_jobs.errors import InvalidAttributeError
+from jenkins_jobs.errors import JenkinsJobsException
+from jenkins_jobs.errors import MissingAttributeError
import jenkins_jobs.modules.base
-from jenkins_jobs.errors import (JenkinsJobsException,
- InvalidAttributeError,
- MissingAttributeError)
from jenkins_jobs.modules.builders import create_builders
-from jenkins_jobs.modules.helpers import config_file_provider_builder
from jenkins_jobs.modules.helpers import artifactory_common_details
-from jenkins_jobs.modules.helpers import artifactory_repository
from jenkins_jobs.modules.helpers import artifactory_deployment_patterns
from jenkins_jobs.modules.helpers import artifactory_env_vars_patterns
from jenkins_jobs.modules.helpers import artifactory_optional_props
+from jenkins_jobs.modules.helpers import artifactory_repository
+from jenkins_jobs.modules.helpers import config_file_provider_builder
logger = logging.getLogger(__name__)
diff --git a/jenkins_jobs/parser.py b/jenkins_jobs/parser.py
index 40258d23..48b21b58 100644
--- a/jenkins_jobs/parser.py
+++ b/jenkins_jobs/parser.py
@@ -22,11 +22,11 @@ import itertools
import logging
import pkg_resources
-import jenkins_jobs.local_yaml as local_yaml
from jenkins_jobs.constants import MAGIC_MANAGE_STRING
from jenkins_jobs.errors import JenkinsJobsException
-from jenkins_jobs.registry import ModuleRegistry
from jenkins_jobs.formatter import deep_format
+import jenkins_jobs.local_yaml as local_yaml
+from jenkins_jobs.registry import ModuleRegistry
from jenkins_jobs import utils
from jenkins_jobs.xml_config import XmlJob
diff --git a/jenkins_jobs/sphinx/yaml.py b/jenkins_jobs/sphinx/yaml.py
index 93fdc968..d12fa580 100644
--- a/jenkins_jobs/sphinx/yaml.py
+++ b/jenkins_jobs/sphinx/yaml.py
@@ -20,11 +20,15 @@
# :license: BSD, see LICENSE for details.
import re
-from sphinx.ext.autodoc import Documenter, FunctionDocumenter
-from sphinx.domains.python import PyModulelevel, _pseudo_parse_arglist
+
from sphinx import addnodes
+from sphinx.domains.python import _pseudo_parse_arglist
+from sphinx.domains.python import PyModulelevel
+from sphinx.ext.autodoc import Documenter
+from sphinx.ext.autodoc import FunctionDocumenter
from sphinx.locale import _
+
yaml_sig_re = re.compile('yaml:\s*(.*)')
diff --git a/tests/base.py b/tests/base.py
index 662a1170..d97d0feb 100644
--- a/tests/base.py
+++ b/tests/base.py
@@ -17,20 +17,32 @@
# License for the specific language governing permissions and limitations
# under the License.
-import io
-import os
-import re
import doctest
-import logging
-import fixtures
+import io
import json
+import logging
import operator
-import testtools
-from testtools.content import text_content
+import os
+import re
import xml.etree.ElementTree as XML
+
+import fixtures
from six.moves import configparser
from six.moves import StringIO
+import testtools
+from testtools.content import text_content
from yaml import safe_dump
+
+from jenkins_jobs.cmd import DEFAULT_CONF
+import jenkins_jobs.local_yaml as yaml
+from jenkins_jobs.modules import project_externaljob
+from jenkins_jobs.modules import project_flow
+from jenkins_jobs.modules import project_matrix
+from jenkins_jobs.modules import project_maven
+from jenkins_jobs.modules import project_multijob
+from jenkins_jobs.parser import YamlParser
+from jenkins_jobs.xml_config import XmlJob
+
# This dance deals with the fact that we want unittest.mock if
# we're on Python 3.4 and later, and non-stdlib mock otherwise.
try:
@@ -38,16 +50,6 @@ try:
except ImportError:
import mock # noqa
-from jenkins_jobs.cmd import DEFAULT_CONF
-import jenkins_jobs.local_yaml as yaml
-from jenkins_jobs.parser import YamlParser
-from jenkins_jobs.xml_config import XmlJob
-from jenkins_jobs.modules import (project_flow,
- project_matrix,
- project_maven,
- project_multijob,
- project_externaljob)
-
def get_scenarios(fixtures_path, in_ext='yaml', out_ext='xml',
plugins_info_ext='plugins_info.yaml',
diff --git a/tests/builder/test_builder.py b/tests/builder/test_builder.py
index c6b5ed11..6a0bb94f 100644
--- a/tests/builder/test_builder.py
+++ b/tests/builder/test_builder.py
@@ -14,7 +14,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-
import jenkins_jobs.builder
from tests.base import LoggingFixture
from tests.base import mock
diff --git a/tests/builders/test_builders.py b/tests/builders/test_builders.py
index 6ec961ef..191c953a 100644
--- a/tests/builders/test_builders.py
+++ b/tests/builders/test_builders.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import builders
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleBuilders(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/cmd/subcommands/test_delete.py b/tests/cmd/subcommands/test_delete.py
index 0bc57c6b..3f60649a 100644
--- a/tests/cmd/subcommands/test_delete.py
+++ b/tests/cmd/subcommands/test_delete.py
@@ -1,4 +1,5 @@
import os
+
from jenkins_jobs import cmd
from tests.base import mock
from tests.cmd.test_cmd import CmdTestsBase
diff --git a/tests/cmd/subcommands/test_update.py b/tests/cmd/subcommands/test_update.py
index f9919d8b..62b9f490 100644
--- a/tests/cmd/subcommands/test_update.py
+++ b/tests/cmd/subcommands/test_update.py
@@ -17,8 +17,8 @@
import os
import six
-from jenkins_jobs import cmd
from jenkins_jobs import builder
+from jenkins_jobs import cmd
from tests.base import mock
from tests.cmd.test_cmd import CmdTestsBase
diff --git a/tests/cmd/test_cmd.py b/tests/cmd/test_cmd.py
index 610b546e..eb55b668 100644
--- a/tests/cmd/test_cmd.py
+++ b/tests/cmd/test_cmd.py
@@ -1,6 +1,9 @@
import os
-from six.moves import configparser, StringIO
+
+from six.moves import configparser
+from six.moves import StringIO
import testtools
+
from jenkins_jobs import cmd
from tests.base import LoggingFixture
from tests.base import mock
diff --git a/tests/duplicates/test_duplicates.py b/tests/duplicates/test_duplicates.py
index 74edc6c4..ee6a6d37 100644
--- a/tests/duplicates/test_duplicates.py
+++ b/tests/duplicates/test_duplicates.py
@@ -15,13 +15,14 @@
import os
-from testtools import TestCase, ExpectedException
from testscenarios.testcase import TestWithScenarios
+from testtools import ExpectedException
+from testtools import TestCase
from jenkins_jobs.errors import JenkinsJobsException
-from tests.base import SingleJobTestCase
from tests.base import get_scenarios
from tests.base import mock
+from tests.base import SingleJobTestCase
class TestCaseModuleDuplicates(TestWithScenarios,
diff --git a/tests/errors/test_exceptions.py b/tests/errors/test_exceptions.py
index f4b2dff4..c8e016db 100644
--- a/tests/errors/test_exceptions.py
+++ b/tests/errors/test_exceptions.py
@@ -1,4 +1,5 @@
-from testtools import ExpectedException, TestCase
+from testtools import ExpectedException
+from testtools import TestCase
from jenkins_jobs import errors
from tests.base import LoggingFixture
diff --git a/tests/general/test_general.py b/tests/general/test_general.py
index dc7d9698..2f4294af 100644
--- a/tests/general/test_general.py
+++ b/tests/general/test_general.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import general
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleGeneral(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/hipchat/test_hipchat.py b/tests/hipchat/test_hipchat.py
index a3b4355a..2541c248 100644
--- a/tests/hipchat/test_hipchat.py
+++ b/tests/hipchat/test_hipchat.py
@@ -13,10 +13,13 @@
# under the License.
import os
+
from testscenarios.testcase import TestWithScenarios
from testtools import TestCase
+
from jenkins_jobs.modules import hipchat_notif
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModulePublishers(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/jsonparser/test_jsonparser.py b/tests/jsonparser/test_jsonparser.py
index 776549c4..4ed4727f 100644
--- a/tests/jsonparser/test_jsonparser.py
+++ b/tests/jsonparser/test_jsonparser.py
@@ -16,9 +16,12 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
-from tests.base import get_scenarios, SingleJobTestCase
+from testtools import TestCase
+
+from tests.base import get_scenarios
+from tests.base import SingleJobTestCase
class TestCaseModuleJsonParser(TestWithScenarios,
diff --git a/tests/localyaml/test_localyaml.py b/tests/localyaml/test_localyaml.py
index 972bbe54..57c07f3c 100644
--- a/tests/localyaml/test_localyaml.py
+++ b/tests/localyaml/test_localyaml.py
@@ -15,14 +15,17 @@
# under the License.
import os
+
+from testscenarios.testcase import TestWithScenarios
from testtools import ExpectedException
from testtools import TestCase
-from testscenarios.testcase import TestWithScenarios
from yaml.composer import ComposerError
from jenkins_jobs import builder
-from tests.base import get_scenarios, JsonTestCase, YamlTestCase
+from tests.base import get_scenarios
+from tests.base import JsonTestCase
from tests.base import LoggingFixture
+from tests.base import YamlTestCase
def _exclude_scenarios(input_filename):
diff --git a/tests/macros/test_macros.py b/tests/macros/test_macros.py
index 9fc8ef5c..776c7875 100644
--- a/tests/macros/test_macros.py
+++ b/tests/macros/test_macros.py
@@ -16,9 +16,12 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
-from tests.base import get_scenarios, SingleJobTestCase
+from testtools import TestCase
+
+from tests.base import get_scenarios
+from tests.base import SingleJobTestCase
class TestCaseModuleSCMMacro(TestWithScenarios, SingleJobTestCase, TestCase):
diff --git a/tests/moduleregistry/test_moduleregistry.py b/tests/moduleregistry/test_moduleregistry.py
index e95931ea..389323d7 100644
--- a/tests/moduleregistry/test_moduleregistry.py
+++ b/tests/moduleregistry/test_moduleregistry.py
@@ -1,8 +1,10 @@
-import testtools as tt
import pkg_resources
-from testtools.content import text_content
+
+from six.moves import configparser
+from six.moves import StringIO
from testscenarios.testcase import TestWithScenarios
-from six.moves import configparser, StringIO
+import testtools as tt
+from testtools.content import text_content
from jenkins_jobs import cmd
from jenkins_jobs.registry import ModuleRegistry
diff --git a/tests/notifications/test_notifications.py b/tests/notifications/test_notifications.py
index ae077126..be58336e 100644
--- a/tests/notifications/test_notifications.py
+++ b/tests/notifications/test_notifications.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import notifications
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleNotifications(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/parameters/test_parameters.py b/tests/parameters/test_parameters.py
index a71049cc..209821c4 100644
--- a/tests/parameters/test_parameters.py
+++ b/tests/parameters/test_parameters.py
@@ -16,10 +16,13 @@
# under the License.
import os
+
from testscenarios.testcase import TestWithScenarios
from testtools import TestCase
+
from jenkins_jobs.modules import parameters
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleParameters(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/properties/test_properties.py b/tests/properties/test_properties.py
index 0a0fd2e9..f7ca9290 100644
--- a/tests/properties/test_properties.py
+++ b/tests/properties/test_properties.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import properties
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleProperties(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/publishers/test_publishers.py b/tests/publishers/test_publishers.py
index c752f918..93c5e813 100644
--- a/tests/publishers/test_publishers.py
+++ b/tests/publishers/test_publishers.py
@@ -16,10 +16,13 @@
# under the License.
import os
+
from testscenarios.testcase import TestWithScenarios
from testtools import TestCase
+
from jenkins_jobs.modules import publishers
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModulePublishers(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/reporters/test_reporters.py b/tests/reporters/test_reporters.py
index 4297d6d4..a750498e 100644
--- a/tests/reporters/test_reporters.py
+++ b/tests/reporters/test_reporters.py
@@ -15,10 +15,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import reporters
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleReporters(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/scm/test_scm.py b/tests/scm/test_scm.py
index d61b99e2..27bd8697 100644
--- a/tests/scm/test_scm.py
+++ b/tests/scm/test_scm.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import scm
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleSCM(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/triggers/test_triggers.py b/tests/triggers/test_triggers.py
index 543d2079..c87c5015 100644
--- a/tests/triggers/test_triggers.py
+++ b/tests/triggers/test_triggers.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import triggers
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleTriggers(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/wrappers/test_wrappers.py b/tests/wrappers/test_wrappers.py
index 26261e8e..d6f8323d 100644
--- a/tests/wrappers/test_wrappers.py
+++ b/tests/wrappers/test_wrappers.py
@@ -16,10 +16,13 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
+from testtools import TestCase
+
from jenkins_jobs.modules import wrappers
-from tests.base import get_scenarios, BaseTestCase
+from tests.base import BaseTestCase
+from tests.base import get_scenarios
class TestCaseModuleWrappers(TestWithScenarios, BaseTestCase, TestCase):
diff --git a/tests/yamlparser/test_yamlparser.py b/tests/yamlparser/test_yamlparser.py
index 415ed8cb..39f64c6c 100644
--- a/tests/yamlparser/test_yamlparser.py
+++ b/tests/yamlparser/test_yamlparser.py
@@ -16,9 +16,12 @@
# under the License.
import os
-from testtools import TestCase
+
from testscenarios.testcase import TestWithScenarios
-from tests.base import get_scenarios, SingleJobTestCase
+from testtools import TestCase
+
+from tests.base import get_scenarios
+from tests.base import SingleJobTestCase
class TestCaseModuleYamlInclude(TestWithScenarios,