def translate_auth_to_avro(*, auth: AuthToken) -> AuthAvro:
     result = AuthAvro()
     result.name = auth.get_name()
     result.guid = str(auth.get_guid())
     result.oidc_sub_claim = auth.get_oidc_sub_claim()
     result.email = auth.get_email()
     return result
Esempio n. 2
0
 def set_identity(self, *, token: AuthToken):
     """
     Set identity
     @param token token
     """
     self.identity = token
     self.name = self.identity.get_name()
     self.guid = token.get_guid()
Esempio n. 3
0
 def __init__(self, *, auth: AuthToken = None):
     self.logger = None
     self.proxy_type = None
     self.callback = False
     self.actor_name = None
     if auth is not None:
         self.actor_name = auth.get_name()
     self.actor_guid = None
     if auth is not None:
         self.actor_guid = auth.get_guid()
     self.auth = auth
class ActorIdentity(ABCActorIdentity):
    """
    Represent Actor Identity
    """
    def __init__(self, *, name: str, guid: ID):
        self.auth = AuthToken(name=name, guid=guid)

    def get_guid(self) -> ID:
        """
        Return guid
        @return guid
        """
        return self.auth.get_guid()

    def get_identity(self) -> AuthToken:
        """
        Return identity
        @return identity
        """
        return self.auth

    def get_name(self) -> str:
        return self.auth.get_name()
Esempio n. 5
0
class ClientCallbackHelper(ABCClientCallbackProxy):
    class MyRequestState(RPCRequestState):
        def __init__(self):
            super().__init__()
            self.reservation = None
            self.update_data = None

    def __init__(self, *, name: str, guid: ID):
        self.token = AuthToken(name=name, guid=guid)
        self.called = 0
        self.prepared = 0
        self.reservation = None

    def get_called(self) -> int:
        return self.called

    def get_guid(self) -> ID:
        return self.token.get_guid()

    def get_identity(self) -> AuthToken:
        return self.token

    def get_name(self) -> str:
        return self.token.get_name()

    def get_reservation(self) -> ABCReservationMixin:
        return self.reservation

    def get_type(self):
        return Constants.PROTOCOL_LOCAL

    def prepare_update_delegation(self, *, delegation: ABCDelegation, update_data: UpdateData,
                                  callback: ABCCallbackProxy, caller: AuthToken) -> ABCRPCRequestState:
        raise NotImplementedError

    def set_logger(self, *, logger):
        pass

    def prepare_update_ticket(self, *, reservation: ABCBrokerReservation, update_data: UpdateData,
                              callback: ABCCallbackProxy, caller: AuthToken) -> ABCRPCRequestState:
        state = self.MyRequestState()
        state.reservation = LocalReturn.pass_reservation(reservation=reservation,
                                                         plugin=ActorRegistrySingleton.get().get_actor(
                                                             actor_name_or_guid=self.token.get_name()).get_plugin())

        self.prepared += 1
        return state

    def execute(self, *, request: ABCRPCRequestState, producer: AvroProducerApi):
        if request.get_type() == RPCRequestType.UpdateTicket:
            self.called += 1
            self.reservation = request.reservation

    def get_logger(self):
        from fabric_cf.actor.core.container.globals import GlobalsSingleton
        return GlobalsSingleton.get().get_logger()

    def prepare_query_result(self, *, request_id: str, response, caller: AuthToken) -> ABCRPCRequestState:
        raise NotImplementedError

    def prepare_failed_request(self, *, request_id: str, failed_request_type,
                               failed_reservation_id: ID, error: str, caller: AuthToken) -> ABCRPCRequestState:
        raise NotImplementedError