Beispiel #1
0
    def test_multi_session(self):
        """ Use multi session at the same time

        """
        with patch.object(NURESTTestSession, "_authenticate", return_value=True):
            session1 = start_session(username="******", password="******", enterprise="enterprise1", api_url="https://vsd:8443", version="3.2")
            session1.start()
            self.assertSessionEquals(session1, NURESTTestSession.get_current_session())

            session2 = start_session(username="******", password="******", enterprise="ent2", api_url="https://vsd:8443", version="3.1")
            session3 = start_session(username="******", password="******", enterprise="ent3", api_url="https://vsd:8443", version="3.0")
            session4 = start_session(username="******", password="******", enterprise="enterprise4", api_url="https://vsd:8443", version="3.4")
            session5 = start_session(username="******", password="******", enterprise="enterprise5", api_url="https://vsd:8443", version="3.5")

            with session2.start():
                self.assertSessionEquals(session2, NURESTTestSession.get_current_session())

                with session3.start():
                    self.assertSessionEquals(session3, NURESTTestSession.get_current_session())

                self.assertSessionEquals(session2, NURESTTestSession.get_current_session())

            session1.start()
            self.assertSessionEquals(session1, NURESTTestSession.get_current_session())

            with session4.start():
                self.assertSessionEquals(session4, NURESTTestSession.get_current_session())

            session1.start()
            self.assertSessionEquals(session1, NURESTTestSession.get_current_session())

            session5.start()
            self.assertSessionEquals(session5, NURESTTestSession.get_current_session())
Beispiel #2
0
    def test_multi_session_with_statement(self):
        """ Use multi session with statement """

        with patch.object(NURESTTestSession, "_authenticate", return_value=True):
            session1 = start_session(username="******", password="******", enterprise="enterprise1", api_url="https://vsd:8443", version="3.2")
            session2 = start_session(username="******", password="******", enterprise="ent2", api_url="https://vsd:8443", version="3.1")
            session2.start()

            with session1.start():
                self.assertSessionEquals(session1, NURESTTestSession.get_current_session())

            self.assertSessionEquals(session2, NURESTTestSession.get_current_session())
Beispiel #3
0
    def test_get_rest_name(self):
        """ Get user REST name """
        session = start_session(username="******", password="******", enterprise="Alcatel", api_url="https://example.com", version="3.0", api_prefix="api")

        user = User()
        self.assertEquals(user.rest_name, 'me')
        self.assertEquals(user.get_resource_url(), 'https://example.com/api/v3_0/me')
Beispiel #4
0
    def test_single_session(self):
        """ Use a single session """

        with patch.object(NURESTTestSession, "_authenticate", return_value=True):
            session1 = start_session(username="******", password="******", enterprise="enterprise1", api_url="https://vsd:8443", version="3.2")
            session1.start()
            self.assertSessionEquals(session1, NURESTTestSession.get_current_session())
Beispiel #5
0
    def test_impersonate(self):
        """ GET /enterprises with impersonation

        """
        session = start_session()

        session.impersonate(username='******', enterprise='enterprise')

        mock = MockUtils.create_mock_response(status_code=200, data=[])

        user = User()

        with patch('requests.request', mock):
            user.enterprises.fetch()

        headers = MockUtils.get_mock_parameter(mock=mock, name='headers')

        self.assertIn('X-Nuage-ProxyUser', headers)
        self.assertEquals(headers['X-Nuage-ProxyUser'], 'johndoe@enterprise')
        self.assertEquals(session.is_impersonating, True)

        session.stop_impersonate()
        self.assertEquals(session.is_impersonating, False)

        with patch('requests.request', mock):
            user.enterprises.fetch()

        headers = MockUtils.get_mock_parameter(mock=mock, name='headers')
        self.assertNotIn('X-Nuage-ProxyUser', headers)
Beispiel #6
0
 def setUpClass(self):
     """ Initialize context """
     start_session()
Beispiel #7
0
    def test_multi_session(self):
        """ Use multi session at the same time

        """
        with patch.object(NURESTTestSession,
                          "_authenticate",
                          return_value=True):
            session1 = start_session(username="******",
                                     password="******",
                                     enterprise="enterprise1",
                                     api_url="https://vsd:8443",
                                     version="3.2")
            session1.start()
            self.assertSessionEquals(session1,
                                     NURESTTestSession.get_current_session())

            session2 = start_session(username="******",
                                     password="******",
                                     enterprise="ent2",
                                     api_url="https://vsd:8443",
                                     version="3.1")
            session3 = start_session(username="******",
                                     password="******",
                                     enterprise="ent3",
                                     api_url="https://vsd:8443",
                                     version="3.0")
            session4 = start_session(username="******",
                                     password="******",
                                     enterprise="enterprise4",
                                     api_url="https://vsd:8443",
                                     version="3.4")
            session5 = start_session(username="******",
                                     password="******",
                                     enterprise="enterprise5",
                                     api_url="https://vsd:8443",
                                     version="3.5")

            with session2.start():
                self.assertSessionEquals(
                    session2, NURESTTestSession.get_current_session())

                with session3.start():
                    self.assertSessionEquals(
                        session3, NURESTTestSession.get_current_session())

                self.assertSessionEquals(
                    session2, NURESTTestSession.get_current_session())

            session1.start()
            self.assertSessionEquals(session1,
                                     NURESTTestSession.get_current_session())

            with session4.start():
                self.assertSessionEquals(
                    session4, NURESTTestSession.get_current_session())

            session1.start()
            self.assertSessionEquals(session1,
                                     NURESTTestSession.get_current_session())

            session5.start()
            self.assertSessionEquals(session5,
                                     NURESTTestSession.get_current_session())