def test_get_departing_employee_client(self, mock_session, session_factory,
                                        user_context, user_client):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         user_client)
     client = factory.get_departing_employee_client()
     assert type(client) == DepartingEmployeeClient
 def test_get_file_event_client(self, mock_session, session_factory,
                                user_context, user_client):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         user_client)
     client = factory.get_file_event_client()
     assert type(client) == file_event.FileEventClient
 def test_get_alerts_client(self, mock_session, session_factory,
                            user_context, user_client):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         user_client)
     client = factory.get_alerts_client()
     assert type(client) == alerts.AlertClient
    def test_get_file_event_client_returns_same_intance_on_multiple_calls(
            self, mock_session, session_factory, user_context):
        factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                            session_factory, user_context)
        client1 = factory.get_file_event_client()
        client2 = factory.get_file_event_client()

        assert client1 is client2
 def test_get_file_event_client_calls_get_stored_value_with_expected_key(
         self, mock_session, session_factory, user_context,
         key_value_store_client):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         key_value_store_client)
     factory.get_file_event_client()
     key_value_store_client.get_stored_value.assert_called_once_with(
         "FORENSIC_SEARCH-API_URL")
 def test_get_departing_employee_client_calls_get_stored_value_with_expected_key(
         self, mock_session, session_factory, user_context,
         key_value_store_client):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         key_value_store_client)
     factory.get_departing_employee_client()
     key_value_store_client.get_stored_value.assert_called_once_with(
         "employeecasemanagement-API_URL")
Exemple #7
0
    def test_get_departing_employee_client_returns_same_intance_on_multiple_calls(
            self, mock_session, session_factory, user_context):
        factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                            session_factory, user_context)
        user_client = UserClient(mock_session)
        client1 = factory.get_departing_employee_client(user_client)
        client2 = factory.get_departing_employee_client(user_client)

        assert client1 is client2
Exemple #8
0
 def test_get_departing_employee_client(self, mock_session, session_factory,
                                        user_context):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context)
     user_client = UserClient(mock_session)
     client = factory.get_departing_employee_client(user_client)
     assert type(
         client
     ) == detectionlists.departing_employee.DepartingEmployeeClient
 def test_get_file_event_client_calls_creates_client_with_expected_url(
         self, mock_session, session_factory, user_context,
         key_value_store_client):
     key_value_store_client.get_stored_value.return_value.text = FILE_EVENTS_URL
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         key_value_store_client)
     factory.get_file_event_client()
     session_factory.create_jwt_session.assert_called_once_with(
         FILE_EVENTS_URL, mock_session)
 def test_get_departing_employee_client_creates_client_with_expected_url(
         self, mock_session, session_factory, user_context,
         key_value_store_client):
     key_value_store_client.get_stored_value.return_value.text = DEPARTING_EMPLOYEE_URL
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         key_value_store_client)
     factory.get_departing_employee_client()
     session_factory.create_jwt_session.assert_called_once_with(
         DEPARTING_EMPLOYEE_URL, mock_session)
 def test_create_storage_preservation_client(self, mock_session,
                                             user_context, user_client,
                                             session_factory):
     factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                         session_factory, user_context,
                                         user_client)
     factory.create_storage_preservation_client("https://host.com")
     session_factory.create_jwt_session.assert_called_once_with(
         "https://host.com", mock_session)
     session_factory.create_anonymous_session.assert_called_once_with(
         "https://host.com")
    def test_get_alert_rules_client_when_no_sts_base_url_raises_Py42FeatureUnavailableError(
            self, mocker, mock_session, session_factory, user_context,
            user_client):
        def get(uri, *args, **kwargs):
            if uri == "/api/ServerEnv":
                mock_response = mocker.MagicMock(spec=Response)
                mock_response.text = "{}"
                return mock_response

        mock_session.get.side_effect = get
        factory = MicroserviceClientFactory(TEST_ROOT_URL, mock_session,
                                            session_factory, user_context,
                                            user_client)
        with pytest.raises(Py42FeatureUnavailableError) as err:
            factory.get_alert_rules_client()

        assert err.value.response
 def test_get_alerts_client_calls_get_stored_value_with_expected_key(
     self,
     mock_session,
     session_factory,
     user_context,
     user_client,
     key_value_store_client,
 ):
     factory = MicroserviceClientFactory(
         TEST_ROOT_URL,
         mock_session,
         session_factory,
         user_context,
         user_client,
         key_value_store_client,
     )
     factory.get_alerts_client()
     key_value_store_client.get_stored_value.assert_called_once_with(
         "AlertService-API_URL")
Exemple #14
0
    def __init__(self, host_address, session_factory, root_session):
        self._set_v3_session(host_address, session_factory, root_session)

        # authority clients
        authority_client_factory = AuthorityClientFactory(self.session)
        self.administration_client = (
            authority_client_factory.create_administration_client()
        )
        self.user_client = authority_client_factory.create_user_client()
        self.device_client = authority_client_factory.create_device_client()
        self.org_client = authority_client_factory.create_org_client()
        self.legal_hold_client = authority_client_factory.create_legal_hold_client()
        self.archive_client = authority_client_factory.create_archive_client()
        self.security_client = authority_client_factory.create_security_client()
        self.user_context = UserContext(self.administration_client)

        archive_locator_factory = StorageTokenProviderFactory(
            self.session, self.security_client, self.device_client
        )

        self.storage_client_factory = _get_storage_client_factory(
            session_factory, archive_locator_factory
        )

        archive_accessor_manager = ArchiveAccessorManager(
            self.archive_client, self.storage_client_factory
        )

        microservice_client_factory = MicroserviceClientFactory(
            host_address,
            root_session,
            session_factory,
            self.user_context,
            self.user_client,
        )

        # modules (feature sets that combine info from multiple clients)
        self.archive_module = archive_module.ArchiveModule(
            archive_accessor_manager, self.archive_client
        )
        self.security_module = sec_module.SecurityModule(
            self.security_client,
            self.storage_client_factory,
            microservice_client_factory,
        )
        self.detection_lists_module = detectionlists.DetectionListsModule(
            microservice_client_factory
        )

        self.alerts_module = alerts.AlertsModule(microservice_client_factory)