~ubuntu-branches/ubuntu/wily/ceilometer/wily-proposed

« back to all changes in this revision

Viewing changes to .pc/skip-test.patch/ceilometer/tests/api/v2/test_event_scenarios.py

  • Committer: Package Import Robot
  • Author(s): Corey Bryant
  • Date: 2015-08-17 11:28:21 UTC
  • mfrom: (1.2.8)
  • Revision ID: package-import@ubuntu.com-20150817112821-tcvt0ddyg38lgzpt
Tags: 1:5.0.0~b2-0ubuntu1
* New upstream milestone for OpenStack Liberty.
* d/control: Align (build-)depends with upstream.
* d/p/disable-contextlib2.patch: Dropped. Added python-contextlib2 to BD's.
* d/p/disable-kafka.patch: Rebased.
* d/rules: Remove .eggs directory in override_dh_auto_clean.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
"""Test event, event_type and trait retrieval."""
16
16
 
17
17
import datetime
 
18
import uuid
18
19
 
19
20
import webtest.app
20
21
 
207
208
                         "\'float\', \'string\', \'datetime\']",
208
209
                         resp.json['error_message']['faultstring'])
209
210
 
 
211
    def test_get_events_filter_operator_invalid_type(self):
 
212
        resp = self.get_json(self.PATH, headers=headers,
 
213
                             q=[{'field': 'trait_A',
 
214
                                 'value': 'my_Foo_text',
 
215
                                 'op': 'whats-up'}],
 
216
                             expect_errors=True)
 
217
        self.assertEqual(400, resp.status_code)
 
218
        self.assertEqual("operator whats-up is not supported. the "
 
219
                         "supported operators are: (\'lt\', \'le\', "
 
220
                         "\'eq\', \'ne\', \'ge\', \'gt\')",
 
221
                         resp.json['error_message']['faultstring'])
 
222
 
210
223
    def test_get_events_filter_text_trait(self):
211
224
        data = self.get_json(self.PATH, headers=headers,
212
225
                             q=[{'field': 'trait_A',
438
451
                              'value': '1',
439
452
                              'type': 'integer',
440
453
                              'op': 'el'}])
 
454
 
 
455
 
 
456
class EventRestrictionTestBase(v2.FunctionalTest,
 
457
                               tests_db.MixinTestsWithBackendScenarios):
 
458
 
 
459
    def setUp(self):
 
460
        super(EventRestrictionTestBase, self).setUp()
 
461
        self.CONF.set_override('default_api_return_limit', 10, group='api')
 
462
        self._generate_models()
 
463
 
 
464
    def _generate_models(self):
 
465
        event_models = []
 
466
        base = 0
 
467
        self.s_time = datetime.datetime(2013, 12, 31, 5, 0)
 
468
        self.trait_time = datetime.datetime(2013, 12, 31, 5, 0)
 
469
        for i in range(20):
 
470
            trait_models = [models.Trait(name, type, value)
 
471
                            for name, type, value in [
 
472
                                ('trait_A', models.Trait.TEXT_TYPE,
 
473
                                    "my_text"),
 
474
                                ('trait_B', models.Trait.INT_TYPE,
 
475
                                    base + 1),
 
476
                                ('trait_C', models.Trait.FLOAT_TYPE,
 
477
                                    float(base) + 0.123456),
 
478
                                ('trait_D', models.Trait.DATETIME_TYPE,
 
479
                                    self.trait_time)]]
 
480
 
 
481
            event_models.append(
 
482
                models.Event(message_id=str(uuid.uuid4()),
 
483
                             event_type='foo.bar',
 
484
                             generated=self.trait_time,
 
485
                             traits=trait_models,
 
486
                             raw={'status': {'nested': 'started'}}))
 
487
            self.trait_time += datetime.timedelta(seconds=1)
 
488
        self.event_conn.record_events(event_models)
 
489
 
 
490
 
 
491
class TestEventRestriction(EventRestrictionTestBase):
 
492
 
 
493
    def test_get_limit(self):
 
494
        data = self.get_json('/events?limit=1', headers=headers)
 
495
        self.assertEqual(1, len(data))
 
496
 
 
497
    def test_get_limit_negative(self):
 
498
        self.assertRaises(webtest.app.AppError,
 
499
                          self.get_json, '/events?limit=-2', headers=headers)
 
500
 
 
501
    def test_get_limit_bigger(self):
 
502
        data = self.get_json('/events?limit=100', headers=headers)
 
503
        self.assertEqual(20, len(data))
 
504
 
 
505
    def test_get_default_limit(self):
 
506
        data = self.get_json('/events', headers=headers)
 
507
        self.assertEqual(10, len(data))