def test_preservation_data_service(
     self, mock_successful_connection, mock_device_service, mock_connection_manager
 ):
     factory = StorageServiceFactory(
         mock_successful_connection, mock_device_service, mock_connection_manager
     )
     service = factory.create_preservation_data_service("testhost.com")
     assert type(service) == StoragePreservationDataService
Exemple #2
0
 def test_exfiltrated_data_service(
     self, mock_successful_connection, mock_device_service, mock_connection_manager
 ):
     factory = StorageServiceFactory(
         mock_successful_connection, mock_device_service, mock_connection_manager
     )
     service = factory.create_exfiltrated_data_service("testhost.com")
     assert type(service) == ExfiltratedDataService
 def test_create_archive_service(
     self, mock_successful_connection, mock_device_service, mock_connection_manager
 ):
     factory = StorageServiceFactory(
         mock_successful_connection, mock_device_service, mock_connection_manager
     )
     service = factory.create_archive_service("testguid", None)
     assert type(service) == StorageArchiveService
 def test_create_archive_service_when_given_destination_guid_does_not_call_device_service(
     self, mock_successful_connection, mock_device_service, mock_connection_manager
 ):
     factory = StorageServiceFactory(
         mock_successful_connection, mock_device_service, mock_connection_manager
     )
     service = factory.create_archive_service("testguid", destination_guid=42)
     assert mock_device_service.get_by_guid.call_count == 0
     assert type(service) == StorageArchiveService
 def test_create_security_data_service(self, mock_successful_connection,
                                       mock_device_service,
                                       mock_connection_manager):
     factory = StorageServiceFactory(mock_successful_connection,
                                     mock_device_service,
                                     mock_connection_manager)
     service = factory.create_security_data_service("testplanuid",
                                                    "testdestinationguid")
     assert type(service) == StorageSecurityDataService
 def test_create_archive_service(self, mock_successful_connection,
                                 mock_device_service,
                                 mock_connection_manager):
     factory = StorageServiceFactory(mock_successful_connection,
                                     mock_device_service,
                                     mock_connection_manager)
     service = factory.create_archive_service("testguid")
     mock_device_service.get_by_guid.assert_called_once_with(
         "testguid", include_backup_usage=True)
     assert type(service) == StorageArchiveService
 def test_auto_select_destination_guid_when_device_has_no_destination_raises_exception(
     self,
     mock_successful_connection,
     mock_device_service,
     mock_connection_manager,
     py42_response,
 ):
     factory = StorageServiceFactory(
         mock_successful_connection, mock_device_service, mock_connection_manager
     )
     py42_response.text = '{"backupUsage": []}'
     mock_device_service.get_by_guid.return_value = py42_response
     with pytest.raises(Exception):
         factory.auto_select_destination_guid(TEST_DEVICE_GUID)
 def test_create_archive_service_when_device_has_no_destination_raises_exception(
     self,
     mock_successful_connection,
     mock_device_service,
     mock_connection_manager,
     py42_response,
 ):
     factory = StorageServiceFactory(mock_successful_connection,
                                     mock_device_service,
                                     mock_connection_manager)
     py42_response.text = '{"backupUsage": []}'
     mock_device_service.get_by_guid.return_value = py42_response
     with pytest.raises(Exception):
         factory.create_archive_service("testguid")
Exemple #9
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 #10
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