You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/05/20 14:30:02 UTC
git commit: updated refs/heads/master to 32e7ba2
Updated Branches:
refs/heads/master e1ad36bcc -> 32e7ba23a
LDAP moved to regression suite.
LDAP requires a Directory server which isn't available by default in
most environments. Moving this to the regression suite so it can be run
on demand.
Signed-off-by: Prasanna Santhanam <ts...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/32e7ba23
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/32e7ba23
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/32e7ba23
Branch: refs/heads/master
Commit: 32e7ba23a3bd514f7b4026b522913def406383c1
Parents: e1ad36b
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Mon May 20 17:59:19 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Mon May 20 17:59:19 2013 +0530
----------------------------------------------------------------------
test/integration/component/test_ldap.py | 365 ++++++++++++++++++++++++++
test/integration/smoke/test_ldap.py | 365 --------------------------
2 files changed, 365 insertions(+), 365 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/32e7ba23/test/integration/component/test_ldap.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_ldap.py b/test/integration/component/test_ldap.py
new file mode 100755
index 0000000..1b933db
--- /dev/null
+++ b/test/integration/component/test_ldap.py
@@ -0,0 +1,365 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+""" P1 for LDAP Config
+"""
+
+
+#!/usr/bin/env python
+
+import marvin
+from marvin import cloudstackTestCase
+from marvin.cloudstackTestCase import *
+import unittest
+import hashlib
+import random
+from marvin.cloudstackAPI import *
+from marvin.cloudstackAPI import login
+from marvin.integration.lib.utils import *
+from marvin.integration.lib.base import *
+from marvin.integration.lib.common import *
+from nose.plugins.attrib import attr
+import urllib
+
+
+
+class Services:
+ """Test LDAP Configuration
+ """
+
+ def __init__(self):
+ self.services = {
+ "account": {
+ "email": "test@test.com",
+ "firstname": "test",
+ "lastname": "t",
+ "username": "test",
+ "password": "password",
+ },
+ "ldapCon_1":#valid values&Query filter as email.
+ {
+ "ldapHostname": "10.147.38.163",
+ "port": "389",
+ "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
+ "bindpass": "aaaa_1111",
+ "queryfilter": "(&(mail=%e))",
+ "searchbase": "CN=Users,DC=hyd-qa,DC=com",
+ "ldapusername": "test",
+ "ldappasswd": "aaaa_1111"
+ },
+ "ldapCon_2": ##valid values&Query filter as displayName.
+ {
+ "ldapHostname": "10.147.38.163",
+ "port": "389",
+ "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
+ "bindpass": "aaaa_1111",
+ "queryfilter": "(&(displayName=%u))",
+ "searchbase": "CN=Users,DC=hyd-qa,DC=com",
+ "ldapusername": "test",
+ "ldappasswd": "aaaa_1111"
+ },
+ "ldapCon_3": #Configuration with missing parameters value(queryfilter)
+ {
+ "ldapHostname": "10.147.38.163",
+ "port": "389",
+ "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
+ "bindpass": "aaaa_1111",
+ "queryfilter": "",
+ "searchbase": "CN=Users,DC=hyd-qa,DC=com",
+ "ldapusername": "test",
+ "ldappasswd": "aaaa_1111"
+ },
+
+ "ldapCon_4": #invalid configuration-wrong query filter
+ {
+ "ldapHostname": "10.147.38.163",
+ "port": "389",
+ "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
+ "bindpass": "aaaa_1111",
+ "queryfilter": "(&(displayName=%p))",
+ "searchbase":"CN=Users,DC=hyd-qa,DC=com",
+ "ldapusername": "test",
+ "ldappasswd": "aaaa_1111"
+ },
+ "ldapCon_5": #Configuration with invalid ldap credentials
+ {
+ "ldapHostname": "10.147.38.163",
+ "port": "389",
+ "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
+ "bindpass": "aaaa_1111",
+ "queryfilter": "(&(displayName=%u))",
+ "searchbase": "CN=Users,DC=hyd-qa,DC=com",
+ "ldapusername": "test",
+ "ldappasswd": "aaaa"
+ }
+
+
+
+ }
+
+
+class TestLdap(cloudstackTestCase):
+ """
+ This test perform registering ldap configuration details in CS and create a user[ldap user] in CS
+ and validate user credentials against LDAP server:AD
+ """
+
+ @classmethod
+ def setUpClass(cls):
+
+ cls.api_client = super(
+ TestLdap,
+ cls
+ ).getClsTestClient().getApiClient()
+ cls.services = Services().services
+ cls.account = cls.services["account"]
+ cls._cleanup = []
+
+
+
+ @classmethod
+ def tearDownClass(cls):
+ try:
+ #Cleanup resources used
+ #print "tear down class"
+ cleanup_resources(cls.api_client, cls._cleanup)
+
+ except Exception as tde:
+ raise Exception("Warning: Exception during cleanup : %s" % tde)
+ return
+
+ def setUp(self):
+
+ self.apiclient = self.testClient.getApiClient()
+
+ self.acct = createAccount.createAccountCmd()
+ self.acct.accounttype = 0 #We need a regular user. admins have accounttype=1
+ self.acct.firstname = self.services["account"]["firstname"]
+ self.acct.lastname = self.services["account"]["lastname"]
+ self.acct.password = self.services["account"]["password"]
+ self.acct.username = self.services["account"]["username"]
+ self.acct.email = self.services["account"]["email"]
+ self.acct.account = self.services["account"]["username"]
+ self.acct.domainid = 1
+ # mapping ldap user by creating same user in cloudstack
+
+ self.acctRes = self.apiclient.createAccount(self.acct)
+
+
+ return
+
+ def tearDown(self):
+
+ try:
+ #Clean up, terminate the created accounts, domains etc
+
+ deleteAcct = deleteAccount.deleteAccountCmd()
+ deleteAcct.id = self.acctRes.id
+
+ acct_name=self.acctRes.name
+
+ self.apiclient.deleteAccount(deleteAcct)
+
+ self.debug("Deleted the the following account name %s:" %acct_name)
+ #delete only if ldapconfig registered in CS
+ if(self.ldapconfRes):
+ deleteldapconfg=ldapRemove.ldapRemoveCmd()
+ res=self.apiclient.ldapRemove(deleteldapconfg)
+
+
+ except Exception as e:
+ raise Exception("Warning: Exception during cleanup : %s" % e)
+ return
+
+
+ def test_01_configLDAP(self):
+ '''
+ This test is to verify ldapConfig API with valid values.(i.e query fileter as email)
+ '''
+ # 1. This test covers ldapConfig & login API with valid ldap credentials..
+ # require ldap configuration:ldapCon_1
+
+ self.debug("start test")
+
+ self.ldapconfRes=self._testldapConfig(self.services["ldapCon_1"])
+
+ if(self.ldapconfRes==1):
+
+
+ self.debug("configure ldap successful")
+
+ #validating the user credentials with ldap Server
+ loginRes = self.chkLogin(self.services["ldapCon_1"]["ldapusername"], self.services["ldapCon_1"]["ldappasswd"])
+ self.assertEquals(loginRes,1,"ldap Authentication failed")
+
+ else:
+
+ self.debug("LDAP Configuration failed with exception")
+
+ self.assertEquals(self.ldapconfRes,1,"ldapConfig API failed")
+
+
+ self.debug("end test")
+
+
+ def test_02_configLDAP(self):
+ '''
+ This test is to verify ldapConfig API with valid values.(i.e query fileter as displayName)
+ '''
+
+ # 1. This test covers ldapConfig & login API with valid ldap credentials.
+ # 2. require ldap configuration:ldapCon_2
+
+ self.debug("start test")
+ self.ldapconfRes=self._testldapConfig(self.services["ldapCon_2"])
+ self.assertEquals(self.ldapconfRes,1,"ldapConfig API failed")
+ if(self.ldapconfRes==1):
+ self.debug("configure ldap successful")
+ #validating the user credentials with ldap Server
+ loginRes = self.chkLogin(self.services["ldapCon_2"]["ldapusername"], self.services["ldapCon_2"]["ldappasswd"])
+ self.assertEquals(loginRes,1,"ldap Authentication failed")
+ else:
+ self.debug("LDAP Configuration failed with exception")
+ self.debug("end test")
+
+
+ def test_03_configLDAP(self):
+
+ '''
+ This test is to verify ldapConfig API with missing config parameters value(i.queryfilter)
+ '''
+
+ # 1. Issue ldapConfig API with no ldap config parameter value and check behavior
+ # 2. require ldap configuration:ldapCon_3
+
+ self.debug("start test...")
+ self.ldapconfRes=self._testldapConfig(self.services["ldapCon_3"])
+ self.assertEquals(self.ldapconfRes,0,"LDAP configuration successful with invalid value.API failed")
+ self.debug("end test")
+
+ def test_04_configLDAP(self):
+ '''
+ This test is to verify ldapConfig API with invalid configuration values(by passing wrong query filter)
+ '''
+ # 1. calling ldapConfig API with invalid query filter value and check behavior
+ # 2. require ldap configuration:ldapCon_4
+
+ self.debug("start test...")
+ self.ldapconfRes=self._testldapConfig(self.services["ldapCon_4"])
+ self.assertEquals(self.ldapconfRes,0,"API failed")
+
+
+
+ def test_05_configLDAP(self):
+
+ '''
+ This test is to verify login API functionality by passing wrong ldap credentials
+ '''
+ # 1.This script first configure the ldap and validates the user credentials using login API
+ # 2. require ldap configuration:ldapCon_5
+
+
+ self.debug("start test")
+ self.ldapconfRes=self._testldapConfig(self.services["ldapCon_5"])
+ self.assertEquals(self.ldapconfRes,1,"API failed")
+ #validating the cloudstack user credentials with ldap Server
+ loginRes = self.chkLogin(self.services["ldapCon_5"]["ldapusername"], self.services["ldapCon_5"]["ldappasswd"])
+ self.assertNotEqual(loginRes,1,"login API failed")
+ self.debug("end test")
+
+ def test_06_removeLDAP(self):
+ '''
+ This test is to verify ldapRemove API functionality
+ '''
+ # 1. This script fist configures ldap and removes the configured ldap values
+ # 2. require ldap configuration:ldapCon_1
+
+
+ self.debug("start test")
+ self.ldapconfRes=self._testldapConfig(self.services["ldapCon_1"])
+ if(self.ldapconfRes==1):
+ self.debug("ldap configured successfully")
+ deleteldapconfg=ldapRemove.ldapRemoveCmd()
+ res=self.apiclient.ldapRemove(deleteldapconfg)
+ self.debug("ldap removed successfully")
+ self.ldapconfRes=0
+ else:
+
+ self.debug("LDAP Configuration failed with exception")
+ self.assertEquals(self.ldapconfRes,0,"ldapconfig API failed")
+ self.debug("end test")
+
+ def _testldapConfig(self,ldapSrvD):
+
+ """
+
+ :param ldapSrvD
+
+
+ """
+ #This Method takes dictionary as parameter,
+ # reads the ldap configuration values from the passed dictionary and
+ # register the ldapconfig detail in cloudstack
+ # & return true or false based on ldapconfig API response
+
+ self.debug("start ldapconfig test")
+ #creating the ldapconfig cmd object
+ lpconfig = ldapConfig.ldapConfigCmd()
+ #Config the ldap server by assigning the ldapconfig dict variable values to ldapConfig object
+ lpconfig.hostname = ldapSrvD["ldapHostname"]
+ lpconfig.port = ldapSrvD["port"]
+ lpconfig.binddn = ldapSrvD["binddn"]
+ lpconfig.bindpass = ldapSrvD["bindpass"]
+ lpconfig.searchbase = ldapSrvD["searchbase"]
+ lpconfig.queryfilter = ldapSrvD["queryfilter"]
+
+ #end of assigning the variables
+
+ #calling the ldapconfig Api
+ self.debug("calling ldapconfig API")
+ try:
+ lpconfig1 = self.apiclient.ldapConfig(lpconfig)
+ self.debug("ldapconfig API succesfful")
+ return 1
+ except Exception, e:
+ self.debug("ldapconfig API failed %s" %e)
+ return 0
+
+ def chkLogin(self, username, password):
+ """
+
+ :param username:
+ :param password:
+
+ """
+ self.debug("login test")
+
+ try:
+ login1 = login.loginCmd()
+ login1.username = username
+ login1.password = password
+ loginRes = self.apiclient.login(login1)
+ self.debug("login response %s" % loginRes)
+ if loginRes is None:
+ self.debug("login not successful")
+ else:
+ self.debug("login successful")
+ return 1
+
+ except Exception, p:
+ self.debug("login operation failed %s" %p)
+ self.debug("end of Login")
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/32e7ba23/test/integration/smoke/test_ldap.py
----------------------------------------------------------------------
diff --git a/test/integration/smoke/test_ldap.py b/test/integration/smoke/test_ldap.py
deleted file mode 100755
index 1b933db..0000000
--- a/test/integration/smoke/test_ldap.py
+++ /dev/null
@@ -1,365 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you 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.
-
-""" P1 for LDAP Config
-"""
-
-
-#!/usr/bin/env python
-
-import marvin
-from marvin import cloudstackTestCase
-from marvin.cloudstackTestCase import *
-import unittest
-import hashlib
-import random
-from marvin.cloudstackAPI import *
-from marvin.cloudstackAPI import login
-from marvin.integration.lib.utils import *
-from marvin.integration.lib.base import *
-from marvin.integration.lib.common import *
-from nose.plugins.attrib import attr
-import urllib
-
-
-
-class Services:
- """Test LDAP Configuration
- """
-
- def __init__(self):
- self.services = {
- "account": {
- "email": "test@test.com",
- "firstname": "test",
- "lastname": "t",
- "username": "test",
- "password": "password",
- },
- "ldapCon_1":#valid values&Query filter as email.
- {
- "ldapHostname": "10.147.38.163",
- "port": "389",
- "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
- "bindpass": "aaaa_1111",
- "queryfilter": "(&(mail=%e))",
- "searchbase": "CN=Users,DC=hyd-qa,DC=com",
- "ldapusername": "test",
- "ldappasswd": "aaaa_1111"
- },
- "ldapCon_2": ##valid values&Query filter as displayName.
- {
- "ldapHostname": "10.147.38.163",
- "port": "389",
- "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
- "bindpass": "aaaa_1111",
- "queryfilter": "(&(displayName=%u))",
- "searchbase": "CN=Users,DC=hyd-qa,DC=com",
- "ldapusername": "test",
- "ldappasswd": "aaaa_1111"
- },
- "ldapCon_3": #Configuration with missing parameters value(queryfilter)
- {
- "ldapHostname": "10.147.38.163",
- "port": "389",
- "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
- "bindpass": "aaaa_1111",
- "queryfilter": "",
- "searchbase": "CN=Users,DC=hyd-qa,DC=com",
- "ldapusername": "test",
- "ldappasswd": "aaaa_1111"
- },
-
- "ldapCon_4": #invalid configuration-wrong query filter
- {
- "ldapHostname": "10.147.38.163",
- "port": "389",
- "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
- "bindpass": "aaaa_1111",
- "queryfilter": "(&(displayName=%p))",
- "searchbase":"CN=Users,DC=hyd-qa,DC=com",
- "ldapusername": "test",
- "ldappasswd": "aaaa_1111"
- },
- "ldapCon_5": #Configuration with invalid ldap credentials
- {
- "ldapHostname": "10.147.38.163",
- "port": "389",
- "binddn": "CN=test,CN=Users,DC=hyd-qa,DC=com",
- "bindpass": "aaaa_1111",
- "queryfilter": "(&(displayName=%u))",
- "searchbase": "CN=Users,DC=hyd-qa,DC=com",
- "ldapusername": "test",
- "ldappasswd": "aaaa"
- }
-
-
-
- }
-
-
-class TestLdap(cloudstackTestCase):
- """
- This test perform registering ldap configuration details in CS and create a user[ldap user] in CS
- and validate user credentials against LDAP server:AD
- """
-
- @classmethod
- def setUpClass(cls):
-
- cls.api_client = super(
- TestLdap,
- cls
- ).getClsTestClient().getApiClient()
- cls.services = Services().services
- cls.account = cls.services["account"]
- cls._cleanup = []
-
-
-
- @classmethod
- def tearDownClass(cls):
- try:
- #Cleanup resources used
- #print "tear down class"
- cleanup_resources(cls.api_client, cls._cleanup)
-
- except Exception as tde:
- raise Exception("Warning: Exception during cleanup : %s" % tde)
- return
-
- def setUp(self):
-
- self.apiclient = self.testClient.getApiClient()
-
- self.acct = createAccount.createAccountCmd()
- self.acct.accounttype = 0 #We need a regular user. admins have accounttype=1
- self.acct.firstname = self.services["account"]["firstname"]
- self.acct.lastname = self.services["account"]["lastname"]
- self.acct.password = self.services["account"]["password"]
- self.acct.username = self.services["account"]["username"]
- self.acct.email = self.services["account"]["email"]
- self.acct.account = self.services["account"]["username"]
- self.acct.domainid = 1
- # mapping ldap user by creating same user in cloudstack
-
- self.acctRes = self.apiclient.createAccount(self.acct)
-
-
- return
-
- def tearDown(self):
-
- try:
- #Clean up, terminate the created accounts, domains etc
-
- deleteAcct = deleteAccount.deleteAccountCmd()
- deleteAcct.id = self.acctRes.id
-
- acct_name=self.acctRes.name
-
- self.apiclient.deleteAccount(deleteAcct)
-
- self.debug("Deleted the the following account name %s:" %acct_name)
- #delete only if ldapconfig registered in CS
- if(self.ldapconfRes):
- deleteldapconfg=ldapRemove.ldapRemoveCmd()
- res=self.apiclient.ldapRemove(deleteldapconfg)
-
-
- except Exception as e:
- raise Exception("Warning: Exception during cleanup : %s" % e)
- return
-
-
- def test_01_configLDAP(self):
- '''
- This test is to verify ldapConfig API with valid values.(i.e query fileter as email)
- '''
- # 1. This test covers ldapConfig & login API with valid ldap credentials..
- # require ldap configuration:ldapCon_1
-
- self.debug("start test")
-
- self.ldapconfRes=self._testldapConfig(self.services["ldapCon_1"])
-
- if(self.ldapconfRes==1):
-
-
- self.debug("configure ldap successful")
-
- #validating the user credentials with ldap Server
- loginRes = self.chkLogin(self.services["ldapCon_1"]["ldapusername"], self.services["ldapCon_1"]["ldappasswd"])
- self.assertEquals(loginRes,1,"ldap Authentication failed")
-
- else:
-
- self.debug("LDAP Configuration failed with exception")
-
- self.assertEquals(self.ldapconfRes,1,"ldapConfig API failed")
-
-
- self.debug("end test")
-
-
- def test_02_configLDAP(self):
- '''
- This test is to verify ldapConfig API with valid values.(i.e query fileter as displayName)
- '''
-
- # 1. This test covers ldapConfig & login API with valid ldap credentials.
- # 2. require ldap configuration:ldapCon_2
-
- self.debug("start test")
- self.ldapconfRes=self._testldapConfig(self.services["ldapCon_2"])
- self.assertEquals(self.ldapconfRes,1,"ldapConfig API failed")
- if(self.ldapconfRes==1):
- self.debug("configure ldap successful")
- #validating the user credentials with ldap Server
- loginRes = self.chkLogin(self.services["ldapCon_2"]["ldapusername"], self.services["ldapCon_2"]["ldappasswd"])
- self.assertEquals(loginRes,1,"ldap Authentication failed")
- else:
- self.debug("LDAP Configuration failed with exception")
- self.debug("end test")
-
-
- def test_03_configLDAP(self):
-
- '''
- This test is to verify ldapConfig API with missing config parameters value(i.queryfilter)
- '''
-
- # 1. Issue ldapConfig API with no ldap config parameter value and check behavior
- # 2. require ldap configuration:ldapCon_3
-
- self.debug("start test...")
- self.ldapconfRes=self._testldapConfig(self.services["ldapCon_3"])
- self.assertEquals(self.ldapconfRes,0,"LDAP configuration successful with invalid value.API failed")
- self.debug("end test")
-
- def test_04_configLDAP(self):
- '''
- This test is to verify ldapConfig API with invalid configuration values(by passing wrong query filter)
- '''
- # 1. calling ldapConfig API with invalid query filter value and check behavior
- # 2. require ldap configuration:ldapCon_4
-
- self.debug("start test...")
- self.ldapconfRes=self._testldapConfig(self.services["ldapCon_4"])
- self.assertEquals(self.ldapconfRes,0,"API failed")
-
-
-
- def test_05_configLDAP(self):
-
- '''
- This test is to verify login API functionality by passing wrong ldap credentials
- '''
- # 1.This script first configure the ldap and validates the user credentials using login API
- # 2. require ldap configuration:ldapCon_5
-
-
- self.debug("start test")
- self.ldapconfRes=self._testldapConfig(self.services["ldapCon_5"])
- self.assertEquals(self.ldapconfRes,1,"API failed")
- #validating the cloudstack user credentials with ldap Server
- loginRes = self.chkLogin(self.services["ldapCon_5"]["ldapusername"], self.services["ldapCon_5"]["ldappasswd"])
- self.assertNotEqual(loginRes,1,"login API failed")
- self.debug("end test")
-
- def test_06_removeLDAP(self):
- '''
- This test is to verify ldapRemove API functionality
- '''
- # 1. This script fist configures ldap and removes the configured ldap values
- # 2. require ldap configuration:ldapCon_1
-
-
- self.debug("start test")
- self.ldapconfRes=self._testldapConfig(self.services["ldapCon_1"])
- if(self.ldapconfRes==1):
- self.debug("ldap configured successfully")
- deleteldapconfg=ldapRemove.ldapRemoveCmd()
- res=self.apiclient.ldapRemove(deleteldapconfg)
- self.debug("ldap removed successfully")
- self.ldapconfRes=0
- else:
-
- self.debug("LDAP Configuration failed with exception")
- self.assertEquals(self.ldapconfRes,0,"ldapconfig API failed")
- self.debug("end test")
-
- def _testldapConfig(self,ldapSrvD):
-
- """
-
- :param ldapSrvD
-
-
- """
- #This Method takes dictionary as parameter,
- # reads the ldap configuration values from the passed dictionary and
- # register the ldapconfig detail in cloudstack
- # & return true or false based on ldapconfig API response
-
- self.debug("start ldapconfig test")
- #creating the ldapconfig cmd object
- lpconfig = ldapConfig.ldapConfigCmd()
- #Config the ldap server by assigning the ldapconfig dict variable values to ldapConfig object
- lpconfig.hostname = ldapSrvD["ldapHostname"]
- lpconfig.port = ldapSrvD["port"]
- lpconfig.binddn = ldapSrvD["binddn"]
- lpconfig.bindpass = ldapSrvD["bindpass"]
- lpconfig.searchbase = ldapSrvD["searchbase"]
- lpconfig.queryfilter = ldapSrvD["queryfilter"]
-
- #end of assigning the variables
-
- #calling the ldapconfig Api
- self.debug("calling ldapconfig API")
- try:
- lpconfig1 = self.apiclient.ldapConfig(lpconfig)
- self.debug("ldapconfig API succesfful")
- return 1
- except Exception, e:
- self.debug("ldapconfig API failed %s" %e)
- return 0
-
- def chkLogin(self, username, password):
- """
-
- :param username:
- :param password:
-
- """
- self.debug("login test")
-
- try:
- login1 = login.loginCmd()
- login1.username = username
- login1.password = password
- loginRes = self.apiclient.login(login1)
- self.debug("login response %s" % loginRes)
- if loginRes is None:
- self.debug("login not successful")
- else:
- self.debug("login successful")
- return 1
-
- except Exception, p:
- self.debug("login operation failed %s" %p)
- self.debug("end of Login")