Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 370519d0 authored by Henri Chataing's avatar Henri Chataing Committed by Automerger Merge Worker
Browse files

Merge "gd/cert: Remove PyLeSecurity helper" into main am: 885537f2 am: 4b237963

parents 22caa377 4b237963
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -55,7 +55,6 @@ from blueberry.facade.hci import le_scanning_manager_facade_pb2_grpc
from blueberry.facade.l2cap.classic import facade_pb2_grpc as l2cap_facade_pb2_grpc
from blueberry.facade.l2cap.le import facade_pb2_grpc as l2cap_le_facade_pb2_grpc
from blueberry.facade.neighbor import facade_pb2_grpc as neighbor_facade_pb2_grpc
from blueberry.facade.security import facade_pb2_grpc as security_facade_pb2_grpc

from mobly import utils
from mobly.controllers.android_device_lib.adb import AdbError
@@ -259,7 +258,6 @@ class GdDeviceBase(ABC):
        self.hci_le_scanning_manager = le_scanning_manager_facade_pb2_grpc.LeScanningManagerFacadeStub(
            self.grpc_channel)
        self.neighbor = neighbor_facade_pb2_grpc.NeighborFacadeStub(self.grpc_channel)
        self.security = security_facade_pb2_grpc.SecurityModuleFacadeStub(self.grpc_channel)

    def get_crash_snippet_and_log_tail(self):
        if is_subprocess_alive(self.backing_process):
+0 −80
Original line number Diff line number Diff line
#!/usr/bin/env python3
#
#   Copyright 2020 - The Android Open Source Project
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

import logging

from blueberry.tests.gd.cert.closable import Closable
from blueberry.tests.gd.cert.closable import safeClose
from blueberry.tests.gd.cert.event_stream import EventStream
from blueberry.tests.gd.cert.matchers import SecurityMatchers
from blueberry.tests.gd.cert.truth import assertThat
from datetime import timedelta
from google.protobuf import empty_pb2 as empty_proto
from blueberry.facade.security.facade_pb2 import LeAuthRequirementsMessage
from blueberry.facade.security.facade_pb2 import HelperMsgType


class PyLeSecurity(Closable):
    """
        Abstraction for security tasks and GRPC calls
    """

    _ui_event_stream = None
    _bond_event_stream = None
    _helper_event_stream = None

    def __init__(self, device):
        logging.info("DUT: Init")
        self._device = device
        self._device.wait_channel_ready()
        self._ui_event_stream = EventStream(self._device.security.FetchUiEvents(empty_proto.Empty()))
        self._bond_event_stream = EventStream(self._device.security.FetchBondEvents(empty_proto.Empty()))
        self._helper_event_stream = EventStream(self._device.security.FetchHelperEvents(empty_proto.Empty()))
        self._advertising_callback_event_stream = EventStream(
            self._device.security.FetchAdvertisingCallbackEvents(empty_proto.Empty()))

    def get_ui_stream(self):
        return self._ui_event_stream

    def get_bond_stream(self):
        return self._bond_event_stream

    def get_advertising_callback_event_stream(self):
        return self._advertising_callback_event_stream

    def SetLeAuthRequirements(self, *args, **kwargs):
        return self._device.security.SetLeAuthRequirements(LeAuthRequirementsMessage(*args, **kwargs))

    def close(self):
        if self._ui_event_stream is not None:
            safeClose(self._ui_event_stream)
        else:
            logging.info("DUT: UI Event Stream is None!")

        if self._bond_event_stream is not None:
            safeClose(self._bond_event_stream)
        else:
            logging.info("DUT: Bond Event Stream is None!")

        if self._helper_event_stream is not None:
            safeClose(self._helper_event_stream)
        else:
            logging.info("DUT: Helper Event Stream is None!")

        if self._advertising_callback_event_stream is not None:
            safeClose(self._advertising_callback_event_stream)
        else:
            logging.info("DUT: Advertising Callback Event Stream is None!")