Example #1
0
    def on_sas_token_updated(self):
        logger.info(
            "{}: New sas token received.  Passing down UpdateSasTokenOperation."
            .format(self.name))

        @pipeline_thread.runs_on_pipeline_thread
        def on_token_update_complete(op):
            if op.error:
                logger.error(
                    "{}({}): token update operation failed.  Error={}".format(
                        self.name, op.name, op.error))
                unhandled_exceptions.exception_caught_in_background_thread(
                    op.error)
            else:
                logger.debug(
                    "{}({}): token update operation is complete".format(
                        self.name, op.name))

        operation_flow.pass_op_to_next_stage(
            stage=self,
            op=pipeline_ops_base.UpdateSasTokenOperation(
                sas_token=self.auth_provider.get_current_sas_token(),
                callback=on_token_update_complete,
            ),
        )
Example #2
0
    def on_sas_token_updated(self):
        logger.info(
            "{}: New sas token received.  Passing down UpdateSasTokenOperation.".format(self.name)
        )

        @pipeline_thread.runs_on_pipeline_thread
        def on_token_update_complete(op, error):
            if error:
                logger.error(
                    "{}({}): token update operation failed.  Error={}".format(
                        self.name, op.name, error
                    )
                )
                handle_exceptions.handle_background_exception(error)
            else:
                logger.debug(
                    "{}({}): token update operation is complete".format(self.name, op.name)
                )

        self.send_op_down(
            op=pipeline_ops_base.UpdateSasTokenOperation(
                sas_token=self.auth_provider.get_current_sas_token(),
                callback=on_token_update_complete,
            )
        )
Example #3
0
 def test_mqtt_publish(self, mocker, stage, create_transport):
     cb = mocker.MagicMock()
     op_update_sas_token = pipeline_ops_base.UpdateSasTokenOperation(
         sas_token=fake_sas_token, callback=cb)
     stage.run_op(op_update_sas_token)
     assert_callback_succeeded(op_update_sas_token)
     assert stage.sas_token == fake_sas_token
    def test_mqtt_publish(self, mocker, stage, create_transport):
        cb = mocker.MagicMock()
        op_update_sas_token = pipeline_ops_base.UpdateSasTokenOperation(
            sas_token=fake_sas_token, callback=cb)
        mocker.spy(op_update_sas_token, "complete")

        stage.run_op(op_update_sas_token)

        assert op_update_sas_token.complete.call_count == 1
        assert op_update_sas_token.complete.call_args == mocker.call()
        assert stage.sas_token == fake_sas_token
 def op(self, mocker):
     return pipeline_ops_base.UpdateSasTokenOperation(
         sas_token="new_fake_sas_token", callback=mocker.MagicMock())