# coding: utf-8

"""
    Agilicus API

    Agilicus API endpoints  # noqa: E501

    The version of the OpenAPI document: 2021.02.16
    Contact: dev@agilicus.com
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import agilicus_api
from agilicus_api.models.rule import Rule  # noqa: E501
from agilicus_api.rest import ApiException

class TestRule(unittest.TestCase):
    """Rule unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Rule
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = agilicus_api.models.rule.Rule()  # noqa: E501
        if include_optional :
            return Rule(
                host = '0', 
                name = 'rules.add', 
                method = 'get', 
                path = '/.*', 
                query_parameters = [
                    agilicus_api.models.rule_query_parameter.RuleQueryParameter(
                        name = '0', 
                        exact_match = '0', )
                    ], 
                body = agilicus_api.models.rule_query_body.RuleQueryBody(
                    json = [
                        agilicus_api.models.rule_query_body_json.RuleQueryBodyJSON(
                            name = '0', 
                            exact_match = '0', 
                            match_type = 'string', 
                            pointer = '/foo/0/a~1b/2', )
                        ], )
            )
        else :
            return Rule(
                name = 'rules.add',
                method = 'get',
                path = '/.*',
        )

    def testRule(self):
        """Test Rule"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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