summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functional/tests/volume/v1/__init__.py0
-rw-r--r--functional/tests/volume/v2/__init__.py0
-rw-r--r--openstackclient/tests/functional/__init__.py (renamed from functional/__init__.py)0
-rw-r--r--openstackclient/tests/functional/base.py (renamed from functional/common/test.py)0
-rw-r--r--openstackclient/tests/functional/common/__init__.py (renamed from functional/common/__init__.py)0
-rw-r--r--openstackclient/tests/functional/common/test_availability_zone.py (renamed from functional/tests/common/test_availability_zone.py)4
-rw-r--r--openstackclient/tests/functional/common/test_configuration.py (renamed from functional/tests/common/test_configuration.py)4
-rw-r--r--openstackclient/tests/functional/common/test_help.py (renamed from functional/tests/common/test_help.py)4
-rw-r--r--openstackclient/tests/functional/common/test_quota.py (renamed from functional/tests/common/test_quota.py)4
-rw-r--r--openstackclient/tests/functional/compute/__init__.py (renamed from functional/tests/__init__.py)0
-rw-r--r--openstackclient/tests/functional/compute/v2/__init__.py (renamed from functional/tests/common/__init__.py)0
-rw-r--r--openstackclient/tests/functional/compute/v2/test_agent.py (renamed from functional/tests/compute/v2/test_agent.py)4
-rw-r--r--openstackclient/tests/functional/compute/v2/test_aggregate.py (renamed from functional/tests/compute/v2/test_aggregate.py)4
-rw-r--r--openstackclient/tests/functional/compute/v2/test_flavor.py (renamed from functional/tests/compute/v2/test_flavor.py)4
-rw-r--r--openstackclient/tests/functional/compute/v2/test_keypair.py (renamed from functional/tests/compute/v2/test_keypair.py)4
-rw-r--r--openstackclient/tests/functional/compute/v2/test_server.py (renamed from functional/tests/compute/v2/test_server.py)4
-rw-r--r--openstackclient/tests/functional/compute/v2/test_server_group.py (renamed from functional/tests/compute/v2/test_server_group.py)4
-rw-r--r--openstackclient/tests/functional/examples/__init__.py (renamed from functional/tests/compute/__init__.py)0
-rw-r--r--openstackclient/tests/functional/examples/test_examples.py (renamed from functional/tests/examples/test_examples.py)10
-rw-r--r--openstackclient/tests/functional/identity/__init__.py (renamed from functional/tests/compute/v2/__init__.py)0
-rw-r--r--openstackclient/tests/functional/identity/v2/__init__.py (renamed from functional/tests/examples/__init__.py)0
-rw-r--r--openstackclient/tests/functional/identity/v2/common.py (renamed from functional/tests/identity/v2/common.py)4
-rw-r--r--openstackclient/tests/functional/identity/v2/test_catalog.py (renamed from functional/tests/identity/v2/test_catalog.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_ec2_credentials.py (renamed from functional/tests/identity/v2/test_ec2_credentials.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_endpoint.py (renamed from functional/tests/identity/v2/test_endpoint.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_project.py (renamed from functional/tests/identity/v2/test_project.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_role.py (renamed from functional/tests/identity/v2/test_role.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_service.py (renamed from functional/tests/identity/v2/test_service.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_token.py (renamed from functional/tests/identity/v2/test_token.py)2
-rw-r--r--openstackclient/tests/functional/identity/v2/test_user.py (renamed from functional/tests/identity/v2/test_user.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/__init__.py (renamed from functional/tests/identity/__init__.py)0
-rw-r--r--openstackclient/tests/functional/identity/v3/common.py (renamed from functional/tests/identity/v3/common.py)4
-rw-r--r--openstackclient/tests/functional/identity/v3/test_catalog.py (renamed from functional/tests/identity/v3/test_catalog.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_domain.py (renamed from functional/tests/identity/v3/test_domain.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_endpoint.py (renamed from functional/tests/identity/v3/test_endpoint.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_group.py (renamed from functional/tests/identity/v3/test_group.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_idp.py (renamed from functional/tests/identity/v3/test_idp.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_project.py (renamed from functional/tests/identity/v3/test_project.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_region.py (renamed from functional/tests/identity/v3/test_region.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_role.py (renamed from functional/tests/identity/v3/test_role.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_service.py (renamed from functional/tests/identity/v3/test_service.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_service_provider.py (renamed from functional/tests/identity/v3/test_service_provider.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_token.py (renamed from functional/tests/identity/v3/test_token.py)2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_user.py (renamed from functional/tests/identity/v3/test_user.py)2
-rw-r--r--openstackclient/tests/functional/image/__init__.py (renamed from functional/tests/identity/v2/__init__.py)0
-rw-r--r--openstackclient/tests/functional/image/v1/__init__.py (renamed from functional/tests/identity/v3/__init__.py)0
-rw-r--r--openstackclient/tests/functional/image/v1/test_image.py (renamed from functional/tests/image/v1/test_image.py)4
-rw-r--r--openstackclient/tests/functional/image/v2/__init__.py (renamed from functional/tests/image/__init__.py)0
-rw-r--r--openstackclient/tests/functional/image/v2/test_image.py (renamed from functional/tests/image/v2/test_image.py)4
-rw-r--r--openstackclient/tests/functional/network/__init__.py (renamed from functional/tests/image/v1/__init__.py)0
-rw-r--r--openstackclient/tests/functional/network/v2/__init__.py (renamed from functional/tests/image/v2/__init__.py)0
-rw-r--r--openstackclient/tests/functional/network/v2/test_address_scope.py (renamed from functional/tests/network/v2/test_address_scope.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_floating_ip.py (renamed from functional/tests/network/v2/test_floating_ip.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_ip_availability.py (renamed from functional/tests/network/v2/test_ip_availability.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_network.py (renamed from functional/tests/network/v2/test_network.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_network_agent.py (renamed from functional/tests/network/v2/test_network_agent.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_network_rbac.py (renamed from functional/tests/network/v2/test_network_rbac.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_network_segment.py (renamed from functional/tests/network/v2/test_network_segment.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_port.py (renamed from functional/tests/network/v2/test_port.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_router.py (renamed from functional/tests/network/v2/test_router.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_security_group.py (renamed from functional/tests/network/v2/test_security_group.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_security_group_rule.py (renamed from functional/tests/network/v2/test_security_group_rule.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_subnet.py (renamed from functional/tests/network/v2/test_subnet.py)4
-rw-r--r--openstackclient/tests/functional/network/v2/test_subnet_pool.py (renamed from functional/tests/network/v2/test_subnet_pool.py)4
-rw-r--r--openstackclient/tests/functional/object/__init__.py (renamed from functional/tests/network/__init__.py)0
-rw-r--r--openstackclient/tests/functional/object/v1/__init__.py (renamed from functional/tests/network/v2/__init__.py)0
-rw-r--r--openstackclient/tests/functional/object/v1/test_container.py (renamed from functional/tests/object/v1/test_container.py)4
-rw-r--r--openstackclient/tests/functional/object/v1/test_object.py (renamed from functional/tests/object/v1/test_object.py)4
-rwxr-xr-xopenstackclient/tests/functional/post_test_hook.sh43
-rw-r--r--openstackclient/tests/functional/volume/__init__.py (renamed from functional/tests/object/__init__.py)0
-rw-r--r--openstackclient/tests/functional/volume/v1/__init__.py (renamed from functional/tests/object/v1/__init__.py)0
-rw-r--r--openstackclient/tests/functional/volume/v1/common.py (renamed from functional/tests/volume/v1/common.py)4
-rw-r--r--openstackclient/tests/functional/volume/v1/test_qos.py (renamed from functional/tests/volume/v1/test_qos.py)2
-rw-r--r--openstackclient/tests/functional/volume/v1/test_volume.py (renamed from functional/tests/volume/v1/test_volume.py)2
-rw-r--r--openstackclient/tests/functional/volume/v1/test_volume_type.py (renamed from functional/tests/volume/v1/test_volume_type.py)2
-rw-r--r--openstackclient/tests/functional/volume/v2/__init__.py (renamed from functional/tests/volume/__init__.py)0
-rw-r--r--openstackclient/tests/functional/volume/v2/common.py (renamed from functional/tests/volume/v2/common.py)4
-rw-r--r--openstackclient/tests/functional/volume/v2/test_qos.py (renamed from functional/tests/volume/v2/test_qos.py)2
-rw-r--r--openstackclient/tests/functional/volume/v2/test_snapshot.py (renamed from functional/tests/volume/v2/test_snapshot.py)2
-rw-r--r--openstackclient/tests/functional/volume/v2/test_volume.py (renamed from functional/tests/volume/v2/test_volume.py)2
-rw-r--r--openstackclient/tests/functional/volume/v2/test_volume_type.py (renamed from functional/tests/volume/v2/test_volume_type.py)2
-rw-r--r--tox.ini2
82 files changed, 138 insertions, 95 deletions
diff --git a/functional/tests/volume/v1/__init__.py b/functional/tests/volume/v1/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/functional/tests/volume/v1/__init__.py
+++ /dev/null
diff --git a/functional/tests/volume/v2/__init__.py b/functional/tests/volume/v2/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/functional/tests/volume/v2/__init__.py
+++ /dev/null
diff --git a/functional/__init__.py b/openstackclient/tests/functional/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/__init__.py
+++ b/openstackclient/tests/functional/__init__.py
diff --git a/functional/common/test.py b/openstackclient/tests/functional/base.py
index f7f0361e..f7f0361e 100644
--- a/functional/common/test.py
+++ b/openstackclient/tests/functional/base.py
diff --git a/functional/common/__init__.py b/openstackclient/tests/functional/common/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/common/__init__.py
+++ b/openstackclient/tests/functional/common/__init__.py
diff --git a/functional/tests/common/test_availability_zone.py b/openstackclient/tests/functional/common/test_availability_zone.py
index da8aad7d..f73e1ed9 100644
--- a/functional/tests/common/test_availability_zone.py
+++ b/openstackclient/tests/functional/common/test_availability_zone.py
@@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.common import test
+from openstackclient.tests.functional import base
-class AvailabilityZoneTests(test.TestCase):
+class AvailabilityZoneTests(base.TestCase):
"""Functional tests for availability zone. """
HEADERS = ["'Zone Name'"]
# So far, all components have the same default availability zone name.
diff --git a/functional/tests/common/test_configuration.py b/openstackclient/tests/functional/common/test_configuration.py
index 801ee10d..f47d3b00 100644
--- a/functional/tests/common/test_configuration.py
+++ b/openstackclient/tests/functional/common/test_configuration.py
@@ -12,14 +12,14 @@
import os
-from functional.common import test
from openstackclient.common import configuration
+from openstackclient.tests.functional import base
BASIC_CONFIG_HEADERS = ['Field', 'Value']
-class ConfigurationTests(test.TestCase):
+class ConfigurationTests(base.TestCase):
opts = "-f value -c auth.password"
diff --git a/functional/tests/common/test_help.py b/openstackclient/tests/functional/common/test_help.py
index 7601c41b..bbc52197 100644
--- a/functional/tests/common/test_help.py
+++ b/openstackclient/tests/functional/common/test_help.py
@@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.common import test
+from openstackclient.tests.functional import base
-class HelpTests(test.TestCase):
+class HelpTests(base.TestCase):
"""Functional tests for openstackclient help output."""
SERVER_COMMANDS = [
diff --git a/functional/tests/common/test_quota.py b/openstackclient/tests/functional/common/test_quota.py
index 0316de25..fd45be38 100644
--- a/functional/tests/common/test_quota.py
+++ b/openstackclient/tests/functional/common/test_quota.py
@@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.common import test
+from openstackclient.tests.functional import base
-class QuotaTests(test.TestCase):
+class QuotaTests(base.TestCase):
"""Functional tests for quota. """
# Test quota information for compute, network and volume.
EXPECTED_FIELDS = ['instances', 'networks', 'volumes']
diff --git a/functional/tests/__init__.py b/openstackclient/tests/functional/compute/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/__init__.py
+++ b/openstackclient/tests/functional/compute/__init__.py
diff --git a/functional/tests/common/__init__.py b/openstackclient/tests/functional/compute/v2/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/common/__init__.py
+++ b/openstackclient/tests/functional/compute/v2/__init__.py
diff --git a/functional/tests/compute/v2/test_agent.py b/openstackclient/tests/functional/compute/v2/test_agent.py
index d432768d..7115db1f 100644
--- a/functional/tests/compute/v2/test_agent.py
+++ b/openstackclient/tests/functional/compute/v2/test_agent.py
@@ -12,10 +12,10 @@
import hashlib
-from functional.common import test
+from openstackclient.tests.functional import base
-class ComputeAgentTests(test.TestCase):
+class ComputeAgentTests(base.TestCase):
"""Functional tests for compute agent."""
ID = None
diff --git a/functional/tests/compute/v2/test_aggregate.py b/openstackclient/tests/functional/compute/v2/test_aggregate.py
index adb14e52..2bc88e7b 100644
--- a/functional/tests/compute/v2/test_aggregate.py
+++ b/openstackclient/tests/functional/compute/v2/test_aggregate.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class AggregateTests(test.TestCase):
+class AggregateTests(base.TestCase):
"""Functional tests for aggregate."""
NAME = uuid.uuid4().hex
diff --git a/functional/tests/compute/v2/test_flavor.py b/openstackclient/tests/functional/compute/v2/test_flavor.py
index ef0d2fe3..794a6cc3 100644
--- a/functional/tests/compute/v2/test_flavor.py
+++ b/openstackclient/tests/functional/compute/v2/test_flavor.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class FlavorTests(test.TestCase):
+class FlavorTests(base.TestCase):
"""Functional tests for flavor."""
NAME = uuid.uuid4().hex
diff --git a/functional/tests/compute/v2/test_keypair.py b/openstackclient/tests/functional/compute/v2/test_keypair.py
index 6bc5cdb7..01078c61 100644
--- a/functional/tests/compute/v2/test_keypair.py
+++ b/openstackclient/tests/functional/compute/v2/test_keypair.py
@@ -12,13 +12,13 @@
import tempfile
-from functional.common import test
+from openstackclient.tests.functional import base
from tempest.lib.common.utils import data_utils
from tempest.lib import exceptions
-class KeypairBase(test.TestCase):
+class KeypairBase(base.TestCase):
"""Methods for functional tests."""
def keypair_create(self, name=data_utils.rand_uuid()):
diff --git a/functional/tests/compute/v2/test_server.py b/openstackclient/tests/functional/compute/v2/test_server.py
index a9d0e9c1..6eedf408 100644
--- a/functional/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/functional/compute/v2/test_server.py
@@ -14,11 +14,11 @@ import time
from tempest.lib.common.utils import data_utils
-from functional.common import test
+from openstackclient.tests.functional import base
from tempest.lib import exceptions
-class ServerTests(test.TestCase):
+class ServerTests(base.TestCase):
"""Functional tests for openstack server commands."""
@classmethod
diff --git a/functional/tests/compute/v2/test_server_group.py b/openstackclient/tests/functional/compute/v2/test_server_group.py
index b9126052..3f0a24e5 100644
--- a/functional/tests/compute/v2/test_server_group.py
+++ b/openstackclient/tests/functional/compute/v2/test_server_group.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class ServerGroupTests(test.TestCase):
+class ServerGroupTests(base.TestCase):
"""Functional tests for servergroup."""
NAME = uuid.uuid4().hex
diff --git a/functional/tests/compute/__init__.py b/openstackclient/tests/functional/examples/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/compute/__init__.py
+++ b/openstackclient/tests/functional/examples/__init__.py
diff --git a/functional/tests/examples/test_examples.py b/openstackclient/tests/functional/examples/test_examples.py
index 6e0e5867..031f036a 100644
--- a/functional/tests/examples/test_examples.py
+++ b/openstackclient/tests/functional/examples/test_examples.py
@@ -10,19 +10,19 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.common import test
+from openstackclient.tests.functional import base
-class ExampleTests(test.TestCase):
+class ExampleTests(base.TestCase):
"""Functional tests for running examples."""
def test_common(self):
# NOTE(stevemar): If an examples has a non-zero return
# code, then execute will raise an error by default.
- test.execute('python', test.EXAMPLE_DIR + '/common.py --debug')
+ base.execute('python', base.EXAMPLE_DIR + '/common.py --debug')
def test_object_api(self):
- test.execute('python', test.EXAMPLE_DIR + '/object_api.py --debug')
+ base.execute('python', base.EXAMPLE_DIR + '/object_api.py --debug')
def test_osc_lib(self):
- test.execute('python', test.EXAMPLE_DIR + '/osc-lib.py --debug')
+ base.execute('python', base.EXAMPLE_DIR + '/osc-lib.py --debug')
diff --git a/functional/tests/compute/v2/__init__.py b/openstackclient/tests/functional/identity/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/compute/v2/__init__.py
+++ b/openstackclient/tests/functional/identity/__init__.py
diff --git a/functional/tests/examples/__init__.py b/openstackclient/tests/functional/identity/v2/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/examples/__init__.py
+++ b/openstackclient/tests/functional/identity/v2/__init__.py
diff --git a/functional/tests/identity/v2/common.py b/openstackclient/tests/functional/identity/v2/common.py
index ca061a4d..b390c5bc 100644
--- a/functional/tests/identity/v2/common.py
+++ b/openstackclient/tests/functional/identity/v2/common.py
@@ -14,12 +14,12 @@ import os
from tempest.lib.common.utils import data_utils
-from functional.common import test
+from openstackclient.tests.functional import base
BASIC_LIST_HEADERS = ['ID', 'Name']
-class IdentityTests(test.TestCase):
+class IdentityTests(base.TestCase):
"""Functional tests for Identity commands. """
USER_FIELDS = ['email', 'enabled', 'id', 'name', 'project_id',
diff --git a/functional/tests/identity/v2/test_catalog.py b/openstackclient/tests/functional/identity/v2/test_catalog.py
index b6291e05..f403fbfc 100644
--- a/functional/tests/identity/v2/test_catalog.py
+++ b/openstackclient/tests/functional/identity/v2/test_catalog.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class CatalogTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_ec2_credentials.py b/openstackclient/tests/functional/identity/v2/test_ec2_credentials.py
index 7a8ee35d..43dff91f 100644
--- a/functional/tests/identity/v2/test_ec2_credentials.py
+++ b/openstackclient/tests/functional/identity/v2/test_ec2_credentials.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class EC2CredentialsTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_endpoint.py b/openstackclient/tests/functional/identity/v2/test_endpoint.py
index 34888c0b..9df5ca8a 100644
--- a/functional/tests/identity/v2/test_endpoint.py
+++ b/openstackclient/tests/functional/identity/v2/test_endpoint.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class EndpointTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_project.py b/openstackclient/tests/functional/identity/v2/test_project.py
index 7fb1a98d..b6222a1b 100644
--- a/functional/tests/identity/v2/test_project.py
+++ b/openstackclient/tests/functional/identity/v2/test_project.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class ProjectTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_role.py b/openstackclient/tests/functional/identity/v2/test_role.py
index 0f8d5ed4..82e19aab 100644
--- a/functional/tests/identity/v2/test_role.py
+++ b/openstackclient/tests/functional/identity/v2/test_role.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class RoleTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_service.py b/openstackclient/tests/functional/identity/v2/test_service.py
index 9dcb6bea..d0e03804 100644
--- a/functional/tests/identity/v2/test_service.py
+++ b/openstackclient/tests/functional/identity/v2/test_service.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class ServiceTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_token.py b/openstackclient/tests/functional/identity/v2/test_token.py
index ca9b7d68..f8569744 100644
--- a/functional/tests/identity/v2/test_token.py
+++ b/openstackclient/tests/functional/identity/v2/test_token.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class TokenTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/test_user.py b/openstackclient/tests/functional/identity/v2/test_user.py
index ef4defac..ac609b94 100644
--- a/functional/tests/identity/v2/test_user.py
+++ b/openstackclient/tests/functional/identity/v2/test_user.py
@@ -13,7 +13,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import exceptions
-from functional.tests.identity.v2 import common
+from openstackclient.tests.functional.identity.v2 import common
class UserTests(common.IdentityTests):
diff --git a/functional/tests/identity/__init__.py b/openstackclient/tests/functional/identity/v3/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/identity/__init__.py
+++ b/openstackclient/tests/functional/identity/v3/__init__.py
diff --git a/functional/tests/identity/v3/common.py b/openstackclient/tests/functional/identity/v3/common.py
index 47019c5f..5dd42e70 100644
--- a/functional/tests/identity/v3/common.py
+++ b/openstackclient/tests/functional/identity/v3/common.py
@@ -14,13 +14,13 @@ import os
from tempest.lib.common.utils import data_utils
-from functional.common import test
+from openstackclient.tests.functional import base
BASIC_LIST_HEADERS = ['ID', 'Name']
-class IdentityTests(test.TestCase):
+class IdentityTests(base.TestCase):
"""Functional tests for Identity commands. """
DOMAIN_FIELDS = ['description', 'enabled', 'id', 'name', 'links']
diff --git a/functional/tests/identity/v3/test_catalog.py b/openstackclient/tests/functional/identity/v3/test_catalog.py
index e33876b0..c8361406 100644
--- a/functional/tests/identity/v3/test_catalog.py
+++ b/openstackclient/tests/functional/identity/v3/test_catalog.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class CatalogTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_domain.py b/openstackclient/tests/functional/identity/v3/test_domain.py
index 3f514b58..d8946d1e 100644
--- a/functional/tests/identity/v3/test_domain.py
+++ b/openstackclient/tests/functional/identity/v3/test_domain.py
@@ -13,7 +13,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import exceptions
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class DomainTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_endpoint.py b/openstackclient/tests/functional/identity/v3/test_endpoint.py
index e0afab23..22dc1b65 100644
--- a/functional/tests/identity/v3/test_endpoint.py
+++ b/openstackclient/tests/functional/identity/v3/test_endpoint.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class EndpointTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_group.py b/openstackclient/tests/functional/identity/v3/test_group.py
index 35075698..70491183 100644
--- a/functional/tests/identity/v3/test_group.py
+++ b/openstackclient/tests/functional/identity/v3/test_group.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class GroupTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_idp.py b/openstackclient/tests/functional/identity/v3/test_idp.py
index bc9690f7..f9d8cb80 100644
--- a/functional/tests/identity/v3/test_idp.py
+++ b/openstackclient/tests/functional/identity/v3/test_idp.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
from tempest.lib.common.utils import data_utils
diff --git a/functional/tests/identity/v3/test_project.py b/openstackclient/tests/functional/identity/v3/test_project.py
index a27c58fb..77438841 100644
--- a/functional/tests/identity/v3/test_project.py
+++ b/openstackclient/tests/functional/identity/v3/test_project.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class ProjectTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_region.py b/openstackclient/tests/functional/identity/v3/test_region.py
index 2ebc0e59..2a402bd1 100644
--- a/functional/tests/identity/v3/test_region.py
+++ b/openstackclient/tests/functional/identity/v3/test_region.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class RegionTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_role.py b/openstackclient/tests/functional/identity/v3/test_role.py
index 60aaf3f4..ab8af9c0 100644
--- a/functional/tests/identity/v3/test_role.py
+++ b/openstackclient/tests/functional/identity/v3/test_role.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class RoleTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_service.py b/openstackclient/tests/functional/identity/v3/test_service.py
index 79a63dc8..1ecda45a 100644
--- a/functional/tests/identity/v3/test_service.py
+++ b/openstackclient/tests/functional/identity/v3/test_service.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class ServiceTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_service_provider.py b/openstackclient/tests/functional/identity/v3/test_service_provider.py
index 458c2ae6..e072bc93 100644
--- a/functional/tests/identity/v3/test_service_provider.py
+++ b/openstackclient/tests/functional/identity/v3/test_service_provider.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
from tempest.lib.common.utils import data_utils
diff --git a/functional/tests/identity/v3/test_token.py b/openstackclient/tests/functional/identity/v3/test_token.py
index d8d3f43d..62e90003 100644
--- a/functional/tests/identity/v3/test_token.py
+++ b/openstackclient/tests/functional/identity/v3/test_token.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class TokenTests(common.IdentityTests):
diff --git a/functional/tests/identity/v3/test_user.py b/openstackclient/tests/functional/identity/v3/test_user.py
index f3657064..9e9bde96 100644
--- a/functional/tests/identity/v3/test_user.py
+++ b/openstackclient/tests/functional/identity/v3/test_user.py
@@ -12,7 +12,7 @@
from tempest.lib.common.utils import data_utils
-from functional.tests.identity.v3 import common
+from openstackclient.tests.functional.identity.v3 import common
class UserTests(common.IdentityTests):
diff --git a/functional/tests/identity/v2/__init__.py b/openstackclient/tests/functional/image/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/identity/v2/__init__.py
+++ b/openstackclient/tests/functional/image/__init__.py
diff --git a/functional/tests/identity/v3/__init__.py b/openstackclient/tests/functional/image/v1/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/identity/v3/__init__.py
+++ b/openstackclient/tests/functional/image/v1/__init__.py
diff --git a/functional/tests/image/v1/test_image.py b/openstackclient/tests/functional/image/v1/test_image.py
index c64c0d98..2a2b5734 100644
--- a/functional/tests/image/v1/test_image.py
+++ b/openstackclient/tests/functional/image/v1/test_image.py
@@ -13,10 +13,10 @@
import os
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class ImageTests(test.TestCase):
+class ImageTests(base.TestCase):
"""Functional tests for image. """
NAME = uuid.uuid4().hex
diff --git a/functional/tests/image/__init__.py b/openstackclient/tests/functional/image/v2/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/image/__init__.py
+++ b/openstackclient/tests/functional/image/v2/__init__.py
diff --git a/functional/tests/image/v2/test_image.py b/openstackclient/tests/functional/image/v2/test_image.py
index 809451bb..3f432b02 100644
--- a/functional/tests/image/v2/test_image.py
+++ b/openstackclient/tests/functional/image/v2/test_image.py
@@ -13,10 +13,10 @@
import os
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class ImageTests(test.TestCase):
+class ImageTests(base.TestCase):
"""Functional tests for image. """
NAME = uuid.uuid4().hex
diff --git a/functional/tests/image/v1/__init__.py b/openstackclient/tests/functional/network/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/image/v1/__init__.py
+++ b/openstackclient/tests/functional/network/__init__.py
diff --git a/functional/tests/image/v2/__init__.py b/openstackclient/tests/functional/network/v2/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/image/v2/__init__.py
+++ b/openstackclient/tests/functional/network/v2/__init__.py
diff --git a/functional/tests/network/v2/test_address_scope.py b/openstackclient/tests/functional/network/v2/test_address_scope.py
index 3beab233..ef4b5756 100644
--- a/functional/tests/network/v2/test_address_scope.py
+++ b/openstackclient/tests/functional/network/v2/test_address_scope.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class AddressScopeTests(test.TestCase):
+class AddressScopeTests(base.TestCase):
"""Functional tests for address scope. """
NAME = uuid.uuid4().hex
HEADERS = ['Name']
diff --git a/functional/tests/network/v2/test_floating_ip.py b/openstackclient/tests/functional/network/v2/test_floating_ip.py
index 7e7c63f4..f3a1971f 100644
--- a/functional/tests/network/v2/test_floating_ip.py
+++ b/openstackclient/tests/functional/network/v2/test_floating_ip.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class FloatingIpTests(test.TestCase):
+class FloatingIpTests(base.TestCase):
"""Functional tests for floating ip. """
SUBNET_NAME = uuid.uuid4().hex
NETWORK_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_ip_availability.py b/openstackclient/tests/functional/network/v2/test_ip_availability.py
index e83010fd..b5c908f4 100644
--- a/functional/tests/network/v2/test_ip_availability.py
+++ b/openstackclient/tests/functional/network/v2/test_ip_availability.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class IPAvailabilityTests(test.TestCase):
+class IPAvailabilityTests(base.TestCase):
"""Functional tests for IP availability. """
NAME = uuid.uuid4().hex
NETWORK_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_network.py b/openstackclient/tests/functional/network/v2/test_network.py
index f5c92faa..c77ff642 100644
--- a/functional/tests/network/v2/test_network.py
+++ b/openstackclient/tests/functional/network/v2/test_network.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class NetworkTests(test.TestCase):
+class NetworkTests(base.TestCase):
"""Functional tests for network. """
NAME = uuid.uuid4().hex
HEADERS = ['Name']
diff --git a/functional/tests/network/v2/test_network_agent.py b/openstackclient/tests/functional/network/v2/test_network_agent.py
index f574c50c..dd6112e7 100644
--- a/functional/tests/network/v2/test_network_agent.py
+++ b/openstackclient/tests/functional/network/v2/test_network_agent.py
@@ -10,10 +10,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-from functional.common import test
+from openstackclient.tests.functional import base
-class NetworkAgentTests(test.TestCase):
+class NetworkAgentTests(base.TestCase):
"""Functional tests for network agent. """
IDs = None
HEADERS = ['ID']
diff --git a/functional/tests/network/v2/test_network_rbac.py b/openstackclient/tests/functional/network/v2/test_network_rbac.py
index 1dbc246b..6f9f05e7 100644
--- a/functional/tests/network/v2/test_network_rbac.py
+++ b/openstackclient/tests/functional/network/v2/test_network_rbac.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class NetworkRBACTests(test.TestCase):
+class NetworkRBACTests(base.TestCase):
"""Functional tests for network rbac. """
NET_NAME = uuid.uuid4().hex
PROJECT_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_network_segment.py b/openstackclient/tests/functional/network/v2/test_network_segment.py
index 4609973c..f871e88e 100644
--- a/functional/tests/network/v2/test_network_segment.py
+++ b/openstackclient/tests/functional/network/v2/test_network_segment.py
@@ -13,12 +13,12 @@
import testtools
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
# NOTE(rtheis): Routed networks is still a WIP and not enabled by default.
@testtools.skip("bp/routed-networks")
-class NetworkSegmentTests(test.TestCase):
+class NetworkSegmentTests(base.TestCase):
"""Functional tests for network segment. """
NETWORK_NAME = uuid.uuid4().hex
PHYSICAL_NETWORK_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_port.py b/openstackclient/tests/functional/network/v2/test_port.py
index a68019c4..decd9553 100644
--- a/functional/tests/network/v2/test_port.py
+++ b/openstackclient/tests/functional/network/v2/test_port.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class PortTests(test.TestCase):
+class PortTests(base.TestCase):
"""Functional tests for port. """
NAME = uuid.uuid4().hex
NETWORK_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_router.py b/openstackclient/tests/functional/network/v2/test_router.py
index e536c64e..789c3825 100644
--- a/functional/tests/network/v2/test_router.py
+++ b/openstackclient/tests/functional/network/v2/test_router.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class RouterTests(test.TestCase):
+class RouterTests(base.TestCase):
"""Functional tests for router. """
NAME = uuid.uuid4().hex
HEADERS = ['Name']
diff --git a/functional/tests/network/v2/test_security_group.py b/openstackclient/tests/functional/network/v2/test_security_group.py
index 2a3b92a0..debd81df 100644
--- a/functional/tests/network/v2/test_security_group.py
+++ b/openstackclient/tests/functional/network/v2/test_security_group.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class SecurityGroupTests(test.TestCase):
+class SecurityGroupTests(base.TestCase):
"""Functional tests for security group. """
NAME = uuid.uuid4().hex
OTHER_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_security_group_rule.py b/openstackclient/tests/functional/network/v2/test_security_group_rule.py
index 248d20b1..c91de1a5 100644
--- a/functional/tests/network/v2/test_security_group_rule.py
+++ b/openstackclient/tests/functional/network/v2/test_security_group_rule.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class SecurityGroupRuleTests(test.TestCase):
+class SecurityGroupRuleTests(base.TestCase):
"""Functional tests for security group rule. """
SECURITY_GROUP_NAME = uuid.uuid4().hex
SECURITY_GROUP_RULE_ID = None
diff --git a/functional/tests/network/v2/test_subnet.py b/openstackclient/tests/functional/network/v2/test_subnet.py
index 7fb48437..231671f3 100644
--- a/functional/tests/network/v2/test_subnet.py
+++ b/openstackclient/tests/functional/network/v2/test_subnet.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class SubnetTests(test.TestCase):
+class SubnetTests(base.TestCase):
"""Functional tests for subnet. """
NAME = uuid.uuid4().hex
NETWORK_NAME = uuid.uuid4().hex
diff --git a/functional/tests/network/v2/test_subnet_pool.py b/openstackclient/tests/functional/network/v2/test_subnet_pool.py
index 054188f7..e52f06fc 100644
--- a/functional/tests/network/v2/test_subnet_pool.py
+++ b/openstackclient/tests/functional/network/v2/test_subnet_pool.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class SubnetPoolTests(test.TestCase):
+class SubnetPoolTests(base.TestCase):
"""Functional tests for subnet pool. """
NAME = uuid.uuid4().hex
CREATE_POOL_PREFIX = '10.100.0.0/24'
diff --git a/functional/tests/network/__init__.py b/openstackclient/tests/functional/object/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/network/__init__.py
+++ b/openstackclient/tests/functional/object/__init__.py
diff --git a/functional/tests/network/v2/__init__.py b/openstackclient/tests/functional/object/v1/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/network/v2/__init__.py
+++ b/openstackclient/tests/functional/object/v1/__init__.py
diff --git a/functional/tests/object/v1/test_container.py b/openstackclient/tests/functional/object/v1/test_container.py
index 4f9e843b..af76efd9 100644
--- a/functional/tests/object/v1/test_container.py
+++ b/openstackclient/tests/functional/object/v1/test_container.py
@@ -12,10 +12,10 @@
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
-class ContainerTests(test.TestCase):
+class ContainerTests(base.TestCase):
"""Functional tests for object containers. """
NAME = uuid.uuid4().hex
diff --git a/functional/tests/object/v1/test_object.py b/openstackclient/tests/functional/object/v1/test_object.py
index 8ea16da7..776cf47c 100644
--- a/functional/tests/object/v1/test_object.py
+++ b/openstackclient/tests/functional/object/v1/test_object.py
@@ -14,14 +14,14 @@ import os
import tempfile
import uuid
-from functional.common import test
+from openstackclient.tests.functional import base
BASIC_LIST_HEADERS = ['Name']
CONTAINER_FIELDS = ['account', 'container', 'x-trans-id']
OBJECT_FIELDS = ['object', 'container', 'etag']
-class ObjectTests(test.TestCase):
+class ObjectTests(base.TestCase):
"""Functional tests for Object commands. """
CONTAINER_NAME = uuid.uuid4().hex
diff --git a/openstackclient/tests/functional/post_test_hook.sh b/openstackclient/tests/functional/post_test_hook.sh
new file mode 100755
index 00000000..e555470d
--- /dev/null
+++ b/openstackclient/tests/functional/post_test_hook.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+# This is a script that kicks off a series of functional tests against an
+# OpenStack cloud. It will attempt to create an instance if one is not
+# available. Do not run this script unless you know what you're doing.
+# For more information refer to:
+# http://docs.openstack.org/developer/python-openstackclient/
+
+function generate_testr_results {
+ if [ -f .testrepository/0 ]; then
+ sudo .tox/functional/bin/testr last --subunit > $WORKSPACE/testrepository.subunit
+ sudo mv $WORKSPACE/testrepository.subunit $BASE/logs/testrepository.subunit
+ sudo .tox/functional/bin/subunit2html $BASE/logs/testrepository.subunit $BASE/logs/testr_results.html
+ sudo gzip -9 $BASE/logs/testrepository.subunit
+ sudo gzip -9 $BASE/logs/testr_results.html
+ sudo chown jenkins:jenkins $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz
+ sudo chmod a+r $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz
+ fi
+}
+
+OPENSTACKCLIENT_DIR=$(cd $(dirname "$0") && pwd)
+sudo chown -R jenkins:stack $OPENSTACKCLIENT_DIR
+
+# Run tests
+echo "Running openstackclient functional test suite"
+set +e
+
+# Go to the openstackclient dir
+cd $OPENSTACKCLIENT_DIR
+
+# Source environment variables to kick things off
+source ~stack/devstack/openrc admin admin
+echo 'Running tests with:'
+env | grep OS
+
+# Preserve env for OS_ credentials
+sudo -E -H -u jenkins tox -efunctional
+EXIT_CODE=$?
+set -e
+
+# Collect and parse result
+generate_testr_results
+exit $EXIT_CODE
diff --git a/functional/tests/object/__init__.py b/openstackclient/tests/functional/volume/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/object/__init__.py
+++ b/openstackclient/tests/functional/volume/__init__.py
diff --git a/functional/tests/object/v1/__init__.py b/openstackclient/tests/functional/volume/v1/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/object/v1/__init__.py
+++ b/openstackclient/tests/functional/volume/v1/__init__.py
diff --git a/functional/tests/volume/v1/common.py b/openstackclient/tests/functional/volume/v1/common.py
index 7d35ed5e..a442850d 100644
--- a/functional/tests/volume/v1/common.py
+++ b/openstackclient/tests/functional/volume/v1/common.py
@@ -12,10 +12,10 @@
import os
-from functional.common import test
+from openstackclient.tests.functional import base
-class BaseVolumeTests(test.TestCase):
+class BaseVolumeTests(base.TestCase):
"""Base class for Volume functional tests. """
@classmethod
diff --git a/functional/tests/volume/v1/test_qos.py b/openstackclient/tests/functional/volume/v1/test_qos.py
index 5aed4bd0..770d5acb 100644
--- a/functional/tests/volume/v1/test_qos.py
+++ b/openstackclient/tests/functional/volume/v1/test_qos.py
@@ -12,7 +12,7 @@
import uuid
-from functional.tests.volume.v1 import common
+from openstackclient.tests.functional.volume.v1 import common
class QosTests(common.BaseVolumeTests):
diff --git a/functional/tests/volume/v1/test_volume.py b/openstackclient/tests/functional/volume/v1/test_volume.py
index 8275bf0a..6ac7f2bf 100644
--- a/functional/tests/volume/v1/test_volume.py
+++ b/openstackclient/tests/functional/volume/v1/test_volume.py
@@ -12,7 +12,7 @@
import uuid
-from functional.tests.volume.v1 import common
+from openstackclient.tests.functional.volume.v1 import common
class VolumeTests(common.BaseVolumeTests):
diff --git a/functional/tests/volume/v1/test_volume_type.py b/openstackclient/tests/functional/volume/v1/test_volume_type.py
index ed44f3c3..538545ab 100644
--- a/functional/tests/volume/v1/test_volume_type.py
+++ b/openstackclient/tests/functional/volume/v1/test_volume_type.py
@@ -13,7 +13,7 @@
import time
import uuid
-from functional.tests.volume.v1 import common
+from openstackclient.tests.functional.volume.v1 import common
class VolumeTypeTests(common.BaseVolumeTests):
diff --git a/functional/tests/volume/__init__.py b/openstackclient/tests/functional/volume/v2/__init__.py
index e69de29b..e69de29b 100644
--- a/functional/tests/volume/__init__.py
+++ b/openstackclient/tests/functional/volume/v2/__init__.py
diff --git a/functional/tests/volume/v2/common.py b/openstackclient/tests/functional/volume/v2/common.py
index 8652c2d1..e279a6f6 100644
--- a/functional/tests/volume/v2/common.py
+++ b/openstackclient/tests/functional/volume/v2/common.py
@@ -12,10 +12,10 @@
import os
-from functional.common import test
+from openstackclient.tests.functional import base
-class BaseVolumeTests(test.TestCase):
+class BaseVolumeTests(base.TestCase):
"""Base class for Volume functional tests. """
@classmethod
diff --git a/functional/tests/volume/v2/test_qos.py b/openstackclient/tests/functional/volume/v2/test_qos.py
index 5311b478..a54acbfd 100644
--- a/functional/tests/volume/v2/test_qos.py
+++ b/openstackclient/tests/functional/volume/v2/test_qos.py
@@ -12,7 +12,7 @@
import uuid
-from functional.tests.volume.v2 import common
+from openstackclient.tests.functional.volume.v2 import common
class QosTests(common.BaseVolumeTests):
diff --git a/functional/tests/volume/v2/test_snapshot.py b/openstackclient/tests/functional/volume/v2/test_snapshot.py
index 4f910830..4582b67d 100644
--- a/functional/tests/volume/v2/test_snapshot.py
+++ b/openstackclient/tests/functional/volume/v2/test_snapshot.py
@@ -13,7 +13,7 @@
import time
import uuid
-from functional.tests.volume.v2 import common
+from openstackclient.tests.functional.volume.v2 import common
class SnapshotTests(common.BaseVolumeTests):
diff --git a/functional/tests/volume/v2/test_volume.py b/openstackclient/tests/functional/volume/v2/test_volume.py
index 02324a1e..73273573 100644
--- a/functional/tests/volume/v2/test_volume.py
+++ b/openstackclient/tests/functional/volume/v2/test_volume.py
@@ -13,7 +13,7 @@
import time
import uuid
-from functional.tests.volume.v2 import common
+from openstackclient.tests.functional.volume.v2 import common
class VolumeTests(common.BaseVolumeTests):
diff --git a/functional/tests/volume/v2/test_volume_type.py b/openstackclient/tests/functional/volume/v2/test_volume_type.py
index 02f790ec..b62cbb39 100644
--- a/functional/tests/volume/v2/test_volume_type.py
+++ b/openstackclient/tests/functional/volume/v2/test_volume_type.py
@@ -13,7 +13,7 @@
import time
import uuid
-from functional.tests.volume.v2 import common
+from openstackclient.tests.functional.volume.v2 import common
class VolumeTypeTests(common.BaseVolumeTests):
diff --git a/tox.ini b/tox.ini
index 9eb0a1a0..af7120e1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -51,7 +51,7 @@ commands =
bandit -r openstackclient -x tests -s B105,B106,B107,B401,B404,B603,B606,B607,B110,B605,B101
[testenv:functional]
-setenv = OS_TEST_PATH=./functional/tests
+setenv = OS_TEST_PATH=./openstackclient/tests/functional
passenv = OS_*
[testenv:venv]