nova/nova/tests/unit/virt/vmwareapi/test_read_write_util.py
Johnson koil raj 2009eab057 VMware: driver not handling port other than 443
During the image download/upload from a vCenter datastore the
driver is failing to connect to vCenter if it configured to
listen to any port other than default 443.

Closes-Bug: #1387074

Change-Id: Iebfd90bda2b9a3eb20ca146e4cc9ae8e4cf464f3
2015-01-12 16:55:58 +05:30

64 lines
2.6 KiB
Python

# Copyright 2013 IBM Corp.
# Copyright 2011 OpenStack Foundation
#
# 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 httplib
import urllib2
import mock
from oslo.config import cfg
from nova import test
from nova.virt.vmwareapi import read_write_util
CONF = cfg.CONF
class ReadWriteUtilTestCase(test.NoDBTestCase):
def test_ipv6_host(self):
ipv6_host = 'fd8c:215d:178e:c51e:200:c9ff:fed1:584c'
self.mox.StubOutWithMock(httplib.HTTPConnection, 'endheaders')
httplib.HTTPConnection.endheaders()
self.mox.ReplayAll()
file = read_write_util.VMwareHTTPWriteFile(ipv6_host,
443,
'fake_dc',
'fake_ds',
dict(),
'/tmp/fake.txt',
0)
self.assertEqual(ipv6_host, file.conn.host)
self.assertEqual(443, file.conn.port)
@mock.patch.object(urllib2, 'Request',
return_value='fake_request')
@mock.patch.object(urllib2, 'urlopen')
def test_ipv6_host_read(self, mock_open, mock_request):
ipv6_host = 'fd8c:215d:178e:c51e:200:c9ff:fed1:584c'
port = 7443
folder = 'tmp/fake.txt'
read_write_util.VMwareHTTPReadFile(ipv6_host,
port,
'fake_dc',
'fake_ds',
dict(),
folder)
base_url = 'https://[%s]:%s/folder/%s' % (ipv6_host, port, folder)
base_url += '?dsName=fake_ds&dcPath=fake_dc'
headers = {'Cookie': '', 'User-Agent': 'OpenStack-ESX-Adapter'}
mock_request.assert_called_with(base_url,
None,
headers)
mock_open.assert_called_with('fake_request')