Update json module to jsonutils
json is deprecated, should use oslo_serialization.jsonutils instead. Change-Id: I1392004e32cc835e803c9a953b4581c75049b950
This commit is contained in:
committed by
Michael Johnson
parent
9ce614ad84
commit
2a057474a8
@@ -15,10 +15,10 @@
|
|||||||
import binascii
|
import binascii
|
||||||
import hashlib
|
import hashlib
|
||||||
import hmac
|
import hmac
|
||||||
import json
|
|
||||||
import zlib
|
import zlib
|
||||||
|
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
from oslo_serialization import jsonutils
|
||||||
from oslo_utils import secretutils
|
from oslo_utils import secretutils
|
||||||
|
|
||||||
from octavia.common import exceptions
|
from octavia.common import exceptions
|
||||||
@@ -35,14 +35,14 @@ def to_hex(byte_array):
|
|||||||
|
|
||||||
|
|
||||||
def encode_obj(obj):
|
def encode_obj(obj):
|
||||||
json_bytes = json.dumps(obj).encode('utf-8')
|
json_bytes = jsonutils.dumps(obj).encode('utf-8')
|
||||||
binary_array = zlib.compress(json_bytes, 9)
|
binary_array = zlib.compress(json_bytes, 9)
|
||||||
return binary_array
|
return binary_array
|
||||||
|
|
||||||
|
|
||||||
def decode_obj(binary_array):
|
def decode_obj(binary_array):
|
||||||
json_str = zlib.decompress(binary_array).decode('utf-8')
|
json_str = zlib.decompress(binary_array).decode('utf-8')
|
||||||
obj = json.loads(json_str)
|
obj = jsonutils.loads(json_str)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
import json
|
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
import socket
|
import socket
|
||||||
@@ -23,6 +23,7 @@ import fixtures
|
|||||||
import mock
|
import mock
|
||||||
import netifaces
|
import netifaces
|
||||||
from oslo_config import fixture as oslo_fixture
|
from oslo_config import fixture as oslo_fixture
|
||||||
|
from oslo_serialization import jsonutils
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
import six
|
import six
|
||||||
|
|
||||||
@@ -228,7 +229,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'message': 'Invalid request', u'details': u'random error'},
|
{'message': 'Invalid request', u'details': u'random error'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mode = stat.S_IRUSR | stat.S_IWUSR
|
mode = stat.S_IRUSR | stat.S_IWUSR
|
||||||
mock_open.assert_called_with(file_name, flags, mode)
|
mock_open.assert_called_with(file_name, flags, mode)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
@@ -284,7 +285,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'message': 'Invalid Request',
|
{'message': 'Invalid Request',
|
||||||
'details': 'Unknown action: error', },
|
'details': 'Unknown action: error', },
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
mock_exists.return_value = False
|
mock_exists.return_value = False
|
||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
@@ -297,7 +298,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'message': 'Listener Not Found',
|
{'message': 'Listener Not Found',
|
||||||
'details': 'No listener with UUID: 123'},
|
'details': 'No listener with UUID: 123'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_exists.assert_called_with('/var/lib/octavia/123/haproxy.cfg')
|
mock_exists.assert_called_with('/var/lib/octavia/123/haproxy.cfg')
|
||||||
|
|
||||||
mock_exists.return_value = True
|
mock_exists.return_value = True
|
||||||
@@ -312,7 +313,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
{'message': 'OK',
|
{'message': 'OK',
|
||||||
'details': 'Configuration file is valid\nhaproxy daemon for'
|
'details': 'Configuration file is valid\nhaproxy daemon for'
|
||||||
' 123 started'},
|
' 123 started'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_subprocess.assert_called_with(
|
mock_subprocess.assert_called_with(
|
||||||
['/usr/sbin/service', 'haproxy-123', 'start'], stderr=-2)
|
['/usr/sbin/service', 'haproxy-123', 'start'], stderr=-2)
|
||||||
|
|
||||||
@@ -330,7 +331,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
{
|
{
|
||||||
'message': 'Error starting haproxy',
|
'message': 'Error starting haproxy',
|
||||||
'details': RANDOM_ERROR,
|
'details': RANDOM_ERROR,
|
||||||
}, json.loads(rv.data.decode('utf-8')))
|
}, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_subprocess.assert_called_with(
|
mock_subprocess.assert_called_with(
|
||||||
['/usr/sbin/service', 'haproxy-123', 'start'], stderr=-2)
|
['/usr/sbin/service', 'haproxy-123', 'start'], stderr=-2)
|
||||||
|
|
||||||
@@ -364,7 +365,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'message': 'OK',
|
{'message': 'OK',
|
||||||
'details': 'Listener 123 reloaded'},
|
'details': 'Listener 123 reloaded'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_subprocess.assert_called_with(
|
mock_subprocess.assert_called_with(
|
||||||
['/usr/sbin/service', 'haproxy-123', 'reload'], stderr=-2)
|
['/usr/sbin/service', 'haproxy-123', 'reload'], stderr=-2)
|
||||||
|
|
||||||
@@ -382,7 +383,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
{'message': 'OK',
|
{'message': 'OK',
|
||||||
'details': 'Configuration file is valid\nhaproxy daemon for'
|
'details': 'Configuration file is valid\nhaproxy daemon for'
|
||||||
' 123 started'},
|
' 123 started'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_subprocess.assert_called_with(
|
mock_subprocess.assert_called_with(
|
||||||
['/usr/sbin/service', 'haproxy-123', 'start'], stderr=-2)
|
['/usr/sbin/service', 'haproxy-123', 'start'], stderr=-2)
|
||||||
|
|
||||||
@@ -413,7 +414,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
api_version='0.5',
|
api_version='0.5',
|
||||||
haproxy_version='9.9.99-9',
|
haproxy_version='9.9.99-9',
|
||||||
hostname='test-host'),
|
hostname='test-host'),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
@mock.patch('octavia.amphorae.backends.agent.api_server.util.'
|
@mock.patch('octavia.amphorae.backends.agent.api_server.util.'
|
||||||
'get_listener_protocol', return_value='TCP')
|
'get_listener_protocol', return_value='TCP')
|
||||||
@@ -472,7 +473,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.centos_app.delete('/' + api_server.VERSION +
|
rv = self.centos_app.delete('/' + api_server.VERSION +
|
||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_exists.assert_called_with('/var/lib/octavia/123/haproxy.cfg')
|
mock_exists.assert_called_with('/var/lib/octavia/123/haproxy.cfg')
|
||||||
|
|
||||||
# service is stopped + no upstart script + no vrrp
|
# service is stopped + no upstart script + no vrrp
|
||||||
@@ -485,7 +486,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual({u'message': u'OK'},
|
self.assertEqual({u'message': u'OK'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_rmtree.assert_called_with('/var/lib/octavia/123')
|
mock_rmtree.assert_called_with('/var/lib/octavia/123')
|
||||||
|
|
||||||
if init_system == consts.INIT_SYSTEMD:
|
if init_system == consts.INIT_SYSTEMD:
|
||||||
@@ -512,7 +513,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual({u'message': u'OK'},
|
self.assertEqual({u'message': u'OK'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_rmtree.assert_called_with('/var/lib/octavia/123')
|
mock_rmtree.assert_called_with('/var/lib/octavia/123')
|
||||||
|
|
||||||
if init_system == consts.INIT_SYSTEMD:
|
if init_system == consts.INIT_SYSTEMD:
|
||||||
@@ -539,7 +540,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual({u'message': u'OK'},
|
self.assertEqual({u'message': u'OK'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
if init_system == consts.INIT_SYSTEMD:
|
if init_system == consts.INIT_SYSTEMD:
|
||||||
mock_remove.assert_called_with(consts.SYSTEMD_DIR +
|
mock_remove.assert_called_with(consts.SYSTEMD_DIR +
|
||||||
@@ -563,7 +564,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual({u'message': u'OK'},
|
self.assertEqual({u'message': u'OK'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
if init_system == consts.INIT_SYSTEMD:
|
if init_system == consts.INIT_SYSTEMD:
|
||||||
mock_remove.assert_called_with(consts.SYSTEMD_DIR +
|
mock_remove.assert_called_with(consts.SYSTEMD_DIR +
|
||||||
@@ -588,7 +589,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual({u'message': u'OK'},
|
self.assertEqual({u'message': u'OK'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_pid.assert_called_once_with('123')
|
mock_pid.assert_called_once_with('123')
|
||||||
mock_check_output.assert_any_call(
|
mock_check_output.assert_any_call(
|
||||||
['/usr/sbin/service', 'haproxy-123', 'stop'], stderr=-2)
|
['/usr/sbin/service', 'haproxy-123', 'stop'], stderr=-2)
|
||||||
@@ -618,7 +619,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123')
|
'/listeners/123')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual({u'message': u'OK'},
|
self.assertEqual({u'message': u'OK'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_pid.assert_called_with('123')
|
mock_pid.assert_called_with('123')
|
||||||
mock_check_output.assert_any_call(
|
mock_check_output.assert_any_call(
|
||||||
['/usr/sbin/service', 'haproxy-123', 'stop'], stderr=-2)
|
['/usr/sbin/service', 'haproxy-123', 'stop'], stderr=-2)
|
||||||
@@ -650,7 +651,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(500, rv.status_code)
|
self.assertEqual(500, rv.status_code)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'details': 'random error', 'message': 'Error stopping haproxy'},
|
{'details': 'random error', 'message': 'Error stopping haproxy'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
# that's the last call before exception
|
# that's the last call before exception
|
||||||
mock_exists.assert_called_with('/proc/456')
|
mock_exists.assert_called_with('/proc/456')
|
||||||
|
|
||||||
@@ -715,7 +716,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.centos_app.get('/' + api_server.VERSION + '/listeners')
|
rv = self.centos_app.get('/' + api_server.VERSION + '/listeners')
|
||||||
|
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertFalse(json.loads(rv.data.decode('utf-8')))
|
self.assertFalse(jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# one listener ACTIVE
|
# one listener ACTIVE
|
||||||
mock_listener.side_effect = [['123']]
|
mock_listener.side_effect = [['123']]
|
||||||
@@ -729,7 +730,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
[{'status': consts.ACTIVE, 'type': 'test', 'uuid': '123'}],
|
[{'status': consts.ACTIVE, 'type': 'test', 'uuid': '123'}],
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# two listener one ACTIVE, one ERROR
|
# two listener one ACTIVE, one ERROR
|
||||||
mock_listener.side_effect = [['123', '456']]
|
mock_listener.side_effect = [['123', '456']]
|
||||||
@@ -744,7 +745,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
[{'status': consts.ACTIVE, 'type': 'test', 'uuid': '123'},
|
[{'status': consts.ACTIVE, 'type': 'test', 'uuid': '123'},
|
||||||
{'status': consts.ERROR, 'type': '', 'uuid': '456'}],
|
{'status': consts.ERROR, 'type': '', 'uuid': '456'}],
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
def test_ubuntu_get_listener(self):
|
def test_ubuntu_get_listener(self):
|
||||||
self._test_get_listener(consts.UBUNTU)
|
self._test_get_listener(consts.UBUNTU)
|
||||||
@@ -775,7 +776,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'message': 'Listener Not Found',
|
{'message': 'Listener Not Found',
|
||||||
'details': 'No listener with UUID: 123'},
|
'details': 'No listener with UUID: 123'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Listener not ACTIVE
|
# Listener not ACTIVE
|
||||||
mock_parse.side_effect = [dict(mode='test')]
|
mock_parse.side_effect = [dict(mode='test')]
|
||||||
@@ -791,7 +792,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(dict(
|
self.assertEqual(dict(
|
||||||
status=consts.ERROR,
|
status=consts.ERROR,
|
||||||
type='',
|
type='',
|
||||||
uuid='123'), json.loads(rv.data.decode('utf-8')))
|
uuid='123'), jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Listener ACTIVE
|
# Listener ACTIVE
|
||||||
mock_parse.side_effect = [dict(mode='test', stats_socket='blah')]
|
mock_parse.side_effect = [dict(mode='test', stats_socket='blah')]
|
||||||
@@ -823,7 +824,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
members=[
|
members=[
|
||||||
{u'id-34833': u'DOWN'},
|
{u'id-34833': u'DOWN'},
|
||||||
{u'id-34836': u'DOWN'}])]),
|
{u'id-34836': u'DOWN'}])]),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
def test_ubuntu_delete_cert(self):
|
def test_ubuntu_delete_cert(self):
|
||||||
self._test_delete_cert(consts.UBUNTU)
|
self._test_delete_cert(consts.UBUNTU)
|
||||||
@@ -843,7 +844,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.centos_app.delete('/' + api_server.VERSION +
|
rv = self.centos_app.delete('/' + api_server.VERSION +
|
||||||
'/listeners/123/certificates/test.pem')
|
'/listeners/123/certificates/test.pem')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_exists.assert_called_once_with(
|
mock_exists.assert_called_once_with(
|
||||||
'/var/lib/octavia/certs/123/test.pem')
|
'/var/lib/octavia/certs/123/test.pem')
|
||||||
|
|
||||||
@@ -865,7 +866,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.centos_app.delete('/' + api_server.VERSION +
|
rv = self.centos_app.delete('/' + api_server.VERSION +
|
||||||
'/listeners/123/certificates/test.pem')
|
'/listeners/123/certificates/test.pem')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_remove.assert_called_once_with(
|
mock_remove.assert_called_once_with(
|
||||||
'/var/lib/octavia/certs/123/test.pem')
|
'/var/lib/octavia/certs/123/test.pem')
|
||||||
|
|
||||||
@@ -893,7 +894,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
self.assertEqual(dict(
|
self.assertEqual(dict(
|
||||||
details='No certificate with filename: test.pem',
|
details='No certificate with filename: test.pem',
|
||||||
message='Certificate Not Found'),
|
message='Certificate Not Found'),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_exists.assert_called_with('/var/lib/octavia/certs/123/test.pem')
|
mock_exists.assert_called_with('/var/lib/octavia/certs/123/test.pem')
|
||||||
|
|
||||||
# wrong file name
|
# wrong file name
|
||||||
@@ -925,7 +926,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123/certificates/test.pem')
|
'/listeners/123/certificates/test.pem')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(dict(md5sum=hashlib.md5(six.b(CONTENT)).hexdigest()),
|
self.assertEqual(dict(md5sum=hashlib.md5(six.b(CONTENT)).hexdigest()),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
def test_ubuntu_upload_certificate_md5(self):
|
def test_ubuntu_upload_certificate_md5(self):
|
||||||
self._test_upload_certificate_md5(consts.UBUNTU)
|
self._test_upload_certificate_md5(consts.UBUNTU)
|
||||||
@@ -969,7 +970,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123/certificates/'
|
'/listeners/123/certificates/'
|
||||||
'test.pem', data='TestTest')
|
'test.pem', data='TestTest')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
handle = m()
|
handle = m()
|
||||||
handle.write.assert_called_once_with(six.b('TestTest'))
|
handle.write.assert_called_once_with(six.b('TestTest'))
|
||||||
|
|
||||||
@@ -986,7 +987,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
'/listeners/123/certificates/'
|
'/listeners/123/certificates/'
|
||||||
'test.pem', data='TestTest')
|
'test.pem', data='TestTest')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
handle = m()
|
handle = m()
|
||||||
handle.write.assert_called_once_with(six.b('TestTest'))
|
handle.write.assert_called_once_with(six.b('TestTest'))
|
||||||
mock_makedir.assert_called_once_with('/var/lib/octavia/certs/123')
|
mock_makedir.assert_called_once_with('/var/lib/octavia/certs/123')
|
||||||
@@ -1009,7 +1010,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.centos_app.put('/' + api_server.VERSION +
|
rv = self.centos_app.put('/' + api_server.VERSION +
|
||||||
'/certificate', data='TestTest')
|
'/certificate', data='TestTest')
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
handle = m()
|
handle = m()
|
||||||
handle.write.assert_any_call(six.b('TestT'))
|
handle.write.assert_any_call(six.b('TestT'))
|
||||||
handle.write.assert_any_call(six.b('est'))
|
handle.write.assert_any_call(six.b('est'))
|
||||||
@@ -1055,15 +1056,15 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(409, rv.status_code)
|
self.assertEqual(409, rv.status_code)
|
||||||
self.assertEqual(dict(message="Interface already exists"),
|
self.assertEqual(dict(message="Interface already exists"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_int_exists.return_value = False
|
mock_int_exists.return_value = False
|
||||||
|
|
||||||
# No interface at all
|
# No interface at all
|
||||||
@@ -1077,18 +1078,18 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
m().write.assert_called_once_with('1')
|
m().write.assert_called_once_with('1')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
self.assertEqual(dict(details="No suitable network interface found"),
|
self.assertEqual(dict(details="No suitable network interface found"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# No interface down
|
# No interface down
|
||||||
m().reset_mock()
|
m().reset_mock()
|
||||||
@@ -1101,18 +1102,18 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
m().write.assert_called_once_with('1')
|
m().write.assert_called_once_with('1')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
self.assertEqual(dict(details="No suitable network interface found"),
|
self.assertEqual(dict(details="No suitable network interface found"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_ifaddress.assert_called_once_with('blah')
|
mock_ifaddress.assert_called_once_with('blah')
|
||||||
|
|
||||||
# One Interface down, Happy Path
|
# One Interface down, Happy Path
|
||||||
@@ -1146,12 +1147,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
|
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
@@ -1217,12 +1218,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
|
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
@@ -1295,12 +1296,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
|
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
@@ -1357,12 +1358,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
# same as above but ifup fails
|
# same as above but ifup fails
|
||||||
@@ -1381,17 +1382,17 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(500, rv.status_code)
|
self.assertEqual(500, rv.status_code)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'details': RANDOM_ERROR,
|
{'details': RANDOM_ERROR,
|
||||||
'message': 'Error plugging network'},
|
'message': 'Error plugging network'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Bad port_info tests
|
# Bad port_info tests
|
||||||
port_info = 'Bad data'
|
port_info = 'Bad data'
|
||||||
@@ -1399,12 +1400,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
port_info = {'fixed_ips': [{'ip_address': '10.0.0.5',
|
port_info = {'fixed_ips': [{'ip_address': '10.0.0.5',
|
||||||
@@ -1413,12 +1414,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
def test_ubuntu_plug_network_host_routes(self):
|
def test_ubuntu_plug_network_host_routes(self):
|
||||||
@@ -1480,12 +1481,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/network",
|
"/plug/network",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(port_info))
|
data=jsonutils.dumps(port_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
|
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
@@ -1584,12 +1585,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
'/plug/vip/error',
|
'/plug/vip/error',
|
||||||
data=json.dumps(subnet_info),
|
data=jsonutils.dumps(subnet_info),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
'/plug/vip/error',
|
'/plug/vip/error',
|
||||||
data=json.dumps(subnet_info),
|
data=jsonutils.dumps(subnet_info),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
@@ -1609,15 +1610,15 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
self.assertEqual(409, rv.status_code)
|
self.assertEqual(409, rv.status_code)
|
||||||
self.assertEqual(dict(message="Interface already exists"),
|
self.assertEqual(dict(message="Interface already exists"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
mock_int_exists.return_value = False
|
mock_int_exists.return_value = False
|
||||||
|
|
||||||
# No interface at all
|
# No interface at all
|
||||||
@@ -1632,18 +1633,18 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
m().write.assert_called_once_with('1')
|
m().write.assert_called_once_with('1')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
self.assertEqual(dict(details="No suitable network interface found"),
|
self.assertEqual(dict(details="No suitable network interface found"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Two interfaces down
|
# Two interfaces down
|
||||||
m().reset_mock()
|
m().reset_mock()
|
||||||
@@ -1657,18 +1658,18 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
m().write.assert_called_once_with('1')
|
m().write.assert_called_once_with('1')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
self.assertEqual(dict(details="No suitable network interface found"),
|
self.assertEqual(dict(details="No suitable network interface found"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Happy Path IPv4, with VRRP_IP and host route
|
# Happy Path IPv4, with VRRP_IP and host route
|
||||||
full_subnet_info = {
|
full_subnet_info = {
|
||||||
@@ -1714,12 +1715,14 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(full_subnet_info))
|
data=jsonutils.dumps(
|
||||||
|
full_subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(full_subnet_info))
|
data=jsonutils.dumps(
|
||||||
|
full_subnet_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
mock_fdopen.assert_any_call(123, 'w')
|
mock_fdopen.assert_any_call(123, 'w')
|
||||||
@@ -1846,12 +1849,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
mock_fdopen.assert_any_call(123, 'w')
|
mock_fdopen.assert_any_call(123, 'w')
|
||||||
@@ -1918,17 +1921,17 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/203.0.113.2",
|
"/plug/vip/203.0.113.2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
self.assertEqual(500, rv.status_code)
|
self.assertEqual(500, rv.status_code)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'details': RANDOM_ERROR,
|
{'details': RANDOM_ERROR,
|
||||||
'message': 'Error plugging VIP'},
|
'message': 'Error plugging VIP'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
def test_ubuntu_plug_VIP6(self):
|
def test_ubuntu_plug_VIP6(self):
|
||||||
self._test_plug_vip6(consts.UBUNTU)
|
self._test_plug_vip6(consts.UBUNTU)
|
||||||
@@ -1967,12 +1970,14 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
'/plug/vip/error',
|
'/plug/vip/error',
|
||||||
data=json.dumps(subnet_info),
|
data=jsonutils.dumps(
|
||||||
|
subnet_info),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
'/plug/vip/error',
|
'/plug/vip/error',
|
||||||
data=json.dumps(subnet_info),
|
data=jsonutils.dumps(
|
||||||
|
subnet_info),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
@@ -1980,12 +1985,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
'/plug/vip/error',
|
'/plug/vip/error',
|
||||||
data=json.dumps(subnet_info),
|
data=jsonutils.dumps(subnet_info),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
'/plug/vip/error',
|
'/plug/vip/error',
|
||||||
data=json.dumps(subnet_info),
|
data=jsonutils.dumps(subnet_info),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
@@ -2000,18 +2005,18 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
m().write.assert_called_once_with('1')
|
m().write.assert_called_once_with('1')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
self.assertEqual(dict(details="No suitable network interface found"),
|
self.assertEqual(dict(details="No suitable network interface found"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Two interfaces down
|
# Two interfaces down
|
||||||
m().reset_mock()
|
m().reset_mock()
|
||||||
@@ -2024,18 +2029,18 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
mock_open.assert_called_with(file_name, os.O_WRONLY)
|
||||||
mock_fdopen.assert_called_with(123, 'w')
|
mock_fdopen.assert_called_with(123, 'w')
|
||||||
m().write.assert_called_once_with('1')
|
m().write.assert_called_once_with('1')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
self.assertEqual(dict(details="No suitable network interface found"),
|
self.assertEqual(dict(details="No suitable network interface found"),
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
# Happy Path IPv6, with VRRP_IP and host route
|
# Happy Path IPv6, with VRRP_IP and host route
|
||||||
full_subnet_info = {
|
full_subnet_info = {
|
||||||
@@ -2076,12 +2081,14 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(full_subnet_info))
|
data=jsonutils.dumps(
|
||||||
|
full_subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(full_subnet_info))
|
data=jsonutils.dumps(
|
||||||
|
full_subnet_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
mock_fdopen.assert_any_call(123, 'w')
|
mock_fdopen.assert_any_call(123, 'w')
|
||||||
@@ -2208,12 +2215,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
mock_open.assert_any_call(file_name, flags, mode)
|
mock_open.assert_any_call(file_name, flags, mode)
|
||||||
mock_fdopen.assert_any_call(123, 'w')
|
mock_fdopen.assert_any_call(123, 'w')
|
||||||
@@ -2293,17 +2300,17 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
rv = self.ubuntu_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.post('/' + api_server.VERSION +
|
rv = self.centos_app.post('/' + api_server.VERSION +
|
||||||
"/plug/vip/2001:db8::2",
|
"/plug/vip/2001:db8::2",
|
||||||
content_type='application/json',
|
content_type='application/json',
|
||||||
data=json.dumps(subnet_info))
|
data=jsonutils.dumps(subnet_info))
|
||||||
self.assertEqual(500, rv.status_code)
|
self.assertEqual(500, rv.status_code)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
{'details': RANDOM_ERROR,
|
{'details': RANDOM_ERROR,
|
||||||
'message': 'Error plugging VIP'},
|
'message': 'Error plugging VIP'},
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
def test_ubuntu_get_interface(self):
|
def test_ubuntu_get_interface(self):
|
||||||
self._test_get_interface(consts.UBUNTU)
|
self._test_get_interface(consts.UBUNTU)
|
||||||
@@ -2329,12 +2336,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
||||||
'/interface/203.0.113.2',
|
'/interface/203.0.113.2',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.get('/' + api_server.VERSION +
|
rv = self.centos_app.get('/' + api_server.VERSION +
|
||||||
'/interface/203.0.113.2',
|
'/interface/203.0.113.2',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
|
|
||||||
@@ -2348,12 +2355,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
||||||
'/interface/::1',
|
'/interface/::1',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.get('/' + api_server.VERSION +
|
rv = self.centos_app.get('/' + api_server.VERSION +
|
||||||
'/interface/::1',
|
'/interface/::1',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
|
|
||||||
@@ -2361,12 +2368,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
||||||
'/interface/10.0.0.1',
|
'/interface/10.0.0.1',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.get('/' + api_server.VERSION +
|
rv = self.centos_app.get('/' + api_server.VERSION +
|
||||||
'/interface/10.0.0.1',
|
'/interface/10.0.0.1',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(404, rv.status_code)
|
self.assertEqual(404, rv.status_code)
|
||||||
|
|
||||||
@@ -2374,12 +2381,12 @@ class TestServerTestCase(base.TestCase):
|
|||||||
if distro == consts.UBUNTU:
|
if distro == consts.UBUNTU:
|
||||||
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
rv = self.ubuntu_app.get('/' + api_server.VERSION +
|
||||||
'/interface/00:00:00:00:00:00',
|
'/interface/00:00:00:00:00:00',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
elif distro == consts.CENTOS:
|
elif distro == consts.CENTOS:
|
||||||
rv = self.centos_app.get('/' + api_server.VERSION +
|
rv = self.centos_app.get('/' + api_server.VERSION +
|
||||||
'/interface/00:00:00:00:00:00',
|
'/interface/00:00:00:00:00:00',
|
||||||
data=json.dumps(interface_res),
|
data=jsonutils.dumps(interface_res),
|
||||||
content_type='application/json')
|
content_type='application/json')
|
||||||
self.assertEqual(400, rv.status_code)
|
self.assertEqual(400, rv.status_code)
|
||||||
|
|
||||||
@@ -2656,7 +2663,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
|
|
||||||
self.assertEqual(200, rv.status_code)
|
self.assertEqual(200, rv.status_code)
|
||||||
self.assertEqual(expected_dict,
|
self.assertEqual(expected_dict,
|
||||||
json.loads(rv.data.decode('utf-8')))
|
jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
|
|
||||||
def test_ubuntu_upload_config(self):
|
def test_ubuntu_upload_config(self):
|
||||||
self._test_upload_config(consts.UBUNTU)
|
self._test_upload_config(consts.UBUNTU)
|
||||||
@@ -2677,7 +2684,7 @@ class TestServerTestCase(base.TestCase):
|
|||||||
rv = self.centos_app.put('/' + api_server.VERSION +
|
rv = self.centos_app.put('/' + api_server.VERSION +
|
||||||
'/config', data='TestTest')
|
'/config', data='TestTest')
|
||||||
self.assertEqual(202, rv.status_code)
|
self.assertEqual(202, rv.status_code)
|
||||||
self.assertEqual(OK, json.loads(rv.data.decode('utf-8')))
|
self.assertEqual(OK, jsonutils.loads(rv.data.decode('utf-8')))
|
||||||
handle = m()
|
handle = m()
|
||||||
handle.write.assert_any_call(six.b('TestT'))
|
handle.write.assert_any_call(six.b('TestT'))
|
||||||
handle.write.assert_any_call(six.b('est'))
|
handle.write.assert_any_call(six.b('est'))
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ oslo.messaging>=5.29.0 # Apache-2.0
|
|||||||
oslo.middleware>=3.31.0 # Apache-2.0
|
oslo.middleware>=3.31.0 # Apache-2.0
|
||||||
oslo.policy>=1.30.0 # Apache-2.0
|
oslo.policy>=1.30.0 # Apache-2.0
|
||||||
oslo.reports>=1.18.0 # Apache-2.0
|
oslo.reports>=1.18.0 # Apache-2.0
|
||||||
|
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
|
||||||
oslo.upgradecheck>=0.1.0 # Apache-2.0
|
oslo.upgradecheck>=0.1.0 # Apache-2.0
|
||||||
oslo.utils>=3.33.0 # Apache-2.0
|
oslo.utils>=3.33.0 # Apache-2.0
|
||||||
pyasn1!=0.2.3,>=0.1.8 # BSD
|
pyasn1!=0.2.3,>=0.1.8 # BSD
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ flake8-import-order==0.12 # LGPLv3
|
|||||||
mock>=2.0.0 # BSD
|
mock>=2.0.0 # BSD
|
||||||
python-subunit>=1.0.0 # Apache-2.0/BSD
|
python-subunit>=1.0.0 # Apache-2.0/BSD
|
||||||
oslotest>=3.2.0 # Apache-2.0
|
oslotest>=3.2.0 # Apache-2.0
|
||||||
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
|
|
||||||
pylint==1.9.2 # GPLv2
|
pylint==1.9.2 # GPLv2
|
||||||
testrepository>=0.0.18 # Apache-2.0/BSD
|
testrepository>=0.0.18 # Apache-2.0/BSD
|
||||||
testtools>=2.2.0 # MIT
|
testtools>=2.2.0 # MIT
|
||||||
|
|||||||
Reference in New Issue
Block a user