def test_message_too_long_raise(self): message = "_" * 301 with pytest.raises(ValueError, match="Message must not exceed 300 characters."): PayKuknosUri( "GCALNQQBXAPZ2WIRSDDBMSTAKCUH5SG6U76YBFLQLIXJTF7FE5AX7AOO", message=message, )
def test_to_uri( self, destination, amount, asset, memo, callback, message, network_passphrase, origin_domain, signature, signer, uri, ): uri_builder = PayKuknosUri( destination=destination, amount=amount, asset=asset, memo=memo, callback=callback, message=message, network_passphrase=network_passphrase, origin_domain=origin_domain, signature=signature, ) if signer: uri_builder.sign(signer) assert uri_builder.to_uri() == uri assert PayKuknosUri.from_uri(uri_builder.to_uri()).to_uri() == uri
def test_invalid_memo_type_raise(self): uri = "web+kuknos:pay?destination=GCALNQQBXAPZ2WIRSDDBMSTAKCUH5SG6U76YBFLQLIXJTF7FE5AX7AOO&amount=120.1234567&asset_code=Hello&asset_issuer=GBDIT5GUJ7R5BXO3GJHFXJ6AZ5UQK6MNOIDMPQUSMXLIHTUNR2Q5CFNF&memo=Hello%20World&memo_type=MEMO_TEXT_INVALID&callback=url%3Ahttps%3A%2F%2Fexample.com%2Fcallback&msg=pay%20me%20with%20paymons&network_passphrase=Test%20SDF%20Network%20%3B%20September%202015&origin_domain=someDomain.com&signature=k5cDMVTD2W2lKeEGqakjOTf3aPuPumlr8ObBOvauaa2QiXqa7%2Bw9WRgtmo6NaPXdOoFG5ScUIp9k7PdeuPieCw%3D%3D" with pytest.raises(ValueError, match="Invalid `memo_type`."): PayKuknosUri.from_uri(uri)
def test_destination_missing_raise(self): uri = "web+kuknos:pay?amount=120.1234567&asset_code=Hello&asset_issuer=GBDIT5GUJ7R5BXO3GJHFXJ6AZ5UQK6MNOIDMPQUSMXLIHTUNR2Q5CFNF&memo=Hello%20World&memo_type=MEMO_TEXT&callback=url%3Ahttps%3A%2F%2Fexample.com%2Fcallback&msg=pay%20me%20with%20paymons&network_passphrase=Test%20SDF%20Network%20%3B%20September%202015&origin_domain=someDomain.com&signature=k5cDMVTD2W2lKeEGqakjOTf3aPuPumlr8ObBOvauaa2QiXqa7%2Bw9WRgtmo6NaPXdOoFG5ScUIp9k7PdeuPieCw%3D%3D" with pytest.raises(ValueError, match="`destination` is missing from uri."): PayKuknosUri.from_uri(uri)
def test_equal(self): assert PayKuknosUri( "GCALNQQBXAPZ2WIRSDDBMSTAKCUH5SG6U76YBFLQLIXJTF7FE5AX7AOO" ) == PayKuknosUri("GCALNQQBXAPZ2WIRSDDBMSTAKCUH5SG6U76YBFLQLIXJTF7FE5AX7AOO")
def test_invalid_memo_raise(self): memo = "invalid memo" with pytest.raises(ValueError, match="Invalid memo."): PayKuknosUri( "GCALNQQBXAPZ2WIRSDDBMSTAKCUH5SG6U76YBFLQLIXJTF7FE5AX7AOO", memo=memo )