Fix unittests for supporting py-pgsql env

In CR next testcases are fixed:
1. tests.storage.test_storage_scenarios.CounterDataTypeTest.
test_storage_can_handle_large_values
Currently we use for assertion 16-decimal number, but in
postgresql double precise type used for counter_volume.
So it supports only 15-decimal accuracy. Test volume should line
with the practical upper bound on storable value in any backend
that the test hits and in this CR used 15-decimal assertion number.

2. tests.storage.test_storage_scenarios.GetEventTest.
test_generated_is_datetime
Issue is in traits order for asserted events. In mysql it's
alphabetical  asc and something else in postgresql.

Partially-Bug: 1423545
Change-Id: I0b96324eb1725a46aa80cd7d942c1b0b66ddac16
This commit is contained in:
Ilya Tyaptin 2015-02-20 17:55:20 +03:00
parent 42b5feb08f
commit 4083bfd0ea
1 changed files with 7 additions and 6 deletions

View File

@ -2624,7 +2624,7 @@ class CounterDataTypeTest(DBTestBase,
'dummyBigCounter',
sample.TYPE_CUMULATIVE,
unit='',
volume=3372036854775807,
volume=337203685477580,
user_id='user-id',
project_id='project-id',
resource_id='resource-id',
@ -2642,7 +2642,7 @@ class CounterDataTypeTest(DBTestBase,
'dummySmallCounter',
sample.TYPE_CUMULATIVE,
unit='',
volume=-3372036854775807,
volume=-337203685477580,
user_id='user-id',
project_id='project-id',
resource_id='resource-id',
@ -2677,13 +2677,13 @@ class CounterDataTypeTest(DBTestBase,
meter='dummyBigCounter',
)
results = list(self.conn.get_samples(f))
self.assertEqual(3372036854775807, results[0].counter_volume)
self.assertEqual(337203685477580, results[0].counter_volume)
f = storage.SampleFilter(
meter='dummySmallCounter',
)
results = list(self.conn.get_samples(f))
self.assertEqual(-3372036854775807, results[0].counter_volume)
observed_num = long(results[0].counter_volume)
self.assertEqual(-337203685477580, observed_num)
def test_storage_can_handle_float_values(self):
f = storage.SampleFilter(
@ -3200,7 +3200,8 @@ class GetEventTest(EventTestBase):
self.assertEqual(event.generated,
self.event_models[i].generated)
model_traits = self.event_models[i].traits
for j, trait in enumerate(event.traits):
for j, trait in enumerate(sorted(event.traits,
key=operator.attrgetter("name"))):
if trait.dtype == event_models.Trait.DATETIME_TYPE:
self.assertIsInstance(trait.value, datetime.datetime)
self.assertEqual(trait.value, model_traits[j].value)