Exemple #1
0
    def test_dp_log_created_from_grpc_request(self, with_cbsd, serial_num,
                                              fcc_id, network_id):
        # Given
        cbsd = None
        if with_cbsd:
            cbsd = self.session.query(DBCbsd).first()
        message = CBSDRequest(
            user_id='some_user_id',
            fcc_id=fcc_id,
            serial_number=serial_num,
            min_power=2,
            max_power=3,
            antenna_gain=4,
            number_of_ports=5,
        )

        # When
        actual_log = make_dp_log(method_name=CBSD_REGISTER,
                                 message=message,
                                 cbsd=cbsd)

        # Then
        expected_log = DPLog(
            event_timestamp=SOME_DATE,
            cbsd_serial_number=serial_num,
            fcc_id=fcc_id,
            log_from=CBSD,
            log_message=str(message),
            log_name='CBSDRegisterRequest',
            log_to=DP,
            network_id=network_id,
            response_code=None,
        )
        self.assertEqual(expected_log, actual_log)
Exemple #2
0
    def test_dp_log_created_from_db_response(self, with_cbsd, serial_num,
                                             fcc_id, network_id):
        # Given
        req_type = self.session.query(DBRequestType).first()
        cbsd = None
        if with_cbsd:
            cbsd = self.session.query(DBCbsd).first()
        request = DBRequest(type=req_type,
                            cbsd=cbsd,
                            payload='some_request_message')
        resp_payload = {"response": {"responseCode": "0"}}
        response = DBResponse(request=request,
                              response_code=200,
                              payload=resp_payload)

        # When
        actual_log = make_dp_log(response)

        # Then
        expected_log = DPLog(
            cbsd_serial_number=serial_num,
            fcc_id=fcc_id,
            log_from=SAS,
            log_message="{'response': {'responseCode': '0'}}",
            log_name='heartbeatResponse',
            log_to=DP,
            network_id=network_id,
            response_code="0",
        )
        self.assertEqual(expected_log, actual_log)
Exemple #3
0
 def _log_result(self, message_type: str, result: CBSDStateResult,
                 cbsd: DBCbsd, serial_number: str):
     try:
         log = make_dp_log(result, message_type, cbsd, serial_number)
         self.fluentd_client.send_dp_log(log)
     except (FluentdClientException, TypeError) as err:
         logging.error(f"Failed to log {message_type} result. {err}")
Exemple #4
0
 def _log_request(self, message_type: str, request: CBSDRequest,
                  cbsd: DBCbsd):
     try:
         log = make_dp_log(request, message_type, cbsd)
         self.fluentd_client.send_dp_log(log)
     except (FluentdClientException, TypeError) as err:
         logging.error(f"Failed to log {message_type} request. {err}")
Exemple #5
0
    def test_dp_log_created_from_db_request(self, with_cbsd, serial_num,
                                            fcc_id, network_id):
        # Given
        req_type = self.session.query(DBRequestType).first()
        cbsd = None
        if with_cbsd:
            cbsd = self.session.query(DBCbsd).first()
        request = DBRequest(type=req_type, cbsd=cbsd, payload=SOME_MESSAGE)

        # When
        actual_log = make_dp_log(request)

        # Then
        expected_log = DPLog(
            event_timestamp=SOME_TIMESTAMP,
            cbsd_serial_number=serial_num,
            fcc_id=fcc_id,
            log_from=DP,
            log_message=SOME_MESSAGE,
            log_name=HEARTBEAT_REQUEST,
            log_to=SAS,
            network_id=network_id,
            response_code=None,
        )
        self.assertEqual(expected_log, actual_log)
Exemple #6
0
def _log_requests_map(requests_map: dict, fluentd_client: FluentdClient):
    requests_type = next(iter(requests_map))
    for request in requests_map[requests_type]:
        try:
            log = make_dp_log(request)
            fluentd_client.send_dp_log(log)
        except (FluentdClientException, TypeError) as err:
            logging.error(f"Failed to log {requests_type} request. {err}")
Exemple #7
0
    def test_dp_log_created_from_grpc_response(self, with_cbsd, fcc_id,
                                               network_id):
        # Given
        cbsd = None
        if with_cbsd:
            cbsd = self.session.query(DBCbsd).first()
        channels = [
            LteChannel(
                low_frequency_hz=1,
                high_frequency_hz=2,
                max_eirp_dbm_mhz=3,
            ),
            LteChannel(
                low_frequency_hz=4,
                high_frequency_hz=5,
                max_eirp_dbm_mhz=6,
            ),
        ]
        message = CBSDStateResult(
            channels=channels,
            radio_enabled=True,
            carrier_aggregation_enabled=True,
        )

        # When
        actual_log = make_dp_log(
            method_name=CBSD_REGISTER,
            message=message,
            cbsd=cbsd,
            serial_number=SOME_SERIAL_NUMBER,
        )

        # Then
        expected_log = DPLog(
            event_timestamp=SOME_DATE,
            cbsd_serial_number=SOME_SERIAL_NUMBER,
            fcc_id=fcc_id,
            log_from=DP,
            log_message=str(message),
            log_name='CBSDRegisterResponse',
            log_to=CBSD,
            network_id=network_id,
            response_code=None,
        )
        self.assertEqual(expected_log, actual_log)
Exemple #8
0
 def test_make_dp_log_returns_type_error_for_unknown_message_type(self):
     with self.assertRaises(TypeError):
         make_dp_log(IncorrectDPLog())
Exemple #9
0
 def _log_response(self, response_type: str, db_response: DBResponse):
     try:
         log = make_dp_log(db_response)
         self.fluentd_client.send_dp_log(log)
     except (FluentdClientException, TypeError) as err:
         logging.error(f"Failed to log {response_type} response. {err}")