
Adds support to POST events to the /v1/events API endpoint. Updates LAST_KNOWN_API_VERSION to 51. Co-Authored-By: Harald Jensås <hjensas@redhat.com> Story: 1304673 Task: 22149 Depends-On: https://review.openstack.org/631946 Change-Id: I6bc2d711687350ee3000b6898b68c3d05db62260
59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
# 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 ironicclient.tests.unit import utils
|
|
from ironicclient.v1 import events
|
|
|
|
FAKE_EVENT = {"event": "type.event"}
|
|
FAKE_NETWORK_PORT_EVENT = {
|
|
'event': "network.bind_port",
|
|
'port_id': '11111111-aaaa-bbbb-cccc-555555555555',
|
|
'mac_address': 'de:ad:ca:fe:ba:be',
|
|
'status': 'ACTIVE',
|
|
'device_id': '22222222-aaaa-bbbb-cccc-555555555555',
|
|
'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555',
|
|
'binding:vnic_type': 'baremetal',
|
|
}
|
|
FAKE_EVENTS = {'events': [FAKE_EVENT]}
|
|
FAKE_NETWORK_PORT_EVENTS = {'events': [FAKE_NETWORK_PORT_EVENT]}
|
|
|
|
fake_responses = {
|
|
'/v1/events':
|
|
{
|
|
'POST': (
|
|
{},
|
|
None
|
|
)
|
|
}
|
|
}
|
|
|
|
|
|
class EventManagerTest(testtools.TestCase):
|
|
def setUp(self):
|
|
super(EventManagerTest, self).setUp()
|
|
self.api = utils.FakeAPI(fake_responses)
|
|
self.mgr = events.EventManager(self.api)
|
|
|
|
def test_event(self):
|
|
evts = self.mgr.create(**FAKE_EVENTS)
|
|
expect = [('POST', '/v1/events', {}, FAKE_EVENTS)]
|
|
self.assertEqual(expect, self.api.calls)
|
|
self.assertIsNone(evts)
|
|
|
|
def test_network_port_event(self):
|
|
evts = self.mgr.create(**FAKE_NETWORK_PORT_EVENTS)
|
|
expect = [('POST', '/v1/events', {}, FAKE_NETWORK_PORT_EVENTS)]
|
|
self.assertEqual(expect, self.api.calls)
|
|
self.assertIsNone(evts)
|