# coding: utf-8

from __future__ import absolute_import

from flask import json
from six import BytesIO

from src.models.play_log_entry import PlayLogEntry  # noqa: E501
from src.test import BaseTestCase


class TestPublicController(BaseTestCase):
    """PublicController integration test stubs"""

    def test_current_track(self):
        """Test case for current_track

        Get current track
        """
        response = self.client.open(
            '/trackservice/current',
            method='GET')
        self.assert200(response,
                       'Response body is : ' + response.data.decode('utf-8'))

    def test_get_track(self):
        """Test case for get_track

        Get a single track by ID
        """
        response = self.client.open(
            '/trackservice/{trackId}'.format(track_id=56),
            method='GET')
        self.assert200(response,
                       'Response body is : ' + response.data.decode('utf-8'))

    def test_list_tracks(self):
        """Test case for list_tracks

        List recent tracks in the play-log
        """
        query_string = [('offset', 56),
                        ('limit', 50)]
        response = self.client.open(
            '/trackservice',
            method='GET',
            query_string=query_string)
        self.assert200(response,
                       'Response body is : ' + response.data.decode('utf-8'))


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