class PublicResourceTestHelper:

    def __init__(self, tester):
        self.tester = tester

    name_index = 0

    add_public_resource_url = '/public_resource/add'
    list_public_resources_url = '/public_resource/list'
    edit_public_resources_url = '/public_resource/edit'

    def new_name(self):
        self.name_index += 1
        return 'PublicResource' + str(self.name_index)

    def create_public_resource(self, title=None, file_type=None, file=None):
        with open('test_files/image.png', 'rb') as fp:
            if title is None:
                title = self.new_name()

            if file_type is None:
                file_type = 'image'

            if file is None:
                file = fp

            request = {'title': title, 'file_type': file_type, 'file': file}
            return self.tester.post_with_token(self.add_public_resource_url, request)
