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
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")
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
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