Skip to content

Commit db9b194

Browse files
committed
Remove connection CRUD methods
While these methods are cool short cuts and work in a lot of cases, I think they will cause problems and confustion. The proxy is respsonsible for hiding some API inconsistencies and this by passes that. Change-Id: Iafaf2b035d0c3a0f342ca5f66baaddfaf624404e
1 parent b5056b3 commit db9b194

5 files changed

Lines changed: 7 additions & 133 deletions

File tree

examples/jenkins/delete.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ def delete_jenkins(conn, name, opts):
3737
print(str(ip))
3838
ip = conn.network.find_ip(ip)
3939
conn.network.remove_ip_from_port(ip)
40-
conn.delete(ip)
41-
conn.delete(server)
40+
conn.network.delete_ip(ip)
41+
conn.compute.delete_server(server)
4242

4343
keypair.delete(conn, name)
4444
network.delete(conn, name)

examples/keypair/delete.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def delete(conn, name):
2929
kp = conn.compute.find_keypair(name)
3030
if kp is not None:
3131
print(str(kp))
32-
conn.delete(kp)
32+
conn.compute.delete_keypair(kp)
3333

3434

3535
def run_keypair(opts):

examples/network/delete.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,18 @@ def delete(conn, name):
4141
pass
4242
for port in conn.network.get_subnet_ports(subnet.id):
4343
print(str(port))
44-
conn.delete(port)
44+
conn.network.delete_port(port)
4545

4646
if router is not None:
47-
conn.delete(router)
47+
conn.network.delete_router(router)
4848

4949
if subnet:
50-
conn.delete(subnet)
50+
conn.network.delete_subnet(subnet)
5151

5252
network = conn.network.find_network(name)
5353
if network is not None:
5454
print(str(network))
55-
conn.delete(network)
55+
conn.network.delete_network(network)
5656

5757

5858
def run_network(opts):

openstack/connection.py

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -218,48 +218,3 @@ def _load(self, service):
218218
setattr(self, attr_name, proxy_class(self.session))
219219
except Exception as e:
220220
_logger.warn("Unable to load %s: %s" % (module, e))
221-
222-
def create(self, obj):
223-
"""Create an object.
224-
225-
:param obj: A resource object.
226-
:type resource: :class:`~openstack.resource.Resource`
227-
"""
228-
obj.create(self.session)
229-
return obj
230-
231-
def get(self, obj, include_headers=False):
232-
"""Get an object.
233-
234-
:param obj: A resource object.
235-
:type resource: :class:`~openstack.resource.Resource`
236-
:param bool include_headers: Read object headers.
237-
"""
238-
obj.get(self.session, include_headers)
239-
return obj
240-
241-
def head(self, obj):
242-
"""Get an object.
243-
244-
:param obj: A resource object.
245-
:type resource: :class:`~openstack.resource.Resource`
246-
"""
247-
obj.head(self.session)
248-
return obj
249-
250-
def update(self, obj):
251-
"""Update an object.
252-
253-
:param obj: A resource object.
254-
:type resource: :class:`~openstack.resource.Resource`
255-
"""
256-
obj.update(self.session)
257-
return obj
258-
259-
def delete(self, obj):
260-
"""Delete an object.
261-
262-
:param obj: A resource object.
263-
:type resource: :class:`~openstack.resource.Resource`
264-
"""
265-
obj.delete(self.session)

openstack/tests/unit/test_connection.py

Lines changed: 0 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@
1313
import mock
1414

1515
from openstack.auth.identity import v2
16-
from openstack.auth import service_filter
1716
from openstack import connection
1817
from openstack import exceptions
1918
from openstack import profile
20-
from openstack import resource
2119
from openstack.tests.unit import base
2220
from openstack import transport
2321

@@ -130,82 +128,3 @@ def test_custom_user_agent(self):
130128
conn = connection.Connection(authenticator=self.auth,
131129
user_agent=user_agent)
132130
self.assertTrue(conn.transport._user_agent.startswith(user_agent))
133-
134-
135-
class TestService(service_filter.ServiceFilter):
136-
valid_versions = [service_filter.ValidVersion('v2')]
137-
138-
def __init__(self):
139-
super(TestService, self).__init__(service_type='test')
140-
141-
142-
class TestResource(resource.Resource):
143-
resource_key = "testable"
144-
resources_key = "testables"
145-
base_path = "/testables"
146-
service = TestService()
147-
allow_create = True
148-
allow_retrieve = True
149-
allow_update = True
150-
allow_delete = True
151-
allow_list = True
152-
allow_head = True
153-
name = resource.prop('name')
154-
155-
156-
class TestConnectionObjectMethods(base.TestCase):
157-
def setUp(self):
158-
super(TestConnectionObjectMethods, self).setUp()
159-
self.conn = connection.Connection(authenticator=mock.MagicMock(),
160-
transport=mock.MagicMock())
161-
self.conn.session = mock.MagicMock()
162-
self.args = {'name': 'fee', 'id': 'fie'}
163-
self.body = {'testable': self.args}
164-
self.response = mock.Mock
165-
self.response.body = self.body
166-
167-
def test_obj_create(self):
168-
test = TestResource.existing(**self.args)
169-
self.conn.session.put = mock.MagicMock()
170-
self.conn.session.put.and_return = self.response
171-
self.assertEqual(test, self.conn.create(test))
172-
url = 'testables/fie'
173-
self.conn.session.put.assert_called_with(url, json=self.body,
174-
service=test.service)
175-
176-
def test_obj_get(self):
177-
test = TestResource.existing(**self.args)
178-
self.conn.session.get = mock.MagicMock()
179-
self.conn.session.get.and_return = self.response
180-
self.assertEqual(test, self.conn.get(test))
181-
url = 'testables/fie'
182-
self.conn.session.get.assert_called_with(url, service=test.service)
183-
184-
def test_obj_head(self):
185-
test = TestResource.existing(**self.args)
186-
self.conn.session.head = mock.MagicMock()
187-
self.conn.session.head.and_return = self.response
188-
self.assertEqual(test, self.conn.head(test))
189-
url = 'testables/fie'
190-
self.conn.session.head.assert_called_with(url, service=test.service,
191-
accept=None)
192-
193-
def test_obj_update(self):
194-
test = TestResource.existing(**self.args)
195-
test['name'] = 'newname'
196-
self.body = {'testable': {'name': 'newname'}}
197-
self.conn.session.put = mock.MagicMock()
198-
self.conn.session.put.and_return = self.response
199-
self.assertEqual(test, self.conn.update(test))
200-
url = 'testables/fie'
201-
self.conn.session.put.assert_called_with(url, json=self.body,
202-
service=test.service)
203-
204-
def test_obj_delete(self):
205-
test = TestResource.existing(**self.args)
206-
self.conn.session.delete = mock.MagicMock()
207-
self.conn.session.delete.and_return = self.response
208-
self.assertEqual(None, self.conn.delete(test))
209-
url = 'testables/fie'
210-
self.conn.session.delete.assert_called_with(url, service=test.service,
211-
accept=None)

0 commit comments

Comments
 (0)