예제 #1
0
    def test_get_keystoneclient_v2(self):
        """test_get_keystoneclient_v2 check that we could retrieve a Session client to work with keystone v2"""
        osclients = OpenStackClients()
        osclients.use_v3 = False
        keystoneClient = osclients.get_keystoneclient()

        self.assertIsInstance(keystoneClient, keystoneclient.v2_0.client.Client)
예제 #2
0
    def test_get_swiftclient_with_keystone_v2(self):
        """test_get_swiftclient check that we could retrieve a Session client to work with swift using keystone v2"""

        osclients = OpenStackClients(modules="swift")
        osclients.use_v3 = False
        swiftClient = osclients.get_swiftclient()

        self.assertIsInstance(swiftClient, Connection)
예제 #3
0
    def test_get_keystoneclient_v2_with_tenant_id(self):
        """test_get_keystoneclient_v2_with_tenant_id check that we could retrieve a Session client to work
        with keystone v2 and using tenant_id"""

        osclients = OpenStackClients()
        osclients.use_v3 = False
        osclients.set_credential(self.OS_USERNAME, self.OS_PASSWORD, tenant_id=self.OS_TENANT_ID)

        keystoneClient = osclients.get_keystoneclient()

        self.assertIsInstance(keystoneClient, keystoneclient.v2_0.client.Client)
예제 #4
0
    def test_set_credential_to_osclients(self):
        """test_set_credential_to_osclients check that we could set credentials using method set_credential"""
        username = "******"
        password = "******"
        tenant_name = "new_user cloud"
        tenant_id = "00000000000000000000000000000002"
        trust_id = "randomid0000000000000000000000001"

        # FIRST CHECK: Credentials from ENV
        osclients = OpenStackClients()
        self.assertEqual(osclients._OpenStackClients__username, self.OS_USERNAME)
        self.assertEqual(osclients._OpenStackClients__tenant_id, self.OS_TENANT_ID)

        # SECOND CHECK: updating Credentials with tenant_id
        osclients.set_credential(username, password,
                       tenant_id=tenant_id)
        self.assertEqual(osclients._OpenStackClients__tenant_id, tenant_id)

        # THIRD CHECK: updating Credentials with tenant_name
        osclients.set_credential(username, password,
                       tenant_name=tenant_name)
        self.assertEqual(osclients._OpenStackClients__tenant_name, tenant_name)

        # FOURTH CHECK: updating Credentials with trust_id
        osclients.set_credential(username, password,
                       trust_id=trust_id)
        self.assertEqual(osclients._OpenStackClients__trust_id, trust_id)

        # FIFTH CHECK: updating Credentials without trust_id, tenant_id and tenant_name
        osclients.set_credential(username, password)
        self.assertIsNone(osclients._OpenStackClients__trust_id)
        self.assertIsNone(osclients._OpenStackClients__tenant_name)
        self.assertIsNone(osclients._OpenStackClients__tenant_id)

        # Creating a client to check that set_credential destroy the session with v3
        novaclient = osclients.get_novaclient()
        self.assertIsNotNone(osclients._session_v3)
        osclients.set_credential(username, password)
        self.assertIsNone(osclients._session_v3)

        # Creating a client to check that set_credential destroy the session with v2
        osclients.use_v3 = False
        novaclient = osclients.get_novaclient()
        self.assertIsNotNone(osclients._session_v2)
        osclients.set_credential(username, password)
        self.assertIsNone(osclients._session_v2)
예제 #5
0
    def test_get_session_without_auth_url(self):
        """test_get_session_without_auth_url check that we could not retrieve a session without auth_url"""

        osclients = OpenStackClients()
        osclients.auth_url = None

        # Checking v3
        try:
            osclients.get_session()
        except Exception as ex:
            self.assertRaises(ex)

        # Checking v2
        osclients.use_v3 = False
        try:
            osclients.get_session()
        except Exception as ex:
            self.assertRaises(ex)
예제 #6
0
    def test_get_session_without_username_nor_token(self):
        """test_get_session_without_username check that we could not retrieve a session without username"""

        osclients = OpenStackClients()

        osclients.set_credential("", self.OS_PASSWORD,
                       tenant_id=self.OS_TENANT_ID)

        # Checking v3
        try:
            osclients.get_session()
        except Exception as ex:
            self.assertRaises(ex)

        # Checking v2
        osclients.use_v3 = False
        try:
            osclients.get_session()
        except Exception as ex:
            self.assertRaises(ex)
예제 #7
0
    def test_get_session_with_different_auth_url(self):
        """test_get_session_without_auth_url check that we could retrieve a session with auth_url formats"""

        auth_url_v2_1 = "http://cloud.lab.fi-ware.org:4731/v2.0"
        auth_url_v2_2 = "http://cloud.lab.fi-ware.org:4731/v2.0/"

        auth_url_v3_1 = "http://cloud.lab.fi-ware.org:4731/v3"
        auth_url_v3_2 = "http://cloud.lab.fi-ware.org:4731/v3/"

        osclients = OpenStackClients()

        # Checking v3
        osclients.auth_url = auth_url_v2_1
        session = osclients.get_session()
        self.assertIsInstance(session, keystoneclient.session.Session)

        session.invalidate()
        osclients._session_v3 = None

        osclients.auth_url = auth_url_v2_2
        session = osclients.get_session()
        self.assertIsInstance(session, keystoneclient.session.Session)

        session.invalidate()
        osclients._session_v3 = None

        # Checking v2
        osclients.use_v3 = False
        osclients.auth_url = auth_url_v3_1
        session = osclients.get_session()
        self.assertIsInstance(session, keystoneclient.session.Session)

        session.invalidate()
        osclients._session_v2 = None

        osclients.auth_url = auth_url_v3_2
        session = osclients.get_session()
        self.assertIsInstance(session, keystoneclient.session.Session)

        session.invalidate()
        osclients._session_v2 = None