# 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_payment_requirements import X402PaymentRequirements

class TestX402PaymentRequirements(unittest.TestCase):
    """X402PaymentRequirements unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> X402PaymentRequirements:
        """Test X402PaymentRequirements
            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 `X402PaymentRequirements`
        """
        model = X402PaymentRequirements()
        if include_optional:
            return X402PaymentRequirements(
                scheme = 'exact',
                network = 'base',
                max_amount_required = '1000000',
                resource = 'https://api.example.com/premium/resource/123',
                description = 'Premium API access for data analysis',
                mime_type = 'application/json',
                output_schema = {"data":"string"},
                pay_to = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
                max_timeout_seconds = 10,
                asset = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
                extra = {"gasLimit":"1000000"}
            )
        else:
            return X402PaymentRequirements(
                scheme = 'exact',
                network = 'base',
                max_amount_required = '1000000',
                resource = 'https://api.example.com/premium/resource/123',
                description = 'Premium API access for data analysis',
                mime_type = 'application/json',
                pay_to = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
                max_timeout_seconds = 10,
                asset = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
        )
        """

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

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