def test_find(self):
     cm = CardManager(self.__context)
     identity = IdentitiesManager().create_user("alice", "username")
     owner_key = VirgilKey(self.__context, self.__key_pair_alice.private_key)
     card = cm.create(identity, owner_key)
     try:
         cm.publish(card)
         finded = cm.find("alice")
         self.assertIn(card, finded)
     finally:
         try:
             self.__cleanup_cards(card)
         except Exception:
             pass
    def test_publish(self):
        cm = CardManager(self.__context)
        identity = IdentitiesManager().create_user("alice", "username")
        owner_key = VirgilKey(self.__context, self.__key_pair_alice.private_key)
        card = cm.create(identity, owner_key)

        try:
            card.publish()
            self.assertIsInstance(cm.get(card.id), VirgilCard)
            self.assertEqual(cm.get(card.id).identity, card.identity)
        finally:
            try:
                self.__cleanup_cards(card)
            except Exception:
                pass
 def __init__(self, *args, **kwargs):
     super(CardManagerTest, self).__init__(*args, **kwargs)
     self._context = None
     self.__key_pair_alice = self.__context.crypto.generate_keys()
     self.__key_pair_bob = self.__context.crypto.generate_keys()
     self.__global_card_config = {
         "identity": "bob",
         "identity_type": "email",
         "owner_key": VirgilKey(self.__context, self.__key_pair_bob.private_key)
     }
     self._app_private_key = None
     self.__crypto = VirgilCrypto()
     self.__client = VirgilClient(access_token=config.VIRGIL_ACCESS_TOKEN)
     self.__request_signer = RequestSigner(self.__crypto)
     self._compatibility_data = None
     self._compatibility_data_path = None
     self._decode_data = None
    def load(self, key_name, key_password=None):
        # type: (str, Optional[str]) -> VirgilKey
        """Loads the VirgilKey from current storage by specified key name.

        Args:
            key_name: The name of the Key.
            key_password: The Key password.

        Returns:
            An instance of VirgilKey class.

        Raises:
            ValueError when key name empty.
        """
        if not key_name:
            raise ValueError("Key name empty")
        raw_key = self.context.key_storage.load(key_name)
        private_key = self.context.crypto.import_private_key(
            bytearray(raw_key), key_password)
        return VirgilKey(self.context, private_key)
 def test_create_app(self):
     identity = IdentitiesManager().create_app("someapp")
     owner_key = VirgilKey(self.__context, self.__key_pair_alice.private_key)
     cm = CardManager(self.__context)
     card = cm.create(identity, owner_key)
     self.assertIsInstance(card, VirgilCard)
 def test_export_public_key(self):
     test_keys = self.__crypto.generate_keys()
     context = VirgilContext()
     vk = VirgilKey(context, test_keys.private_key)
     self.assertEqual(bytearray(test_keys.public_key.value),
                      vk.export_public_key().get_bytearray())