# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import pytest
from devtools_testutils import recorded_by_proxy
from testpreparer import PageableClientTestBase, PageablePreparer


@pytest.mark.skip("you may need to update the auto-generated test case before run it")
class TestPageableServerDrivenPaginationOperations(PageableClientTestBase):
    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_link(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.link()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_link_string(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.link_string()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_nested_link(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.nested_link()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_alternate_initial_verb_post(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.alternate_initial_verb.post(
            body={"filter": "str"},
        )
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_continuation_token_request_query_response_body(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.continuation_token.request_query_response_body()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_continuation_token_request_header_response_body(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.continuation_token.request_header_response_body()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_continuation_token_request_query_response_header(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.continuation_token.request_query_response_header()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_continuation_token_request_header_response_header(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.continuation_token.request_header_response_header()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_continuation_token_request_query_nested_response_body(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.continuation_token.request_query_nested_response_body()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...

    @PageablePreparer()
    @recorded_by_proxy
    def test_server_driven_pagination_continuation_token_request_header_nested_response_body(self, pageable_endpoint):
        client = self.create_client(endpoint=pageable_endpoint)
        response = client.server_driven_pagination.continuation_token.request_header_nested_response_body()
        result = [r for r in response]
        # please add some check logic here by yourself
        # ...
