Project_id for SDN controller meters
Enable project_id config from SDN controller drivers. Current code Project_id was set to None. With this commit, project_id will be set by the driver. Existing drivers will set project_id to None. OpenDayliht v2 driver will set project_id as the uuid of the tenant owning the port for port meters and admin tenant id for switch, switch.port and table meters. Change-Id: I0e65d25e71d2d258ff0db76f020924170f380ec2 Implements: blueprint network-statistics-from-opendaylight Closes-Bug: #1369428
This commit is contained in:
parent
5621e1cc32
commit
bd81d3536e
@ -86,7 +86,7 @@ class _Base(plugin_base.PollsterBase):
|
|||||||
if not isinstance(data, list):
|
if not isinstance(data, list):
|
||||||
data = [data]
|
data = [data]
|
||||||
for (volume, resource_id,
|
for (volume, resource_id,
|
||||||
resource_metadata) in data:
|
resource_metadata, project_id) in data:
|
||||||
|
|
||||||
yield sample.Sample(
|
yield sample.Sample(
|
||||||
name=self.meter_name,
|
name=self.meter_name,
|
||||||
@ -94,7 +94,7 @@ class _Base(plugin_base.PollsterBase):
|
|||||||
unit=self.meter_unit,
|
unit=self.meter_unit,
|
||||||
volume=volume,
|
volume=volume,
|
||||||
user_id=None,
|
user_id=None,
|
||||||
project_id=None,
|
project_id=project_id,
|
||||||
resource_id=resource_id,
|
resource_id=resource_id,
|
||||||
resource_metadata=resource_metadata
|
resource_metadata=resource_metadata
|
||||||
)
|
)
|
||||||
|
@ -110,7 +110,7 @@ class OpencontrailDriver(driver.Driver):
|
|||||||
for sample in iter(extractor, value, ports_map,
|
for sample in iter(extractor, value, ports_map,
|
||||||
resource, virtual_network):
|
resource, virtual_network):
|
||||||
if sample is not None:
|
if sample is not None:
|
||||||
yield sample
|
yield sample + (None, )
|
||||||
|
|
||||||
def _get_iter(self, meter_name):
|
def _get_iter(self, meter_name):
|
||||||
if meter_name.startswith('switch.port'):
|
if meter_name.startswith('switch.port'):
|
||||||
|
@ -200,7 +200,7 @@ class OpenDayLightDriver(driver.Driver):
|
|||||||
sample[2]['controller'] = 'OpenDaylight'
|
sample[2]['controller'] = 'OpenDaylight'
|
||||||
sample[2]['container'] = name
|
sample[2]['container'] = name
|
||||||
|
|
||||||
samples.append(sample)
|
samples.append(sample + (None, ))
|
||||||
|
|
||||||
return samples
|
return samples
|
||||||
|
|
||||||
|
@ -137,7 +137,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'if_stats_list'},),
|
'resource': 'if_stats_list'},
|
||||||
|
None),
|
||||||
(13,
|
(13,
|
||||||
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
|
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
|
||||||
{'device_owner_id':
|
{'device_owner_id':
|
||||||
@ -146,7 +147,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'if_stats_list'},)]
|
'resource': 'if_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.receive.packets', expected,
|
self._test_meter('switch.port.receive.packets', expected,
|
||||||
self.fake_port_stats_with_node())
|
self.fake_port_stats_with_node())
|
||||||
|
|
||||||
@ -159,7 +161,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'if_stats_list'},)]
|
'resource': 'if_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.receive.packets', expected)
|
self._test_meter('switch.port.receive.packets', expected)
|
||||||
|
|
||||||
def test_switch_port_transmit_packets(self):
|
def test_switch_port_transmit_packets(self):
|
||||||
@ -171,7 +174,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'if_stats_list'},)]
|
'resource': 'if_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.transmit.packets', expected)
|
self._test_meter('switch.port.transmit.packets', expected)
|
||||||
|
|
||||||
def test_switch_port_receive_bytes(self):
|
def test_switch_port_receive_bytes(self):
|
||||||
@ -183,7 +187,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'if_stats_list'},)]
|
'resource': 'if_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.receive.bytes', expected)
|
self._test_meter('switch.port.receive.bytes', expected)
|
||||||
|
|
||||||
def test_switch_port_transmit_bytes(self):
|
def test_switch_port_transmit_bytes(self):
|
||||||
@ -195,7 +200,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'if_stats_list'},)]
|
'resource': 'if_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.transmit.bytes', expected)
|
self._test_meter('switch.port.transmit.bytes', expected)
|
||||||
|
|
||||||
def test_switch_port_receive_packets_fip(self):
|
def test_switch_port_receive_packets_fip(self):
|
||||||
@ -208,7 +214,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'fip_stats_list'},)]
|
'resource': 'fip_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.receive.packets', expected)
|
self._test_meter('switch.port.receive.packets', expected)
|
||||||
|
|
||||||
def test_switch_port_transmit_packets_fip(self):
|
def test_switch_port_transmit_packets_fip(self):
|
||||||
@ -221,7 +228,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'fip_stats_list'},)]
|
'resource': 'fip_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.transmit.packets', expected)
|
self._test_meter('switch.port.transmit.packets', expected)
|
||||||
|
|
||||||
def test_switch_port_receive_bytes_fip(self):
|
def test_switch_port_receive_bytes_fip(self):
|
||||||
@ -234,7 +242,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'fip_stats_list'},)]
|
'resource': 'fip_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.receive.bytes', expected)
|
self._test_meter('switch.port.receive.bytes', expected)
|
||||||
|
|
||||||
def test_switch_port_transmit_bytes_fip(self):
|
def test_switch_port_transmit_bytes_fip(self):
|
||||||
@ -247,7 +256,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
|
|||||||
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
|
||||||
'project': 'demo',
|
'project': 'demo',
|
||||||
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
'project_id': '89271fa581ab4380bf172f868c3615f9',
|
||||||
'resource': 'fip_stats_list'},)]
|
'resource': 'fip_stats_list'},
|
||||||
|
None)]
|
||||||
self._test_meter('switch.port.transmit.bytes', expected)
|
self._test_meter('switch.port.transmit.bytes', expected)
|
||||||
|
|
||||||
def test_switch_port_transmit_bytes_non_existing_network(self):
|
def test_switch_port_transmit_bytes_non_existing_network(self):
|
||||||
|
@ -17,7 +17,6 @@ import abc
|
|||||||
import mock
|
import mock
|
||||||
from oslotest import base
|
from oslotest import base
|
||||||
import six
|
import six
|
||||||
from six import moves
|
|
||||||
from six.moves.urllib import parse as url_parse
|
from six.moves.urllib import parse as url_parse
|
||||||
|
|
||||||
from ceilometer.network.statistics.opendaylight import driver
|
from ceilometer.network.statistics.opendaylight import driver
|
||||||
@ -119,10 +118,7 @@ class _Base(base.BaseTestCase):
|
|||||||
self.fake_params,
|
self.fake_params,
|
||||||
{})
|
{})
|
||||||
|
|
||||||
for sample, expected in moves.zip(sample_data, expected_data):
|
self.assertEqual(expected_data, list(sample_data))
|
||||||
self.assertEqual(expected[0], sample[0]) # check volume
|
|
||||||
self.assertEqual(expected[1], sample[1]) # check resource id
|
|
||||||
self.assertEqual(expected[2], sample[2]) # check resource metadata
|
|
||||||
|
|
||||||
|
|
||||||
class TestOpenDayLightDriverSpecial(_Base):
|
class TestOpenDayLightDriverSpecial(_Base):
|
||||||
@ -352,7 +348,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
'container': 'default',
|
'container': 'default',
|
||||||
"properties_actions": "4095",
|
"properties_actions": "4095",
|
||||||
"properties_timeStamp_connectedSince": "1377291227877"
|
"properties_timeStamp_connectedSince": "1377291227877"
|
||||||
}),
|
}, None),
|
||||||
]
|
]
|
||||||
|
|
||||||
self._test_for_meter('switch', expected_data)
|
self._test_for_meter('switch', expected_data)
|
||||||
@ -363,7 +359,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4',
|
'port': '4',
|
||||||
}),
|
}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port', expected_data)
|
self._test_for_meter('switch.port', expected_data)
|
||||||
|
|
||||||
@ -372,7 +368,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.packets', expected_data)
|
self._test_for_meter('switch.port.receive.packets', expected_data)
|
||||||
|
|
||||||
@ -381,7 +377,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.packets', expected_data)
|
self._test_for_meter('switch.port.transmit.packets', expected_data)
|
||||||
|
|
||||||
@ -390,7 +386,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.bytes', expected_data)
|
self._test_for_meter('switch.port.receive.bytes', expected_data)
|
||||||
|
|
||||||
@ -399,7 +395,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.bytes', expected_data)
|
self._test_for_meter('switch.port.transmit.bytes', expected_data)
|
||||||
|
|
||||||
@ -408,7 +404,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.drops', expected_data)
|
self._test_for_meter('switch.port.receive.drops', expected_data)
|
||||||
|
|
||||||
@ -417,7 +413,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.drops', expected_data)
|
self._test_for_meter('switch.port.transmit.drops', expected_data)
|
||||||
|
|
||||||
@ -426,7 +422,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.errors', expected_data)
|
self._test_for_meter('switch.port.receive.errors', expected_data)
|
||||||
|
|
||||||
@ -435,7 +431,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.errors', expected_data)
|
self._test_for_meter('switch.port.transmit.errors', expected_data)
|
||||||
|
|
||||||
@ -444,7 +440,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.frame_error', expected_data)
|
self._test_for_meter('switch.port.receive.frame_error', expected_data)
|
||||||
|
|
||||||
@ -453,7 +449,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.overrun_error',
|
self._test_for_meter('switch.port.receive.overrun_error',
|
||||||
expected_data)
|
expected_data)
|
||||||
@ -463,7 +459,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.crc_error', expected_data)
|
self._test_for_meter('switch.port.receive.crc_error', expected_data)
|
||||||
|
|
||||||
@ -472,7 +468,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.collision.count', expected_data)
|
self._test_for_meter('switch.port.collision.count', expected_data)
|
||||||
|
|
||||||
@ -481,7 +477,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table', expected_data)
|
self._test_for_meter('switch.table', expected_data)
|
||||||
|
|
||||||
@ -490,7 +486,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(11, "00:00:00:00:00:00:00:02", {
|
(11, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table.active.entries', expected_data)
|
self._test_for_meter('switch.table.active.entries', expected_data)
|
||||||
|
|
||||||
@ -499,7 +495,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(816, "00:00:00:00:00:00:00:02", {
|
(816, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table.lookup.packets', expected_data)
|
self._test_for_meter('switch.table.lookup.packets', expected_data)
|
||||||
|
|
||||||
@ -508,7 +504,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
(220, "00:00:00:00:00:00:00:02", {
|
(220, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table.matched.packets', expected_data)
|
self._test_for_meter('switch.table.matched.packets', expected_data)
|
||||||
|
|
||||||
@ -532,7 +528,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"
|
"flow_priority": "1"
|
||||||
}),
|
}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow', expected_data)
|
self._test_for_meter('switch.flow', expected_data)
|
||||||
|
|
||||||
@ -555,7 +551,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.duration_seconds', expected_data)
|
self._test_for_meter('switch.flow.duration_seconds', expected_data)
|
||||||
|
|
||||||
@ -578,7 +574,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.duration_nanoseconds', expected_data)
|
self._test_for_meter('switch.flow.duration_nanoseconds', expected_data)
|
||||||
|
|
||||||
@ -601,7 +597,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.packets', expected_data)
|
self._test_for_meter('switch.flow.packets', expected_data)
|
||||||
|
|
||||||
@ -624,7 +620,7 @@ class TestOpenDayLightDriverSimple(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.bytes', expected_data)
|
self._test_for_meter('switch.flow.bytes', expected_data)
|
||||||
|
|
||||||
@ -1078,7 +1074,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"properties_macAddress": "00:00:00:00:00:02",
|
"properties_macAddress": "00:00:00:00:00:02",
|
||||||
"properties_tables": "-1",
|
"properties_tables": "-1",
|
||||||
"properties_timeStamp_connectedSince": "1377291227877"
|
"properties_timeStamp_connectedSince": "1377291227877"
|
||||||
}),
|
}, None),
|
||||||
(1, "00:00:00:00:00:00:00:03", {
|
(1, "00:00:00:00:00:00:00:03", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1089,7 +1085,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"properties_macAddress": "00:00:00:00:00:03",
|
"properties_macAddress": "00:00:00:00:00:03",
|
||||||
"properties_tables": "10",
|
"properties_tables": "10",
|
||||||
"properties_timeStamp_connectedSince": "1377291228000"
|
"properties_timeStamp_connectedSince": "1377291228000"
|
||||||
}),
|
}, None),
|
||||||
]
|
]
|
||||||
|
|
||||||
self._test_for_meter('switch', expected_data)
|
self._test_for_meter('switch', expected_data)
|
||||||
@ -1100,7 +1096,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4',
|
'port': '4',
|
||||||
}),
|
}, None),
|
||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1109,7 +1105,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
'user_link_node_port': '5',
|
'user_link_node_port': '5',
|
||||||
'user_link_status': 'Success',
|
'user_link_status': 'Success',
|
||||||
'user_link_name': 'link1',
|
'user_link_name': 'link1',
|
||||||
}),
|
}, None),
|
||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1121,7 +1117,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"topology_name": "s2-eth3",
|
"topology_name": "s2-eth3",
|
||||||
"topology_state": 1,
|
"topology_state": 1,
|
||||||
"topology_timeStamp_creation": 1379527162648
|
"topology_timeStamp_creation": 1379527162648
|
||||||
}),
|
}, None),
|
||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1131,7 +1127,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
'host_networkAddress': '2.2.2.2',
|
'host_networkAddress': '2.2.2.2',
|
||||||
'host_staticHost': 'true',
|
'host_staticHost': 'true',
|
||||||
'host_vlan': '0',
|
'host_vlan': '0',
|
||||||
}),
|
}, None),
|
||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1141,7 +1137,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
'host_networkAddress': '2.2.2.4',
|
'host_networkAddress': '2.2.2.4',
|
||||||
'host_staticHost': 'false',
|
'host_staticHost': 'false',
|
||||||
'host_vlan': '1',
|
'host_vlan': '1',
|
||||||
}),
|
}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port', expected_data)
|
self._test_for_meter('switch.port', expected_data)
|
||||||
|
|
||||||
@ -1150,23 +1146,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(182, "00:00:00:00:00:00:00:02", {
|
(182, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(174, "00:00:00:00:00:00:00:02", {
|
(174, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.packets', expected_data)
|
self._test_for_meter('switch.port.receive.packets', expected_data)
|
||||||
|
|
||||||
@ -1175,23 +1171,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(173, "00:00:00:00:00:00:00:02", {
|
(173, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(181, "00:00:00:00:00:00:00:02", {
|
(181, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.packets', expected_data)
|
self._test_for_meter('switch.port.transmit.packets', expected_data)
|
||||||
|
|
||||||
@ -1200,23 +1196,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(12740, "00:00:00:00:00:00:00:02", {
|
(12740, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(12180, "00:00:00:00:00:00:00:02", {
|
(12180, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.bytes', expected_data)
|
self._test_for_meter('switch.port.receive.bytes', expected_data)
|
||||||
|
|
||||||
@ -1225,23 +1221,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(12110, "00:00:00:00:00:00:00:02", {
|
(12110, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(12670, "00:00:00:00:00:00:00:02", {
|
(12670, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.bytes', expected_data)
|
self._test_for_meter('switch.port.transmit.bytes', expected_data)
|
||||||
|
|
||||||
@ -1250,23 +1246,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.drops', expected_data)
|
self._test_for_meter('switch.port.receive.drops', expected_data)
|
||||||
|
|
||||||
@ -1275,23 +1271,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.drops', expected_data)
|
self._test_for_meter('switch.port.transmit.drops', expected_data)
|
||||||
|
|
||||||
@ -1300,23 +1296,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.errors', expected_data)
|
self._test_for_meter('switch.port.receive.errors', expected_data)
|
||||||
|
|
||||||
@ -1325,23 +1321,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.transmit.errors', expected_data)
|
self._test_for_meter('switch.port.transmit.errors', expected_data)
|
||||||
|
|
||||||
@ -1350,23 +1346,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.frame_error', expected_data)
|
self._test_for_meter('switch.port.receive.frame_error', expected_data)
|
||||||
|
|
||||||
@ -1375,23 +1371,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.overrun_error',
|
self._test_for_meter('switch.port.receive.overrun_error',
|
||||||
expected_data)
|
expected_data)
|
||||||
@ -1401,23 +1397,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.receive.crc_error', expected_data)
|
self._test_for_meter('switch.port.receive.crc_error', expected_data)
|
||||||
|
|
||||||
@ -1426,23 +1422,23 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '4'}),
|
'port': '4'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '3'}),
|
'port': '3'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '2'}),
|
'port': '2'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '1'}),
|
'port': '1'}, None),
|
||||||
(0, "00:00:00:00:00:00:00:02", {
|
(0, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'port': '0'}),
|
'port': '0'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.port.collision.count', expected_data)
|
self._test_for_meter('switch.port.collision.count', expected_data)
|
||||||
|
|
||||||
@ -1451,11 +1447,11 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '1'}),
|
'table_id': '1'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table', expected_data)
|
self._test_for_meter('switch.table', expected_data)
|
||||||
|
|
||||||
@ -1464,11 +1460,11 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(11, "00:00:00:00:00:00:00:02", {
|
(11, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
(20, "00:00:00:00:00:00:00:02", {
|
(20, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '1'}),
|
'table_id': '1'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table.active.entries', expected_data)
|
self._test_for_meter('switch.table.active.entries', expected_data)
|
||||||
|
|
||||||
@ -1477,11 +1473,11 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(816, "00:00:00:00:00:00:00:02", {
|
(816, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
(10, "00:00:00:00:00:00:00:02", {
|
(10, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '1'}),
|
'table_id': '1'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table.lookup.packets', expected_data)
|
self._test_for_meter('switch.table.lookup.packets', expected_data)
|
||||||
|
|
||||||
@ -1490,11 +1486,11 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
(220, "00:00:00:00:00:00:00:02", {
|
(220, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '0'}),
|
'table_id': '0'}, None),
|
||||||
(5, "00:00:00:00:00:00:00:02", {
|
(5, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
'table_id': '1'}),
|
'table_id': '1'}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.table.matched.packets', expected_data)
|
self._test_for_meter('switch.table.matched.packets', expected_data)
|
||||||
|
|
||||||
@ -1518,7 +1514,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"
|
"flow_priority": "1"
|
||||||
}),
|
}, None),
|
||||||
(1, "00:00:00:00:00:00:00:02", {
|
(1, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1537,7 +1533,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"
|
"flow_priority": "1"
|
||||||
}),
|
}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow', expected_data)
|
self._test_for_meter('switch.flow', expected_data)
|
||||||
|
|
||||||
@ -1560,7 +1556,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
(5648, "00:00:00:00:00:00:00:02", {
|
(5648, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1578,7 +1574,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.duration_seconds', expected_data)
|
self._test_for_meter('switch.flow.duration_seconds', expected_data)
|
||||||
|
|
||||||
@ -1601,7 +1597,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
(200000, "00:00:00:00:00:00:00:02", {
|
(200000, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1619,7 +1615,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.duration_nanoseconds', expected_data)
|
self._test_for_meter('switch.flow.duration_nanoseconds', expected_data)
|
||||||
|
|
||||||
@ -1642,7 +1638,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
(30, "00:00:00:00:00:00:00:02", {
|
(30, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1660,7 +1656,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.packets', expected_data)
|
self._test_for_meter('switch.flow.packets', expected_data)
|
||||||
|
|
||||||
@ -1683,7 +1679,7 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
(89, "00:00:00:00:00:00:00:02", {
|
(89, "00:00:00:00:00:00:00:02", {
|
||||||
'controller': 'OpenDaylight',
|
'controller': 'OpenDaylight',
|
||||||
'container': 'default',
|
'container': 'default',
|
||||||
@ -1701,6 +1697,6 @@ class TestOpenDayLightDriverComplex(_Base):
|
|||||||
"flow_actions_port_type": "OF",
|
"flow_actions_port_type": "OF",
|
||||||
"flow_hardTimeout": "0",
|
"flow_hardTimeout": "0",
|
||||||
"flow_idleTimeout": "0",
|
"flow_idleTimeout": "0",
|
||||||
"flow_priority": "1"}),
|
"flow_priority": "1"}, None),
|
||||||
]
|
]
|
||||||
self._test_for_meter('switch.flow.bytes', expected_data)
|
self._test_for_meter('switch.flow.bytes', expected_data)
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from oslo_utils import timeutils
|
from oslo_utils import timeutils
|
||||||
|
from oslo_utils import uuidutils
|
||||||
from oslotest import base
|
from oslotest import base
|
||||||
|
|
||||||
from ceilometer.network import statistics
|
from ceilometer.network import statistics
|
||||||
@ -23,6 +24,8 @@ from ceilometer.network.statistics import driver
|
|||||||
from ceilometer import sample
|
from ceilometer import sample
|
||||||
from ceilometer import service
|
from ceilometer import service
|
||||||
|
|
||||||
|
PROJECT_ID = uuidutils.generate_uuid()
|
||||||
|
|
||||||
|
|
||||||
class TestBase(base.BaseTestCase):
|
class TestBase(base.BaseTestCase):
|
||||||
|
|
||||||
@ -111,46 +114,50 @@ class TestBaseGetSamples(base.BaseTestCase):
|
|||||||
|
|
||||||
return [v for v in self.pollster.get_samples(self, {}, resources)]
|
return [v for v in self.pollster.get_samples(self, {}, resources)]
|
||||||
|
|
||||||
def _assert_sample(self, s, volume, resource_id, resource_metadata):
|
def _assert_sample(self, s, volume, resource_id, resource_metadata,
|
||||||
|
project_id):
|
||||||
self.assertEqual('foo', s.name)
|
self.assertEqual('foo', s.name)
|
||||||
self.assertEqual(sample.TYPE_CUMULATIVE, s.type)
|
self.assertEqual(sample.TYPE_CUMULATIVE, s.type)
|
||||||
self.assertEqual('bar', s.unit)
|
self.assertEqual('bar', s.unit)
|
||||||
self.assertEqual(volume, s.volume)
|
self.assertEqual(volume, s.volume)
|
||||||
self.assertIsNone(s.user_id)
|
self.assertIsNone(s.user_id)
|
||||||
self.assertIsNone(s.project_id)
|
self.assertEqual(project_id, s.project_id)
|
||||||
self.assertEqual(resource_id, s.resource_id)
|
self.assertEqual(resource_id, s.resource_id)
|
||||||
self.assertEqual(resource_metadata, s.resource_metadata)
|
self.assertEqual(resource_metadata, s.resource_metadata)
|
||||||
|
|
||||||
def test_get_samples_one_driver_one_resource(self):
|
def test_get_samples_one_driver_one_resource(self):
|
||||||
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},),
|
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},
|
||||||
(2, 'b', None))
|
PROJECT_ID),
|
||||||
|
(2, 'b', None, None))
|
||||||
|
|
||||||
self._setup_ext_mgr(http=fake_driver(self.CONF))
|
self._setup_ext_mgr(http=fake_driver(self.CONF))
|
||||||
|
|
||||||
samples = self._get_samples('http://foo')
|
samples = self._get_samples('http://foo')
|
||||||
|
|
||||||
self.assertEqual(1, len(samples))
|
self.assertEqual(1, len(samples))
|
||||||
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
|
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, PROJECT_ID)
|
||||||
|
|
||||||
def test_get_samples_one_driver_two_resource(self):
|
def test_get_samples_one_driver_two_resource(self):
|
||||||
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},),
|
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},
|
||||||
(2, 'b', None),
|
None),
|
||||||
(3, 'c', None))
|
(2, 'b', None, None),
|
||||||
|
(3, 'c', None, None))
|
||||||
|
|
||||||
self._setup_ext_mgr(http=fake_driver(self.CONF))
|
self._setup_ext_mgr(http=fake_driver(self.CONF))
|
||||||
|
|
||||||
samples = self._get_samples('http://foo', 'http://bar')
|
samples = self._get_samples('http://foo', 'http://bar')
|
||||||
|
|
||||||
self.assertEqual(2, len(samples))
|
self.assertEqual(2, len(samples))
|
||||||
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
|
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, None)
|
||||||
self._assert_sample(samples[1], 2, 'b', {})
|
self._assert_sample(samples[1], 2, 'b', {}, None)
|
||||||
|
|
||||||
def test_get_samples_two_driver_one_resource(self):
|
def test_get_samples_two_driver_one_resource(self):
|
||||||
fake_driver1 = self._make_fake_driver((1, 'a', {'spam': 'egg'},),
|
fake_driver1 = self._make_fake_driver((1, 'a', {'spam': 'egg'},
|
||||||
(2, 'b', None))
|
None),
|
||||||
|
(2, 'b', None, None))
|
||||||
|
|
||||||
fake_driver2 = self._make_fake_driver((11, 'A', None),
|
fake_driver2 = self._make_fake_driver((11, 'A', None, None),
|
||||||
(12, 'B', None))
|
(12, 'B', None, None))
|
||||||
|
|
||||||
self._setup_ext_mgr(http=fake_driver1(self.CONF),
|
self._setup_ext_mgr(http=fake_driver1(self.CONF),
|
||||||
https=fake_driver2(self.CONF))
|
https=fake_driver2(self.CONF))
|
||||||
@ -158,19 +165,20 @@ class TestBaseGetSamples(base.BaseTestCase):
|
|||||||
samples = self._get_samples('http://foo')
|
samples = self._get_samples('http://foo')
|
||||||
|
|
||||||
self.assertEqual(1, len(samples))
|
self.assertEqual(1, len(samples))
|
||||||
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
|
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, None)
|
||||||
|
|
||||||
def test_get_samples_multi_samples(self):
|
def test_get_samples_multi_samples(self):
|
||||||
fake_driver = self._make_fake_driver([(1, 'a', {'spam': 'egg'},),
|
fake_driver = self._make_fake_driver([(1, 'a', {'spam': 'egg'},
|
||||||
(2, 'b', None)])
|
None),
|
||||||
|
(2, 'b', None, None)])
|
||||||
|
|
||||||
self._setup_ext_mgr(http=fake_driver(self.CONF))
|
self._setup_ext_mgr(http=fake_driver(self.CONF))
|
||||||
|
|
||||||
samples = self._get_samples('http://foo')
|
samples = self._get_samples('http://foo')
|
||||||
|
|
||||||
self.assertEqual(2, len(samples))
|
self.assertEqual(2, len(samples))
|
||||||
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'})
|
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, None)
|
||||||
self._assert_sample(samples[1], 2, 'b', {})
|
self._assert_sample(samples[1], 2, 'b', {}, None)
|
||||||
|
|
||||||
def test_get_samples_return_none(self):
|
def test_get_samples_return_none(self):
|
||||||
fake_driver = self._make_fake_driver(None)
|
fake_driver = self._make_fake_driver(None)
|
||||||
|
Loading…
Reference in New Issue
Block a user