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())
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())
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')
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())
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)
def setUpClass(self): """ Initialize context """ start_session()
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())