Merge "Convert Floating IP bulk tests to httpretty"

This commit is contained in:
Jenkins 2014-06-16 20:03:22 +00:00 committed by Gerrit Code Review
commit 882627daf2
2 changed files with 65 additions and 15 deletions

View File

@ -147,3 +147,52 @@ class DNSFixture(base.Fixture):
httpretty.register_uri(httpretty.PUT, self.url('testdomain'),
body=put_os_floating_ip_dns_testdomain)
class BulkFixture(base.Fixture):
base_url = 'os-floating-ips-bulk'
def setUp(self):
super(BulkFixture, self).setUp()
get_os_floating_ips_bulk = {
'floating_ip_info': [
{'id': 1, 'fixed_ip': '10.0.0.1', 'ip': '11.0.0.1'},
{'id': 2, 'fixed_ip': '10.0.0.2', 'ip': '11.0.0.2'},
]
}
httpretty.register_uri(httpretty.GET, self.url(),
body=jsonutils.dumps(get_os_floating_ips_bulk),
content_type='application/json')
httpretty.register_uri(httpretty.GET, self.url('testHost'),
body=jsonutils.dumps(get_os_floating_ips_bulk),
content_type='application/json')
def put_os_floating_ips_bulk_delete(request, url, headers):
body = jsonutils.loads(request.body.decode('utf-8'))
ip_range = body.get('ip_range')
data = {'floating_ips_bulk_delete': ip_range}
return 200, headers, jsonutils.dumps(data)
httpretty.register_uri(httpretty.PUT, self.url('delete'),
body=put_os_floating_ips_bulk_delete,
content_type='application/json')
def post_os_floating_ips_bulk(request, url, headers):
body = jsonutils.loads(request.body.decode('utf-8'))
params = body.get('floating_ips_bulk_create')
pool = params.get('pool', 'defaultPool')
interface = params.get('interface', 'defaultInterface')
data = {
'floating_ips_bulk_create': {
'ip_range': '192.168.1.0/30',
'pool': pool,
'interface': interface
}
}
return 200, headers, jsonutils.dumps(data)
httpretty.register_uri(httpretty.POST, self.url(),
body=post_os_floating_ips_bulk,
content_type='application/json')

View File

@ -13,42 +13,43 @@
# License for the specific language governing permissions and limitations
# under the License.
from novaclient.tests.fixture_data import client
from novaclient.tests.fixture_data import floatingips as data
from novaclient.tests import utils
from novaclient.tests.v1_1 import fakes
from novaclient.v1_1 import floating_ips_bulk
cs = fakes.FakeClient()
class FloatingIPsBulkTest(utils.FixturedTestCase):
class FloatingIPsBulkTest(utils.TestCase):
client_fixture_class = client.V1
data_fixture_class = data.BulkFixture
def test_list_floating_ips_bulk(self):
fl = cs.floating_ips_bulk.list()
cs.assert_called('GET', '/os-floating-ips-bulk')
fl = self.cs.floating_ips_bulk.list()
self.assert_called('GET', '/os-floating-ips-bulk')
[self.assertIsInstance(f, floating_ips_bulk.FloatingIP)
for f in fl]
def test_list_floating_ips_bulk_host_filter(self):
fl = cs.floating_ips_bulk.list('testHost')
cs.assert_called('GET', '/os-floating-ips-bulk/testHost')
fl = self.cs.floating_ips_bulk.list('testHost')
self.assert_called('GET', '/os-floating-ips-bulk/testHost')
[self.assertIsInstance(f, floating_ips_bulk.FloatingIP)
for f in fl]
def test_create_floating_ips_bulk(self):
fl = cs.floating_ips_bulk.create('192.168.1.0/30')
fl = self.cs.floating_ips_bulk.create('192.168.1.0/30')
body = {'floating_ips_bulk_create': {'ip_range': '192.168.1.0/30'}}
cs.assert_called('POST', '/os-floating-ips-bulk', body)
self.assert_called('POST', '/os-floating-ips-bulk', body)
self.assertEqual(fl.ip_range,
body['floating_ips_bulk_create']['ip_range'])
def test_create_floating_ips_bulk_with_pool_and_host(self):
fl = cs.floating_ips_bulk.create('192.168.1.0/30', 'poolTest',
'interfaceTest')
fl = self.cs.floating_ips_bulk.create('192.168.1.0/30', 'poolTest',
'interfaceTest')
body = {'floating_ips_bulk_create':
{'ip_range': '192.168.1.0/30', 'pool': 'poolTest',
'interface': 'interfaceTest'}}
cs.assert_called('POST', '/os-floating-ips-bulk', body)
self.assert_called('POST', '/os-floating-ips-bulk', body)
self.assertEqual(fl.ip_range,
body['floating_ips_bulk_create']['ip_range'])
self.assertEqual(fl.pool,
@ -57,7 +58,7 @@ class FloatingIPsBulkTest(utils.TestCase):
body['floating_ips_bulk_create']['interface'])
def test_delete_floating_ips_bulk(self):
fl = cs.floating_ips_bulk.delete('192.168.1.0/30')
fl = self.cs.floating_ips_bulk.delete('192.168.1.0/30')
body = {'ip_range': '192.168.1.0/30'}
cs.assert_called('PUT', '/os-floating-ips-bulk/delete', body)
self.assert_called('PUT', '/os-floating-ips-bulk/delete', body)
self.assertEqual(fl.floating_ips_bulk_delete, body['ip_range'])