from lib.osm.fixtures import osm_add_options
from lib.openstack.fixtures import openstack_add_options
from lib.vim.fixtures import vim_add_options
+from lib.vmware.fixtures import vmware_add_options
def pytest_addoption(parser):
osm_add_options(parser)
openstack_add_options(parser)
+ vmware_add_options(parser)
vim_add_options(parser)
--- /dev/null
+# -*- coding: utf-8 -*-
+
+##
+# Copyright 2016-2017 VMware Inc.
+# This file is part of ETSI OSM
+# All Rights Reserved.
+#
+# 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.
+#
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact: osslegalrouting@vmware.com
+##
+
--- /dev/null
+# -*- coding: utf-8 -*-
+
+##
+# Copyright 2016-2017 VMware Inc.
+# This file is part of ETSI OSM
+# All Rights Reserved.
+#
+# 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.
+#
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact: osslegalrouting@vmware.com
+##
+
+import pytest
+import json
+
+
+def vmware_add_options(parser):
+ parser.addoption("--vcd-url", default="", help="VMware vCloud identity url")
+ parser.addoption("--vcd-username", default="", help="VMware vCloud username")
+ parser.addoption("--vcd-password", default="", help="VMware vCloud password")
+ parser.addoption("--vcd-tenant-name", default="", help="VMware vCloud tenant name")
+ parser.addoption("--config", default="", help="VMware vCloud config paramters")
+
+@pytest.fixture
+def vmware(request):
+ from lib.vmware import vmware
+ access = {}
+ access['vcd-url'] = request.config.getoption("--vcd-url")
+ access['vcd-username'] = request.config.getoption("--vcd-username")
+ access['vcd-password'] = request.config.getoption("--vcd-password")
+ access['vcd-tenant-name'] = request.config.getoption("--vcd-tenant-name")
+ access['config'] = request.config.getoption("--config")
+ access['vim-type'] = 'vmware'
+ access['description'] = 'pytest system test'
+
+ return vmware.Vmware(access)
--- /dev/null
+# -*- coding: utf-8 -*-
+
+##
+# Copyright 2016-2017 VMware Inc.
+# This file is part of ETSI OSM
+# All Rights Reserved.
+#
+# 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.
+#
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact: osslegalrouting@vmware.com
+##
+
+
+class Vmware():
+ def __init__(self,access):
+ self._os_access = access
+
+ def get_access(self):
+ return self._os_access
from lib.osm.fixtures import osm
from lib.openstack.fixtures import openstack
+from lib.vmware.fixtures import vmware
from lib.vim.fixtures import vim
@pytest.mark.vim
@pytest.mark.openstack
+@pytest.mark.vmware
class TestClass(object):
def test_empty_vim(self,osm):
assert resp['vim_tenants'][0]['vim_tenant_name'] == os_access['os-project-name']
assert not osm.get_api().vim.delete('pytest')
+
+ @pytest.mark.vmware
+ def test_add_vim_account_vmware(self,osm,vmware,cleanup_test_add_vim_account):
+ os_access=vmware.get_access()
+ assert not osm.get_api().vim.create('pytest',os_access)
+
+ resp=osm.get_api().vim.get('pytest')
+ assert resp['name'] == 'pytest'
+ assert resp['type'] == 'vmware'
+ assert resp['vim_url'] == os_access['vcd-url']
+ assert resp['vim_url_admin'] == os_access['vcd-url']
+ assert resp['vim_tenants'][0]['user'] == os_access['vcd-username']
+ assert resp['vim_tenants'][0]['vim_tenant_name'] == os_access['vcd-tenant-name']
+
+ assert not osm.get_api().vim.delete('pytest')