from abc import ABCMeta, abstractmethod from six import add_metaclass @add_metaclass(ABCMeta) class ServiceKeyWorkerDataInterface(object): """ Interface that represents all data store interactions required by the service key worker. """ @abstractmethod def set_key_expiration(self, key_id, expiration_date): """ Sets the expiration date of the service key with the given key ID to that given. """ pass @abstractmethod def create_service_key_for_testing(self, expiration): """ Creates a service key for testing with the given expiration. Returns the KID for key. """ pass @abstractmethod def get_service_key_expiration(self, key_id): """ Returns the expiration date for the key with the given ID. If the key doesn't exist or does not have an expiration, returns None. """ pass