Refactored API V2 tests to use testscenarios
Related to blueprint db-tests-with-scenarios Change-Id: Id11215edae79e5bd007fb28590f9c4cca25aacc9
This commit is contained in:
parent
b9e9b623d7
commit
a88b9581c5
@ -18,6 +18,8 @@
|
||||
"""Test ACL."""
|
||||
|
||||
import datetime
|
||||
import testscenarios
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
from ceilometer import counter
|
||||
@ -26,6 +28,8 @@ from ceilometer.publisher import rpc
|
||||
|
||||
from .base import FunctionalTest
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
VALID_TOKEN = '4562138218392831'
|
||||
VALID_TOKEN2 = '4562138218392832'
|
||||
|
||||
@ -71,6 +75,12 @@ class FakeMemcache(object):
|
||||
|
||||
class TestAPIACL(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(TestAPIACL, self).setUp()
|
||||
self.environ = {'fake.cache': FakeMemcache()}
|
@ -21,16 +21,25 @@
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
import testscenarios
|
||||
|
||||
from .base import FunctionalTest
|
||||
|
||||
from ceilometer.storage.models import Alarm
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestListEmptyAlarms(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
#('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def test_empty(self):
|
||||
data = self.get_json('/alarms')
|
||||
self.assertEquals([], data)
|
||||
@ -38,6 +47,12 @@ class TestListEmptyAlarms(FunctionalTest):
|
||||
|
||||
class TestAlarms(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
#('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(TestAlarms, self).setUp()
|
||||
|
@ -20,16 +20,25 @@
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import testscenarios
|
||||
|
||||
from ceilometer.openstack.common import timeutils
|
||||
from ceilometer.storage import models
|
||||
from .base import FunctionalTest
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestComputeDurationByResource(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(TestComputeDurationByResource, self).setUp()
|
||||
|
@ -1,78 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
#
|
||||
# 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.
|
||||
import testtools
|
||||
|
||||
from . import acl
|
||||
from . import alarm
|
||||
from . import compute_duration_by_resource
|
||||
from . import list_events
|
||||
from . import list_meters
|
||||
from . import list_resources
|
||||
from . import post_samples
|
||||
from . import statistics
|
||||
|
||||
|
||||
class TestAPIAcl(acl.TestAPIACL):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestListEvents(list_events.TestListEvents):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
@testtools.skip('HBase alarms not implemented')
|
||||
class TestListEmptyAlarms(alarm.TestListEmptyAlarms):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
@testtools.skip('HBase alarms not implemented')
|
||||
class TestAlarms(alarm.TestAlarms):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestComputeDurationByResource(
|
||||
compute_duration_by_resource.TestComputeDurationByResource):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestListEmptyMeters(list_meters.TestListEmptyMeters):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestListMeters(list_meters.TestListMeters):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestListResources(list_resources.TestListResources):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestMaxProjectVolume(statistics.TestMaxProjectVolume):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestMaxResourceVolume(statistics.TestMaxResourceVolume):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestSumProjectVolume(statistics.TestSumProjectVolume):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestSumResourceVolume(statistics.TestSumProjectVolume):
|
||||
database_connection = 'hbase://__test__'
|
||||
|
||||
|
||||
class TestPostSamples(post_samples.TestPostSamples):
|
||||
database_connection = 'hbase://__test__'
|
@ -1,75 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
#
|
||||
# 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.
|
||||
|
||||
from . import acl
|
||||
from . import alarm
|
||||
from . import compute_duration_by_resource
|
||||
from . import list_events
|
||||
from . import list_meters
|
||||
from . import list_resources
|
||||
from . import post_samples
|
||||
from . import statistics
|
||||
|
||||
|
||||
class TestAPIAcl(acl.TestAPIACL):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestListEvents(list_events.TestListEvents):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestListEmptyAlarms(alarm.TestListEmptyAlarms):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestAlarms(alarm.TestAlarms):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestComputeDurationByResource(
|
||||
compute_duration_by_resource.TestComputeDurationByResource):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestListEmptyMeters(list_meters.TestListEmptyMeters):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestListMeters(list_meters.TestListMeters):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestListResources(list_resources.TestListResources):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestMaxProjectVolume(statistics.TestMaxProjectVolume):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestMaxResourceVolume(statistics.TestMaxResourceVolume):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestSumProjectVolume(statistics.TestSumProjectVolume):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestSumResourceVolume(statistics.TestSumProjectVolume):
|
||||
database_connection = 'mongodb://__test__'
|
||||
|
||||
|
||||
class TestPostSamples(post_samples.TestPostSamples):
|
||||
database_connection = 'mongodb://__test__'
|
@ -1,75 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
#
|
||||
# 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.
|
||||
|
||||
from . import acl
|
||||
from . import alarm
|
||||
from . import compute_duration_by_resource
|
||||
from . import list_events
|
||||
from . import list_meters
|
||||
from . import list_resources
|
||||
from . import post_samples
|
||||
from . import statistics
|
||||
|
||||
|
||||
class TestAPIAcl(acl.TestAPIACL):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestListEvents(list_events.TestListEvents):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestListEmptyAlarms(alarm.TestListEmptyAlarms):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestAlarms(alarm.TestAlarms):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestComputeDurationByResource(
|
||||
compute_duration_by_resource.TestComputeDurationByResource):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestListEmptyMeters(list_meters.TestListEmptyMeters):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestListMeters(list_meters.TestListMeters):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestListResources(list_resources.TestListResources):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestMaxProjectVolume(statistics.TestMaxProjectVolume):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestMaxResourceVolume(statistics.TestMaxResourceVolume):
|
||||
database_connection = 'sqlite://'
|
||||
|
||||
|
||||
class TestSumProjectVolume(statistics.TestSumProjectVolume):
|
||||
database_connection = 'sqlite:// '
|
||||
|
||||
|
||||
class TestSumResourceVolume(statistics.TestSumProjectVolume):
|
||||
database_connection = 'sqlite:// '
|
||||
|
||||
|
||||
class TestPostSamples(post_samples.TestPostSamples):
|
||||
database_connection = 'sqlite:// '
|
@ -21,6 +21,7 @@
|
||||
import datetime
|
||||
import logging
|
||||
import webtest.app
|
||||
import testscenarios
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
@ -29,11 +30,19 @@ from ceilometer import counter
|
||||
|
||||
from .base import FunctionalTest
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestListEvents(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(TestListEvents, self).setUp()
|
||||
self.counter1 = counter.Counter(
|
@ -20,6 +20,7 @@
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import testscenarios
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
@ -28,11 +29,19 @@ from ceilometer import counter
|
||||
|
||||
from .base import FunctionalTest
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestListEmptyMeters(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def test_empty(self):
|
||||
data = self.get_json('/meters')
|
||||
self.assertEquals([], data)
|
||||
@ -40,6 +49,12 @@ class TestListEmptyMeters(FunctionalTest):
|
||||
|
||||
class TestListMeters(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(TestListMeters, self).setUp()
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import testscenarios
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
@ -28,11 +29,19 @@ from ceilometer import counter
|
||||
|
||||
from .base import FunctionalTest
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestListResources(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
SOURCE_DATA = {'test_list_resources': {}}
|
||||
|
||||
def test_empty(self):
|
@ -21,17 +21,26 @@
|
||||
import copy
|
||||
import datetime
|
||||
import logging
|
||||
import testscenarios
|
||||
|
||||
from ceilometer.openstack.common import rpc
|
||||
from ceilometer.openstack.common import timeutils
|
||||
|
||||
from .base import FunctionalTest
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestPostSamples(FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
def faux_cast(self, context, topic, msg):
|
||||
self.published.append((topic, msg))
|
||||
|
@ -18,6 +18,7 @@
|
||||
"""Test events statistics retrieval."""
|
||||
|
||||
import datetime
|
||||
import testscenarios
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
@ -25,9 +26,17 @@ from . import base
|
||||
from ceilometer import counter
|
||||
from ceilometer.publisher import rpc
|
||||
|
||||
load_tests = testscenarios.load_tests_apply_scenarios
|
||||
|
||||
|
||||
class TestMaxProjectVolume(base.FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
PATH = '/meters/volume.size/statistics'
|
||||
|
||||
def setUp(self):
|
||||
@ -128,6 +137,12 @@ class TestMaxProjectVolume(base.FunctionalTest):
|
||||
|
||||
class TestMaxResourceVolume(base.FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
PATH = '/meters/volume.size/statistics'
|
||||
|
||||
def setUp(self):
|
||||
@ -244,6 +259,12 @@ class TestMaxResourceVolume(base.FunctionalTest):
|
||||
|
||||
class TestSumProjectVolume(base.FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
PATH = '/meters/volume.size/statistics'
|
||||
|
||||
def setUp(self):
|
||||
@ -346,6 +367,12 @@ class TestSumProjectVolume(base.FunctionalTest):
|
||||
|
||||
class TestSumResourceVolume(base.FunctionalTest):
|
||||
|
||||
scenarios = [
|
||||
('sqlalchemy', dict(database_connection='sqlite://')),
|
||||
('mongodb', dict(database_connection='mongodb://__test__')),
|
||||
('hbase', dict(database_connection='hbase://__test__')),
|
||||
]
|
||||
|
||||
PATH = '/meters/volume.size/statistics'
|
||||
|
||||
def setUp(self):
|
Loading…
Reference in New Issue
Block a user