Initial separating unit and functional tests

Currently we run tests which uses real backend or real daemons with
other unit tests.
This CR is initial for sequence of functional tests implementation.
It contains only moving files and modules to right directories and
fixing tox.ini. This approach allows to avoid constantly rebase conflicts,
because git handles file removing correct.

Next step - separate classes and functions from moved files to right
test types.

Depends-On: Ifdb0de150b2c738117308b2aae6c0c197e162821

Change-Id: I16b84ed83ac075658626f3ec6a35a24e228b61e7
Partialy-Implement: blueprint ceilometer-functional-tests
This commit is contained in:
Ilya Tyaptin 2015-07-21 18:02:13 +03:00 committed by Nadya Shakhat
parent e16c0ddd9d
commit 49f53f35a5
205 changed files with 63 additions and 80 deletions

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from ceilometer.tests import api
from ceilometer.tests.functional import api
class FunctionalTest(api.FunctionalTest):

View File

@ -24,9 +24,9 @@ import webtest
from ceilometer.api import app
from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests import api as acl
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional import api as acl
from ceilometer.tests.functional.api import v2
VALID_TOKEN = '4562138218392831'
VALID_TOKEN2 = '4562138218392832'

View File

@ -21,15 +21,16 @@ import mock
import oslo_messaging.conffixture
from oslo_serialization import jsonutils
import requests
import six
from six import moves
import six.moves.urllib.parse as urlparse
from ceilometer.alarm.storage import models
from ceilometer import messaging
from ceilometer.tests.api import v2
from ceilometer.tests import constants
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestListEmptyAlarms(v2.FunctionalTest,

View File

@ -15,7 +15,7 @@ from keystoneclient import exceptions
import mock
from oslotest import mockpatch
from ceilometer.tests.api import v2
from ceilometer.tests.functional.api import v2
class TestAPIUpgradePath(v2.FunctionalTest):

View File

@ -22,7 +22,7 @@ import six
import wsme
from ceilometer import i18n
from ceilometer.tests.api import v2
from ceilometer.tests.functional.api import v2
class TestPecanApp(v2.FunctionalTest):

View File

@ -17,8 +17,8 @@
import testscenarios
from ceilometer.tests.api import v2 as tests_api
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2 as tests_api
load_tests = testscenarios.load_tests_apply_scenarios

View File

@ -25,8 +25,8 @@ from oslo_utils import timeutils
from ceilometer.alarm.storage import models
from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests.api import v2 as tests_api
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2 as tests_api
admin_header = {"X-Roles": "admin",

View File

@ -21,8 +21,8 @@ import mock
from oslo_utils import timeutils
from ceilometer.storage import models
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestComputeDurationByResource(v2.FunctionalTest,

View File

@ -20,8 +20,8 @@ import uuid
import webtest.app
from ceilometer.event.storage import models
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
headers = {"X-Roles": "admin"}

View File

@ -23,8 +23,8 @@ import six
from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestListEvents(v2.FunctionalTest,

View File

@ -25,8 +25,8 @@ import webtest.app
from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestListEmptyMeters(v2.FunctionalTest,

View File

@ -23,8 +23,8 @@ import webtest.app
from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestListResources(v2.FunctionalTest,

View File

@ -22,8 +22,8 @@ import mock
from oslo_utils import timeutils
from oslotest import mockpatch
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestPostSamples(v2.FunctionalTest,

View File

@ -18,8 +18,8 @@ import datetime
from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests.api import v2
from ceilometer.tests import db as tests_db
from ceilometer.tests.functional.api import v2
class TestMaxProjectVolume(v2.FunctionalTest,

View File

@ -23,8 +23,7 @@ import os
from gabbi import driver
from ceilometer.api import app
from ceilometer.tests.gabbi import fixtures as fixture_module
from ceilometer.tests.functional.gabbi import fixtures as fixture_module
TESTS_DIR = 'gabbits'

View File

@ -20,8 +20,7 @@ import os
from gabbi import driver
from ceilometer.api import app
from ceilometer.tests.gabbi import fixtures as fixture_module
from ceilometer.tests.functional.gabbi import fixtures as fixture_module
TESTS_DIR = 'gabbits_prefix'

8
ceilometer/tests/functional/hooks/post_test_hook.sh Normal file → Executable file
View File

@ -31,14 +31,18 @@ export CEILOMETER_DIR="$BASE/new/ceilometer"
# Go to the ceilometer dir
cd $CEILOMETER_DIR
sudo chown -R jenkins:stack $CEILOMETER_DIR
if [[ -z "$STACK_USER" ]]; then
export STACK_USER=stack
fi
sudo chown -R $STACK_USER:stack $CEILOMETER_DIR
# Run tests
echo "Running ceilometer functional test suite"
set +e
# NOTE(ityaptin) Expected a script param which contains a backend name
CEILOMETER_TEST_BACKEND="$1" sudo -E -H -u jenkins tox -efunctional
CEILOMETER_TEST_BACKEND="$1" sudo -E -H -u ${STACK_USER:-${USER}} tox -efunctional
EXIT_CODE=$?
set -e

View File

@ -19,10 +19,10 @@
"""
import datetime
from six.moves import reprlib
import mock
from oslo_utils import timeutils
from six.moves import reprlib
from ceilometer.alarm.storage import impl_sqlalchemy as impl_sqla_alarm
from ceilometer.event.storage import impl_sqlalchemy as impl_sqla_event
@ -31,7 +31,8 @@ from ceilometer.storage import impl_sqlalchemy
from ceilometer.storage.sqlalchemy import models as sql_models
from ceilometer.tests import base as test_base
from ceilometer.tests import db as tests_db
from ceilometer.tests.storage import test_storage_scenarios as scenarios
from ceilometer.tests.functional.storage \
import test_storage_scenarios as scenarios
@tests_db.run_with('sqlite', 'mysql', 'pgsql')

View File

@ -21,7 +21,7 @@ from ceilometer.publisher import utils
from ceilometer import sample
from ceilometer.tests import constants
from ceilometer.tests import db as tests_db
from ceilometer.tests.storage import test_storage_scenarios
from ceilometer.tests.functional.storage import test_storage_scenarios
@tests_db.run_with('mongodb', 'db2')

View File

@ -1,23 +0,0 @@
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
""" This test is written to avoid failing running the functional test job
caused by `subunit-trace -f` with empty testr output
in ./tools/pretty-tox.sh"""
from oslotest import base
class TestEmpty(base.BaseTestCase):
def test_empty(self):
pass

View File

@ -32,7 +32,7 @@ from ceilometer.agent import base as agent_base
from ceilometer.agent import manager
from ceilometer.agent import plugin_base
from ceilometer import pipeline
from ceilometer.tests.agent import agentbase
from ceilometer.tests.unit.agent import agentbase
class PollingException(Exception):

View File

@ -29,8 +29,8 @@ import pytz
from ceilometer.alarm.evaluator import combination
from ceilometer.alarm.storage import models
from ceilometer.tests.alarm.evaluator import base
from ceilometer.tests import constants
from ceilometer.tests.unit.alarm.evaluator import base
class TestEvaluate(base.TestEvaluatorBase):

View File

@ -27,8 +27,8 @@ from six import moves
from ceilometer.alarm.evaluator import gnocchi
from ceilometer.alarm.storage import models
from ceilometer.tests.alarm.evaluator import base
from ceilometer.tests import constants
from ceilometer.tests.unit.alarm.evaluator import base
class FakeResponse(object):

View File

@ -27,8 +27,8 @@ from six import moves
from ceilometer.alarm.evaluator import threshold
from ceilometer.alarm.storage import models
from ceilometer.tests.alarm.evaluator import base
from ceilometer.tests import constants
from ceilometer.tests.unit.alarm.evaluator import base
class TestEvaluate(base.TestEvaluatorBase):

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from ceilometer.tests import api
from ceilometer.tests.functional import api
V2_MEDIA_TYPES = [
{

View File

@ -21,7 +21,7 @@ import mock
from ceilometer.agent import manager
from ceilometer.compute.pollsters import cpu
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.tests.compute.pollsters import base
from ceilometer.tests.unit.compute.pollsters import base
class TestCPUPollster(base.TestPollsterBase):

View File

@ -19,7 +19,7 @@ from oslo_config import fixture as fixture_config
from ceilometer.agent import manager
from ceilometer.compute.pollsters import instance as pollsters_instance
from ceilometer.tests.compute.pollsters import base
from ceilometer.tests.unit.compute.pollsters import base
class TestInstancePollster(base.TestPollsterBase):

View File

@ -18,7 +18,7 @@ import mock
from ceilometer.agent import manager
from ceilometer.compute.pollsters import memory
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.tests.compute.pollsters import base
from ceilometer.tests.unit.compute.pollsters import base
class TestMemoryPollster(base.TestPollsterBase):

View File

@ -20,7 +20,7 @@ from ceilometer.agent import manager
from ceilometer.compute.pollsters import net
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer import sample
from ceilometer.tests.compute.pollsters import base
from ceilometer.tests.unit.compute.pollsters import base
class FauxInstance(object):

Some files were not shown because too many files have changed in this diff Show More