def test_get_storage_session_with_multiple_calls_returns_same_session(
     self, mock_tmp_auth
 ):
     storage_session_manager = ConnectionManager()
     session1 = storage_session_manager.get_storage_connection(mock_tmp_auth)
     session2 = storage_session_manager.get_storage_connection(mock_tmp_auth)
     assert session1 is session2
 def test_get_saved_session_returns_session_after_successful_call_to_get_session(
     self, mock_tmp_auth
 ):
     storage_session_manager = ConnectionManager()
     storage_session_manager.get_storage_connection(mock_tmp_auth)
     assert (
         storage_session_manager.get_saved_connection_for_url("testhost.com")
         is not None
     )
 def test_get_storage_session_raises_session_init_error_when_tmp_auth_raises_http_error(
     self, mock_tmp_auth, http_error, mocker
 ):
     error = http_error
     error.response = mocker.MagicMock(spec=Response)
     error.response.text = ""
     mock_tmp_auth.get_storage_url.side_effect = Py42HTTPError(error)
     storage_session_manager = ConnectionManager()
     with pytest.raises(Py42StorageSessionInitializationError):
         storage_session_manager.get_storage_connection(mock_tmp_auth)
Exemple #4
0
def _init_clients(services, connection):
    # clients are imported within function to prevent circular imports when a client
    # imports anything from py42.sdk.queries
    from py42.clients import Clients
    from py42.clients._archiveaccess.accessorfactory import ArchiveAccessorFactory
    from py42.clients.alertrules import AlertRulesClient
    from py42.clients.alerts import AlertsClient
    from py42.clients.archive import ArchiveClient
    from py42.clients.auditlogs import AuditLogsClient
    from py42.clients.authority import AuthorityClient
    from py42.clients.cases import CasesClient
    from py42.clients.detectionlists import DetectionListsClient
    from py42.clients.loginconfig import LoginConfigurationClient
    from py42.clients.securitydata import SecurityDataClient
    from py42.clients.trustedactivities import TrustedActivitiesClient
    from py42.services.storage._service_factory import ConnectionManager
    from py42.services.storage._service_factory import StorageServiceFactory

    authority = AuthorityClient(
        administration=services.administration,
        archive=services.archive,
        devices=services.devices,
        legalhold=services.legalhold,
        orgs=services.orgs,
        users=services.users,
    )
    detectionlists = DetectionListsClient(services.userprofile,
                                          services.departingemployee,
                                          services.highriskemployee)
    storage_service_factory = StorageServiceFactory(connection,
                                                    services.devices,
                                                    ConnectionManager())
    alertrules = AlertRulesClient(services.alerts, services.alertrules)
    securitydata = SecurityDataClient(
        services.fileevents,
        services.preservationdata,
        services.savedsearch,
        storage_service_factory,
    )
    alerts = AlertsClient(services.alerts, alertrules)
    archive_accessor_factory = ArchiveAccessorFactory(services.archive,
                                                      storage_service_factory)
    archive = ArchiveClient(archive_accessor_factory, services.archive)
    auditlogs = AuditLogsClient(services.auditlogs)
    loginconfig = LoginConfigurationClient(connection)
    trustedactivities = TrustedActivitiesClient(services.trustedactivities)
    clients = Clients(
        authority=authority,
        detectionlists=detectionlists,
        alerts=alerts,
        securitydata=securitydata,
        archive=archive,
        auditlogs=auditlogs,
        cases=CasesClient(services.cases, services.casesfileevents),
        loginconfig=loginconfig,
        trustedactivities=trustedactivities,
    )
    return clients
Exemple #5
0
def _init_clients(services, connection):
    authority = AuthorityClient(
        administration=services.administration,
        archive=services.archive,
        devices=services.devices,
        legalhold=services.legalhold,
        orgs=services.orgs,
        securitydata=services.securitydata,
        users=services.users,
    )
    detectionlists = DetectionListsClient(services.userprofile,
                                          services.departingemployee,
                                          services.highriskemployee)

    storage_service_factory = StorageServiceFactory(connection,
                                                    services.devices,
                                                    ConnectionManager())
    alertrules = AlertRulesClient(services.alerts, services.alertrules)
    securitydata = SecurityDataClient(
        services.securitydata,
        services.fileevents,
        services.preservationdata,
        services.savedsearch,
        storage_service_factory,
    )
    alerts = AlertsClient(services.alerts, alertrules)
    archive_accessor_mgr = ArchiveAccessorManager(services.archive,
                                                  storage_service_factory)
    archive = ArchiveClient(archive_accessor_mgr, services.archive)
    auditlogs = AuditLogsClient(services.auditlogs)
    clients = Clients(
        authority=authority,
        detectionlists=detectionlists,
        alerts=alerts,
        securitydata=securitydata,
        archive=archive,
        auditlogs=auditlogs,
    )
    return clients
 def test_get_storage_session_calls_session_factory_with_token_provider(
     self, mock_tmp_auth
 ):
     storage_session_manager = ConnectionManager()
     connection = storage_session_manager.get_storage_connection(mock_tmp_auth)
     assert type(connection) == Connection
 def test_get_storage_session_get_saved_session_initially_returns_none(self,):
     storage_session_manager = ConnectionManager()
     assert (
         storage_session_manager.get_saved_connection_for_url("testhost.com") is None
     )
 def test_get_storage_session_raises_session_init_error_when_tmp_auth_raises_http_error(
         self, mock_tmp_auth):
     mock_tmp_auth.get_storage_url.side_effect = Py42HTTPError(HTTPError())
     storage_session_manager = ConnectionManager()
     with pytest.raises(Py42StorageSessionInitializationError):
         storage_session_manager.get_storage_connection(mock_tmp_auth)