def test_to_uri(
     self,
     tx,
     replace,
     callback,
     pubkey,
     message,
     network_passphrase,
     origin_domain,
     signature,
     signer,
     uri,
 ):
     uri_builder = TransactionStellarUri(
         transaction_envelope=tx,
         replace=replace,
         callback=callback,
         pubkey=pubkey,
         message=message,
         network_passphrase=network_passphrase,
         origin_domain=origin_domain,
         signature=signature,
     )
     if signer:
         uri_builder.sign(signer)
     assert uri_builder.to_uri() == uri
 def test_invalid_path_raise(self):
     uri = "web+stellar:invalid_tx?xdr=AAAAAP%2Byw%2BZEuNg533pUmwlYxfrq6%2FBoMJqiJ8vuQhf6rHWmAAAAZAB8NHAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAYAAAABSFVHAAAAAABAH0wIyY3BJBS2qHdRPAV80M8hF7NBpxRjXyjuT9kEbH%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FAAAAAAAAAAA%3D&callback=url%3Ahttps%3A%2F%2FsomeSigningService.com&replace=sourceAccount%3AX%3BX%3Aaccount%20on%20which%20to%20create%20the%20trustline&pubkey=GAU2ZSYYEYO5S5ZQSMMUENJ2TANY4FPXYGGIMU6GMGKTNVDG5QYFW6JS&msg=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&network_passphrase=Test%20SDF%20Network%20%3B%20September%202015&origin_domain=someDomain.com&signature=8uiZ2r7KT3gRsO%2BrzmofGHyl%2FLFMfOgNtx5oOddK2rAy8M%2BOgBYOSQpASNbIm%2BIvZVojxv8tKTYuzOkbyhPODA%3D%3D"
     with pytest.raises(
             ValueError,
             match="Stellar URI path should be `tx`, but got `invalid_tx`."
     ):
         TransactionStellarUri.from_uri(uri,
                                        Network.TESTNET_NETWORK_PASSPHRASE)
 def test_message_too_long_raise(self):
     message = "_" * 301
     with pytest.raises(ValueError,
                        match="Message must not exceed 300 characters."):
         TransactionStellarUri(
             transaction_envelope=self.tx,
             message=message,
         )
 def test_to_uri(
     self,
     tx,
     replace,
     callback,
     pubkey,
     message,
     network_passphrase,
     origin_domain,
     signature,
     signer,
     uri,
 ):
     uri_builder = TransactionStellarUri(
         transaction_envelope=tx,
         replace=replace,
         callback=callback,
         pubkey=pubkey,
         message=message,
         network_passphrase=network_passphrase,
         origin_domain=origin_domain,
         signature=signature,
     )
     if signer:
         uri_builder.sign(signer)
     assert uri_builder.to_uri() == uri
     restore_uri = TransactionStellarUri.from_uri(
         uri_builder.to_uri(), Network.TESTNET_NETWORK_PASSPHRASE).to_uri()
     if network_passphrase is None:
         restore_uri = restore_uri.replace(
             "&network_passphrase=Test%20SDF%20Network%20%3B%20September%202015",
             "")
     assert restore_uri == uri
 def test_equal(self):
     assert TransactionStellarUri(
         transaction_envelope=self.tx) == TransactionStellarUri(
             transaction_envelope=self.tx)
 def test_missing_xdr_passphrase_raise(self):
     uri = "web+stellar:tx?callback=url%3Ahttps%3A%2F%2FsomeSigningService.com&replace=sourceAccount%3AX%3BX%3Aaccount%20on%20which%20to%20create%20the%20trustline&pubkey=GAU2ZSYYEYO5S5ZQSMMUENJ2TANY4FPXYGGIMU6GMGKTNVDG5QYFW6JS&msg=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&network_passphrase=Test%20SDF%20Network%20%3B%20September%202015&origin_domain=someDomain.com&signature=8uiZ2r7KT3gRsO%2BrzmofGHyl%2FLFMfOgNtx5oOddK2rAy8M%2BOgBYOSQpASNbIm%2BIvZVojxv8tKTYuzOkbyhPODA%3D%3D"
     with pytest.raises(ValueError, match="`xdr` is missing from uri."):
         TransactionStellarUri.from_uri(uri,
                                        Network.TESTNET_NETWORK_PASSPHRASE)
 def test_missing_network_passphrase_raise(self):
     uri = "web+stellar:tx?xdr=AAAAAP%2Byw%2BZEuNg533pUmwlYxfrq6%2FBoMJqiJ8vuQhf6rHWmAAAAZAB8NHAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAYAAAABSFVHAAAAAABAH0wIyY3BJBS2qHdRPAV80M8hF7NBpxRjXyjuT9kEbH%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FAAAAAAAAAAA%3D&callback=https%3A%2F%2FsomeSigningService.com&replace=sourceAccount%3AX%3BX%3Aaccount%20on%20which%20to%20create%20the%20trustline&pubkey=GAU2ZSYYEYO5S5ZQSMMUENJ2TANY4FPXYGGIMU6GMGKTNVDG5QYFW6JS&msg=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&origin_domain=someDomain.com&signature=8uiZ2r7KT3gRsO%2BrzmofGHyl%2FLFMfOgNtx5oOddK2rAy8M%2BOgBYOSQpASNbIm%2BIvZVojxv8tKTYuzOkbyhPODA%3D%3D"
     with pytest.raises(ValueError,
                        match="`network_passphrase` is required."):
         TransactionStellarUri.from_uri(uri, None)