Ejemplo n.º 1
0
 def test_ssl_vs(self):
     papi = ApiSession('10.10.25.42',
                       'admin',
                       'avi123',
                       verify=False,
                       api_version="17.2.1")
     ssl_vs_cfg = gSAMPLE_CONFIG["SSL-VS"]
     vs_obj = ssl_vs_cfg["vs_obj"]
     pool_name = gSAMPLE_CONFIG["SSL-VS"]["pool_obj"]["name"]
     resp = papi.post('pool', data=gSAMPLE_CONFIG["SSL-VS"]["pool_obj"])
     assert resp.status_code == 201
     pool_ref = papi.get_obj_ref(resp.json())
     cert, key, _, _ = get_sample_ssl_params(folder_path='../samples/')
     api_utils = ApiUtils(papi)
     try:
         resp = api_utils.import_ssl_certificate("ssl-vs-kc", key, cert)
         print resp.text
         ssl_kc = resp.json()
     except:
         ssl_kc = api.get_object_by_name('sslkeyandcertificate',
                                         'ssl-vs-kc')
     ssl_key_and_cert_ref = [papi.get_obj_ref(ssl_kc)]
     vs_obj["pool_ref"] = pool_ref
     vs_obj["ssl_key_and_certificate_refs"] = ssl_key_and_cert_ref
     resp = papi.post('virtualservice', data=json.dumps(vs_obj))
     print resp, resp.text
     assert resp.status_code < 300
     resp = papi.delete_by_name('virtualservice', vs_obj['name'])
     assert resp.status_code in (200, 204)
     resp = papi.delete_by_name("pool", pool_name)
     assert resp.status_code in (200, 204)
     resp = api.delete_by_name('sslkeyandcertificate', 'ssl-vs-kc')
     assert resp.status_code in (200, 204)
Ejemplo n.º 2
0
 def test_ssl_vs(self):
     papi = ApiSession(api.avi_credentials.controller,
                       api.avi_credentials.username,
                       api.avi_credentials.password,
                       api_version=api.avi_credentials.api_version,
                       verify=False, data_log=True)
     ssl_vs_cfg = gSAMPLE_CONFIG["SSL-VS"]
     vs_obj = ssl_vs_cfg["vs_obj"]
     pool_name = gSAMPLE_CONFIG["SSL-VS"]["pool_obj"]["name"]
     resp = papi.post('pool', data=gSAMPLE_CONFIG["SSL-VS"]["pool_obj"])
     assert resp.status_code == 201
     pool_ref = papi.get_obj_ref(resp.json())
     cert, key, _, _ = get_sample_ssl_params \
         (folder_path=os.path.abspath(
             os.path.join(os.path.dirname(__file__), '..',
                          'samples')) + os.sep)
     api_utils = ApiUtils(papi)
     try:
         resp = api_utils.import_ssl_certificate("ssl-vs-kc", key, cert)
         ssl_kc = resp.json()
     except:
         ssl_kc = api.get_object_by_name('sslkeyandcertificate',
                                         'ssl-vs-kc')
     ssl_key_and_cert_ref = [papi.get_obj_ref(ssl_kc)]
     vs_obj["pool_ref"] = pool_ref
     vs_obj["ssl_key_and_certificate_refs"] = ssl_key_and_cert_ref
     resp = papi.post('virtualservice', data=json.dumps(vs_obj))
     assert resp.status_code < 300
     resp = papi.delete_by_name('virtualservice', vs_obj['name'])
     assert resp.status_code in (200, 204)
     resp = papi.delete_by_name("pool", pool_name)
     assert resp.status_code in (200, 204)
     resp = api.delete_by_name('sslkeyandcertificate', 'ssl-vs-kc')
     assert resp.status_code in (200, 204)
Ejemplo n.º 3
0
 def test_ssl_vs(self):
     papi = ApiSession(api.controller_ip, api.username, api.password,
                       verify=False)
     ssl_vs_cfg = gSAMPLE_CONFIG["SSL-VS"]
     vs_obj = ssl_vs_cfg["vs_obj"]
     pool_name = gSAMPLE_CONFIG["SSL-VS"]["pool_obj"]["name"]
     resp = papi.post('pool', data=json.dumps(ssl_vs_cfg["pool_obj"]))
     pool_ref = papi.get_obj_ref(resp.json())
     cert, key, _, _ = get_sample_ssl_params(folder_path='../samples/')
     api_utils = ApiUtils(papi)
     try:
         resp = api_utils.import_ssl_certificate("ssl-vs-kc", key, cert)
         ssl_kc = resp.json()
     except:
         ssl_kc = api.get_object_by_name('sslkeyandcertificate',
                                         'ssl-vs-kc')
     ssl_key_and_cert_ref = [papi.get_obj_ref(ssl_kc)]
     vs_obj["pool_ref"] = pool_ref
     vs_obj["ssl_key_and_certificate_refs"] = ssl_key_and_cert_ref
     resp = papi.post('virtualservice', data=json.dumps(vs_obj))
     assert resp.status_code < 300
     resp = papi.delete_by_name('virtualservice', vs_obj['name'])
     assert resp.status_code in (200, 204)
     resp = papi.delete_by_name("pool", pool_name)
     assert resp.status_code in (200, 204)
     resp = api.delete_by_name('sslkeyandcertificate', 'ssl-vs-kc')
     assert resp.status_code in (200, 204)
Ejemplo n.º 4
0
 def test_multiple_tenants(self):
     """
     Tests api with multiple tenants to make sure object is only returned
     for the right tenant.
     """
     tobj = {'name': 'test-tenant'}
     resp = api.post('tenant', data=tobj)
     assert resp.status_code in (200, 201)
     tapi = ApiSession(api.controller_ip, api.username, api.password,
                       tenant=tobj['name'], verify=False)
     t_obj = tapi.get_object_by_name('tenant', tobj['name'])
     # created pool.
     log.info('tenant %s', t_obj)
     basic_vs_cfg = gSAMPLE_CONFIG["BasicVS"]
     pool_cfg = copy.deepcopy(basic_vs_cfg["pool_obj"])
     pool_cfg['name'] = pool_cfg['name'] + '-test-tenant'
     resp = tapi.post('pool', data=pool_cfg)
     assert resp.status_code in (200, 201)
     # check pool was not created in tenant admin
     pname = pool_cfg['name']
     resp = api.get_object_by_name('pool', pname)
     assert resp is None
     resp = tapi.get_object_by_name('pool', pname)
     assert resp
     resp = api.get_object_by_name('pool', pname, tenant_uuid=t_obj['uuid'])
     assert resp
     resp = api.get_object_by_name('pool', pname, tenant='test-tenant')
     assert resp
     resp = tapi.delete_by_name("pool", pname)
     assert resp.status_code in (200, 204)
     resp = api.get_object_by_name('pool', pname, tenant='test-tenant')
     assert resp is None
     resp = tapi.delete_by_name('tenant', 'test-tenant', tenant='admin')
     assert resp.status_code in (200, 204)
Ejemplo n.º 5
0
 def test_retry_unauth_api(self):
     papi = ApiSession(controller_ip=api.avi_credentials.controller,
                       username=api.avi_credentials.username,
                       password=api.avi_credentials.password,
                       verify=False,
                       api_version=api.avi_credentials.api_version,
                       data_log=api.data_log)
     papi.keystone_token = 'invalid'
     resp = papi.post('tenant', data={'name': 'tenant1', 'local': 'true'})
     assert resp.status_code == 201
     papi.delete_by_name('tenant', 'tenant1')
Ejemplo n.º 6
0
    def test_basic_auth(self):
        basic_vs_cfg = gSAMPLE_CONFIG["BasicVS"]
        vs_obj = basic_vs_cfg["vs_obj"]
        headers = {
            'X-Avi-Version': login_info.get("api_version", gapi_version),
            'Authorization': 'Basic YWRtaW46YXZpMTIzJCU='
        }
        aviapi = ApiSession(controller_ip=login_info.get('controller_ip'),
                            username=login_info.get('username'),
                            api_version=login_info.get("api_version",
                                                       gapi_version),
                            user_hdrs=headers)

        resp = aviapi.post('pool',
                           data=json.dumps(basic_vs_cfg["pool_obj"]),
                           api_version=login_info.get("api_version"))
        assert resp.status_code in (200, 201)

        resp = aviapi.post('vsvip',
                           data=json.dumps(basic_vs_cfg["vsvip_obj"]),
                           api_version=login_info.get("api_version"))
        assert resp.status_code in (200, 201)
        vs_obj["vsvip_ref"] = api.get_obj_ref(resp.json())

        resp = aviapi.post('virtualservice',
                           data=json.dumps(vs_obj),
                           api_version=login_info.get("api_version"))
        print(resp.json)
        assert resp.status_code in (200, 201)
        pool_name = gSAMPLE_CONFIG["BasicVS"]["pool_obj"]["name"]
        vsvip_name = gSAMPLE_CONFIG["BasicVS"]["vsvip_obj"]["name"]
        resp = aviapi.get('virtualservice',
                          tenant='admin',
                          api_version=login_info.get("api_version"))
        assert resp.json()['count'] >= 1
        assert resp.status_code in (200, 204)
        resp = aviapi.delete_by_name('virtualservice',
                                     vs_obj['name'],
                                     api_version=login_info.get("api_version"))
        assert resp.status_code in (200, 204)
        resp = aviapi.delete_by_name("pool",
                                     pool_name,
                                     api_version=login_info.get("api_version"))
        assert resp.status_code in (200, 204)
        resp = aviapi.delete_by_name("vsvip",
                                     vsvip_name,
                                     api_version=login_info.get("api_version"))
        assert resp.status_code in (200, 204)
Ejemplo n.º 7
0
 def test_multiple_tenants(self):
     """
     Tests api with multiple tenants to make sure object is only returned
     for the right tenant.
     """
     tobj = {'name': 'test-tenant'}
     resp = api.post('tenant', data=tobj)
     assert resp.status_code in (200, 201)
     tapi = ApiSession(controller_ip=api.avi_credentials.controller,
                       username=api.avi_credentials.username,
                       password=api.avi_credentials.password,
                       tenant=tobj['name'],
                       verify=False,
                       data_log=api.data_log)
     t_obj = tapi.get_object_by_name('tenant', tobj['name'])
     # created pool.
     log.info('tenant %s', t_obj)
     basic_vs_cfg = gSAMPLE_CONFIG["BasicVS"]
     pool_cfg = copy.deepcopy(basic_vs_cfg["pool_obj"])
     pool_cfg['name'] = pool_cfg['name'] + '-test-tenant'
     resp = tapi.post('pool', data=pool_cfg)
     assert resp.status_code in (200, 201)
     # check pool was not created in tenant admin
     pname = pool_cfg['name']
     resp = api.get_object_by_name('pool', pname)
     assert resp is None
     resp = tapi.get_object_by_name('pool', pname)
     assert resp
     resp = api.get_object_by_name('pool', pname, tenant_uuid=t_obj['uuid'])
     assert resp
     resp = api.get_object_by_name('pool', pname, tenant='test-tenant')
     assert resp
     resp = tapi.delete_by_name("pool", pname)
     assert resp.status_code in (200, 204)
     resp = api.get_object_by_name('pool', pname, tenant='test-tenant')
     assert resp is None
     resp = tapi.delete_by_name('tenant', 'test-tenant', tenant='admin')
     assert resp.status_code in (200, 204)
Ejemplo n.º 8
0
 def test_session_reset(self):
     papi = ApiSession(api.controller_ip, api.username, api.password,
                       verify=False, api_version=api.api_version)
     res = papi.get('pool', params={'fields': 'name'})
     assert res.status_code == 200
     papi.reset_session()
     res = papi.get('pool', params={'fields': 'name'})
     assert res.status_code == 200
     data = {'name': 'test-reset'}
     res = papi.post('pool', data=data)
     assert res.status_code == 201
     papi.reset_session()
     res = papi.delete_by_name('pool', 'test-reset')
     assert res.status_code == 204
Ejemplo n.º 9
0
 def test_session_reset(self):
     papi = ApiSession(controller_ip=api.avi_credentials.controller,
                       username=api.avi_credentials.username,
                       password=api.avi_credentials.password, verify=False,
                       api_version=api.avi_credentials.api_version,
                       data_log=api.data_log)
     res = papi.get('pool', params={'fields': 'name'})
     assert res.status_code == 200
     papi.reset_session()
     res = papi.get('pool', params={'fields': 'name'})
     assert res.status_code == 200
     data = {'name': 'test-reset'}
     res = papi.post('pool', data=data)
     assert res.status_code == 201
     papi.reset_session()
     res = papi.delete_by_name('pool', 'test-reset')
     assert res.status_code == 204