# coding: utf-8

"""
    Coinbase Developer Platform APIs

    The Coinbase Developer Platform APIs - leading the world's transition onchain.

    The version of the OpenAPI document: 2.0.0
    Contact: cdp@coinbase.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from cdp.openapi_client.models.x402_v2_payment_payload import X402V2PaymentPayload

class TestX402V2PaymentPayload(unittest.TestCase):
    """X402V2PaymentPayload unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> X402V2PaymentPayload:
        """Test X402V2PaymentPayload
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `X402V2PaymentPayload`
        """
        model = X402V2PaymentPayload()
        if include_optional:
            return X402V2PaymentPayload(
                x402_version = 1,
                payload = {signature=0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480, authorization={from=0x742d35Cc6634C0532925a3b844Bc454e4438f44e, to=0x742d35Cc6634C0532925a3b844Bc454e4438f44e, value=1000000000000000000, validAfter=1716150000, validBefore=1716150000, nonce=0x1234567890abcdef1234567890abcdef12345678}},
                accepted = cdp.openapi_client.models.x402_v2_payment_requirements.x402V2PaymentRequirements(
                    scheme = 'exact', 
                    network = 'eip155:1', 
                    asset = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', 
                    amount = '1000000', 
                    pay_to = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', 
                    max_timeout_seconds = 10, 
                    extra = {name=USDC, version=2}, ),
                resource = cdp.openapi_client.models.x402_resource_info.x402ResourceInfo(
                    url = 'https://api.example.com/premium/resource/123', 
                    description = Premium API access for data analysis, 
                    mime_type = 'application/json', ),
                extensions = {bazaar={discoveryEnabled=true}}
            )
        else:
            return X402V2PaymentPayload(
                x402_version = 1,
                payload = {signature=0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480, authorization={from=0x742d35Cc6634C0532925a3b844Bc454e4438f44e, to=0x742d35Cc6634C0532925a3b844Bc454e4438f44e, value=1000000000000000000, validAfter=1716150000, validBefore=1716150000, nonce=0x1234567890abcdef1234567890abcdef12345678}},
                accepted = cdp.openapi_client.models.x402_v2_payment_requirements.x402V2PaymentRequirements(
                    scheme = 'exact', 
                    network = 'eip155:1', 
                    asset = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', 
                    amount = '1000000', 
                    pay_to = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e', 
                    max_timeout_seconds = 10, 
                    extra = {name=USDC, version=2}, ),
        )
        """

    def testX402V2PaymentPayload(self):
        """Test X402V2PaymentPayload"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
