[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1001393: python-b2sdk: (autopkgtest) needs update for python3.10: UploadUrlPool.__init__() takes 1 positional argument but 2 were given



Source: python-b2sdk
Version: 1.3.0-2
Severity: serious
X-Debbugs-CC: debian-ci@lists.debian.org
Tags: sid bookworm
User: debian-ci@lists.debian.org
Usertags: needs-update
User: debian-python@lists.debian.org
Usertags: python3.10
Control: affects -1 src:python3-defaults

Dear maintainer(s),

We are in the transition of adding python2.10 to the supported Python versions [0]. With a recent upload of python3-defaults the autopkgtest of python-b2sdk fails in testing when that autopkgtest is run with the binary packages of python3-defaults from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
python3-defaults       from testing    3.9.8-1
python-b2sdk           from testing    1.3.0-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of python3-defaults to testing [1]. https://docs.python.org/3/whatsnew/3.10.html lists what's new in Python2.10, it may help to identify what needs to be updated.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=python3-defaults

https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-b2sdk/17420641/log.gz

=================================== FAILURES =================================== _________________________ test_upload_url_concurrency __________________________

    def test_upload_url_concurrency():
        # Clean up from previous tests
        file_name = '/tmp/test_upload_conncurrency.db'
        try:
            os.unlink(file_name)
        except OSError:
            pass
            # Make an account info with a bunch of upload URLs in it.
      account_info = SqliteAccountInfo(file_name)

b2sdk/account_info/test_upload_url_concurrency.py:26: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c2f32a40>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
____________ TestInMemoryAccountInfo.test_account_info_same_object _____________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_account_info_same_object>

    def test_account_info_same_object(self):
      self._test_account_info(check_persistence=False)

test/unit/v1/test_account_info.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:169: in _test_account_info
    account_info = self._make_info()
test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c2d5e2f0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
_____________________ TestInMemoryAccountInfo.test_bucket ______________________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_bucket>

    def test_bucket(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c27aebc0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
______________________ TestInMemoryAccountInfo.test_clear ______________________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_clear>

    def test_clear(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c27e8f10>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
____________ TestInMemoryAccountInfo.test_clear_bucket_upload_data _____________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_clear_bucket_upload_data>

    def test_clear_bucket_upload_data(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c27913c0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
__________ TestInMemoryAccountInfo.test_clear_large_file_upload_urls ___________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_clear_large_file_upload_urls>

    def test_clear_large_file_upload_urls(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:128: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c2c1a3e0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
_____________ TestInMemoryAccountInfo.test_large_file_upload_urls ______________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_large_file_upload_urls>

    def test_large_file_upload_urls(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c260fe20>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
_________________ TestInMemoryAccountInfo.test_refresh_bucket __________________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_refresh_bucket>

    def test_refresh_bucket(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c2791150>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
___________ TestInMemoryAccountInfo.test_set_auth_data_compatibility ___________

self = <test.unit.v1.test_account_info.TestInMemoryAccountInfo testMethod=test_set_auth_data_compatibility>

    def test_set_auth_data_compatibility(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:194: in _make_info
    return InMemoryAccountInfo()
b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c25d68f0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
_____________ TestSqliteAccountInfo.test_account_info_persistence ______________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_account_info_persistence>

    def test_account_info_persistence(self):
      self._test_account_info(check_persistence=True)

test/unit/v1/test_account_info.py:296: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:169: in _test_account_info
    account_info = self._make_info()
test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c262ef20>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_account_info_persistence__qh2smgz2 _____________ TestSqliteAccountInfo.test_account_info_same_object ______________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_account_info_same_object>

    def test_account_info_same_object(self):
      self._test_account_info(check_persistence=False)

test/unit/v1/test_account_info.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:169: in _test_account_info
    account_info = self._make_info()
test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c25d73d0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_account_info_same_object___bbxyvdl ______________________ TestSqliteAccountInfo.test_bucket _______________________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_bucket>

    def test_bucket(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c2678430>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_bucket__f2wksnm0 _______________________ TestSqliteAccountInfo.test_clear _______________________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_clear>

    def test_clear(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c2c8b0a0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_clear__43auc2u9 _____________ TestSqliteAccountInfo.test_clear_bucket_upload_data ______________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_clear_bucket_upload_data>

    def test_clear_bucket_upload_data(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c265e920>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_clear_bucket_upload_data__g4sve0q3 ___________ TestSqliteAccountInfo.test_clear_large_file_upload_urls ____________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_clear_large_file_upload_urls>

    def test_clear_large_file_upload_urls(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:128: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c26362f0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_clear_large_file_upload_urls__nf8tmezr _________________ TestSqliteAccountInfo.test_convert_from_json _________________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_convert_from_json>

    @pytest.mark.skipif(
        platform.system() == 'Windows',
reason='it fails to upgrade on Windows, not worth to fix it anymore'
    )
    def test_convert_from_json(self):
        """
Tests converting from a JSON account info file, which is what version
        0.5.2 of the command-line tool used.
        """
        data = dict(
            account_auth_token='auth_token',
            account_id='account_id',
            api_url='api_url',
            application_key='application_key',
            download_url='download_url',
            minimum_part_size=5000,
            realm='production'
        )
        with open(self.db_path, 'wb') as f:
            f.write(json.dumps(data).encode('utf-8'))
      account_info = self._make_info()

test/unit/v1/test_account_info.py:249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c265c3d0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_convert_from_json__iuzvqwj8 ______________ TestSqliteAccountInfo.test_large_file_upload_urls _______________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_large_file_upload_urls>

    def test_large_file_upload_urls(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c26376a0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_large_file_upload_urls__kfusio4m __________________ TestSqliteAccountInfo.test_refresh_bucket ___________________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_refresh_bucket>

    def test_refresh_bucket(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c265cee0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_refresh_bucket__s39e9dhm ____________ TestSqliteAccountInfo.test_set_auth_data_compatibility ____________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_set_auth_data_compatibility>

    def test_set_auth_data_compatibility(self):
      account_info = self._make_info()

test/unit/v1/test_account_info.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:287: in _make_info
    return self._make_sqlite_account_info()
test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info
return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c262acb0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_set_auth_data_compatibility__gey4y3dg _____________ TestSqliteAccountInfo.test_upgrade_1_default_allowed _____________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_upgrade_1_default_allowed>

    def test_upgrade_1_default_allowed(self):
        """
        The 'allowed' field should be the default for upgraded databases.
        """
      old_account_info = self._make_sqlite_account_info(last_upgrade_to_run=0)

test/unit/v1/test_account_info.py:256: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c265e500>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_upgrade_1_default_allowed__y5t57eiq _____________ TestSqliteAccountInfo.test_upgrade_2_default_app_key _____________

self = <test.unit.v1.test_account_info.TestSqliteAccountInfo testMethod=test_upgrade_2_default_app_key>

    def test_upgrade_2_default_app_key(self):
        """
        The 'application_key_id' field should default to the account ID.
        """
      old_account_info = self._make_sqlite_account_info(last_upgrade_to_run=0)

test/unit/v1/test_account_info.py:273: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_account_info.py:293: in _make_sqlite_account_info return SqliteAccountInfo(file_name=self.db_path, last_upgrade_to_run=None)
b2sdk/account_info/sqlite_account_info.py:53: in __init__
    super(SqliteAccountInfo, self).__init__()
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.sqlite_account_info.SqliteAccountInfo object at 0x7f11c2628700>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
----------------------------- Captured stdout call ----------------------------- using /tmp/tmp_b2_tests_test.unit.v1.test_account_info.TestSqliteAccountInfo.test_upgrade_2_default_app_key__7jst1nr1 ___________ TestApi.test_get_bucket_by_name_with_bucket_restriction ____________

self = <test.unit.v1.test_api.TestApi testMethod=test_get_bucket_by_name_with_bucket_restriction>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c265d8d0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
__________________________ TestApi.test_list_buckets ___________________________

self = <test.unit.v1.test_api.TestApi testMethod=test_list_buckets>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c25e4640>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
_____________________ TestApi.test_list_buckets_with_name ______________________

self = <test.unit.v1.test_api.TestApi testMethod=test_list_buckets_with_name>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c265c970>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
__________________ TestApi.test_list_buckets_with_restriction __________________

self = <test.unit.v1.test_api.TestApi testMethod=test_list_buckets_with_restriction>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c2604430>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
____________ TestApi.test_list_buckets_with_restriction_and_no_name ____________

self = <test.unit.v1.test_api.TestApi testMethod=test_list_buckets_with_restriction_and_no_name>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c262ea10>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
__________ TestApi.test_list_buckets_with_restriction_and_wrong_name ___________

self = <test.unit.v1.test_api.TestApi testMethod=test_list_buckets_with_restriction_and_wrong_name>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c2617e50>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
____________________ TestApi.test_reauthorize_with_app_key _____________________

self = <test.unit.v1.test_api.TestApi testMethod=test_reauthorize_with_app_key>

    def setUp(self):
      self.account_info = InMemoryAccountInfo()

test/unit/v1/test_api.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ b2sdk/account_info/in_memory.py:40: in __init__
    super(InMemoryAccountInfo, self).__init__(*args, **kwargs)
b2sdk/account_info/upload_url_pool.py:83: in __init__
    self._reset_upload_pools()
b2sdk/account_info/upload_url_pool.py:91: in _reset_upload_pools
    self._bucket_uploads = self.BUCKET_UPLOAD_POOL_CLASS()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrapee_args = (<b2sdk.account_info.in_memory.InMemoryAccountInfo object at 0x7f11c25f0df0>,)
wrapee_kwargs = {}

    @wraps(function)
    def wrapper(*wrapee_args, **wrapee_kwargs):
        if self.logger.isEnabledFor(self.LEVEL):
            sig = signature(function)
            bound = sig.bind(*wrapee_args, **wrapee_kwargs)
            for param in sig.parameters.values():
                if param.name not in bound.arguments:
                    bound.arguments[param.name] = param.default
                args_dict = bound.arguments
                # filter arguments
            output_arg_names = []
            skipped_arg_names = []
            if self.skip is not None and self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only and arg not in self.skip:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.only is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.only:
                        output_arg_names.append(arg)
                    else:
                        skipped_arg_names.append(arg)
            elif self.skip is not None:
                for arg in six.iterkeys(args_dict):
                    if arg in self.skip:
                        skipped_arg_names.append(arg)
                    else:
                        output_arg_names.append(arg)
            else:
                output_arg_names = args_dict
                # format output
            suffix = ''
            if skipped_arg_names:
suffix = ' (hidden args: %s)' % (', '.join(skipped_arg_names)) arguments = ', '.join('%s=%s' % (k, repr(args_dict[k])) for k in output_arg_names)
                function_name = function.__name__
            klass = get_class_that_defined_method(function)
            if klass is not None:
                function_name = '%s.%s' % (klass.__name__, function_name)
                # actually log the call
self.logger.log(self.LEVEL, 'calling %s(%s)%s', function_name, arguments, suffix)
      return function(*wrapee_args, **wrapee_kwargs)
E TypeError: UploadUrlPool.__init__() takes 1 positional argument but 2 were given

/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: TypeError
_____________________ TestReauthorization.testCreateBucket _____________________

self = <test.unit.v1.test_bucket.TestReauthorization testMethod=testCreateBucket>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2635b70>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________________________ TestListParts.testEmpty ____________________________

self = <test.unit.v1.test_bucket.TestListParts testMethod=testEmpty>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2514880>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________________________ TestListParts.testThree ____________________________

self = <test.unit.v1.test_bucket.TestListParts testMethod=testThree>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2dcee60>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________________ TestUploadPart.test_error_in_state ______________________

self = <test.unit.v1.test_bucket.TestUploadPart testMethod=test_error_in_state>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c26360b0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________________ TestListUnfinished.test_empty _________________________

self = <test.unit.v1.test_bucket.TestListUnfinished testMethod=test_empty>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2523a30>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________________ TestListUnfinished.test_one __________________________

self = <test.unit.v1.test_bucket.TestListUnfinished testMethod=test_one>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c250abf0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________________ TestListUnfinished.test_prefix ________________________

self = <test.unit.v1.test_bucket.TestListUnfinished testMethod=test_prefix>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25e6e90>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________________ TestListUnfinished.test_three _________________________

self = <test.unit.v1.test_bucket.TestListUnfinished testMethod=test_three>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2522d70>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________________ TestGetFileInfo.test_version_by_id ______________________

self = <test.unit.v1.test_bucket.TestGetFileInfo testMethod=test_version_by_id>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2503a60>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________________ TestGetFileInfo.test_version_by_name _____________________

self = <test.unit.v1.test_bucket.TestGetFileInfo testMethod=test_version_by_name>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c265c910>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______________________ TestLs.test_delete_file_version ________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_delete_file_version>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254c070>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________________________ TestLs.test_empty _______________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_empty>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2501f90>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________________________ TestLs.test_hidden_file ____________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_hidden_file>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c265ea40>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________________ TestLs.test_one_file_at_root _________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_one_file_at_root>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c250a470>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________________ TestLs.test_started_large_file ________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_started_large_file>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2629a20>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______________________ TestLs.test_three_files_at_root ________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_three_files_at_root>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2679030>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________________ TestLs.test_three_files_in_dir ________________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_three_files_in_dir>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2614580>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________________ TestLs.test_three_files_multiple_versions ___________________

self = <test.unit.v1.test_bucket.TestLs testMethod=test_three_files_multiple_versions>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c262a110>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________ TestListVersions.test_all_versions_in_response ________________

self = <test.unit.v1.test_bucket.TestListVersions testMethod=test_all_versions_in_response>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254cd60>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________________ TestListVersions.test_bad_fetch_count _____________________

self = <test.unit.v1.test_bucket.TestListVersions testMethod=test_bad_fetch_count>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2530af0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________________ TestListVersions.test_ignores_subdirectory __________________

self = <test.unit.v1.test_bucket.TestListVersions testMethod=test_ignores_subdirectory>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c30075e0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________________ TestListVersions.test_multiple_version ____________________

self = <test.unit.v1.test_bucket.TestListVersions testMethod=test_multiple_version>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2501f30>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________________ TestListVersions.test_single_version _____________________

self = <test.unit.v1.test_bucket.TestListVersions testMethod=test_single_version>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25306d0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________ TestCopyFile.test_copy_with_different_bucket _________________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_with_different_bucket>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2674190>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________ TestCopyFile.test_copy_with_invalid_metadata _________________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_with_invalid_metadata>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c253fbb0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestCopyFile.test_copy_with_invalid_metadata_replace _____________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_with_invalid_metadata_replace>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254c0a0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________________ TestCopyFile.test_copy_with_range _______________________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_with_range>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2674070>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________ TestCopyFile.test_copy_with_replace_metadata _________________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_with_replace_metadata>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c260c1c0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________ TestCopyFile.test_copy_with_unsatisfied_range _________________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_with_unsatisfied_range>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254fa30>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________ TestCopyFile.test_copy_without_optional_params ________________

self = <test.unit.v1.test_bucket.TestCopyFile testMethod=test_copy_without_optional_params>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c26062f0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________________ TestUpload.test_upload_bytes _________________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_bytes>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2634880>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________________ TestUpload.test_upload_bytes_progress _____________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_bytes_progress>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25080d0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________________ TestUpload.test_upload_dead_symlink ______________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_dead_symlink>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254d270>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________________ TestUpload.test_upload_fifo __________________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_fifo>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2606530>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________ TestUpload.test_upload_file_one_fatal_error __________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_file_one_fatal_error>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24ffcd0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________ TestUpload.test_upload_file_too_many_retryable_errors _____________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_file_too_many_retryable_errors>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c253fe20>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________________ TestUpload.test_upload_large _________________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24fa260>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________ TestUpload.test_upload_large_file_with_restricted_api_key ___________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_file_with_restricted_api_key>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2606140>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________________ TestUpload.test_upload_large_resume ______________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25f00d0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestUpload.test_upload_large_resume_all_parts_there ______________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume_all_parts_there>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2501330>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________ TestUpload.test_upload_large_resume_file_info _________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume_file_info>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2616140>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________ TestUpload.test_upload_large_resume_file_info_does_not_match _________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume_file_info_does_not_match>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2522290>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________________ TestUpload.test_upload_large_resume_no_parts _________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume_no_parts>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2680eb0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________ TestUpload.test_upload_large_resume_part_does_not_match ____________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume_part_does_not_match>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2503250>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestUpload.test_upload_large_resume_wrong_part_size ______________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_large_resume_wrong_part_size>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2676110>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________________ TestUpload.test_upload_local_file _______________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_local_file>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2635780>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________________ TestUpload.test_upload_local_large_file ____________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_local_large_file>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c26158a0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________________ TestUpload.test_upload_local_wrong_sha ____________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_local_wrong_sha>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24ff280>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________________ TestUpload.test_upload_one_retryable_error __________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_one_retryable_error>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2682380>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________________________ TestUpload.test_upload_timeout ________________________

self = <test.unit.v1.test_bucket.TestUpload testMethod=test_upload_timeout>

    def setUp(self):
        self.bucket_name = 'my-bucket'
        self.simulator = self.RAW_SIMULATOR_CLASS()
        self.account_info = StubAccountInfo()
        self.api = B2Api(self.account_info, raw_api=self.simulator)
(self.account_id, self.master_key) = self.simulator.create_account() self.api.authorize_account('production', self.account_id, self.master_key)
        self.api_url = self.account_info.get_api_url()
self.account_auth_token = self.account_info.get_account_auth_token()
      self.bucket = self.api.create_bucket('my-bucket', 'allPublic')

test/unit/v1/test_bucket.py:135: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254d9f0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestDownloadDefault.test_download_by_id_no_progress ______________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_no_progress>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c262c2e0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______________ TestDownloadDefault.test_download_by_id_progress _______________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_progress>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2683400>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________ TestDownloadDefault.test_download_by_id_progress_exact_range _________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_progress_exact_range>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25d7790>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________ TestDownloadDefault.test_download_by_id_progress_partial ___________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_progress_partial>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25b3010>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__ TestDownloadDefault.test_download_by_id_progress_partial_inplace_overwrite __

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_progress_partial_inplace_overwrite>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2521b40>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__ TestDownloadDefault.test_download_by_id_progress_partial_shifted_overwrite __

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_progress_partial_shifted_overwrite>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c26750f0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________ TestDownloadDefault.test_download_by_id_progress_range_one_off ________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_id_progress_range_one_off>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254dcf0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestDownloadDefault.test_download_by_name_empty_file _____________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_name_empty_file>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c265cd00>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________ TestDownloadDefault.test_download_by_name_no_progress _____________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_name_no_progress>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c1c514b0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________ TestDownloadDefault.test_download_by_name_progress ______________

self = <test.unit.v1.test_bucket.TestDownloadDefault testMethod=test_download_by_name_progress>

    def setUp(self):
      super(DownloadTestsBase, self).setUp()

test/unit/v1/test_bucket.py:756: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24fc790>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________ TestDownloadSimple.test_download_by_id_no_progress ______________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_no_progress>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2500d30>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______________ TestDownloadSimple.test_download_by_id_progress ________________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_progress>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2508af0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________ TestDownloadSimple.test_download_by_id_progress_exact_range __________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_progress_exact_range>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25d6980>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________ TestDownloadSimple.test_download_by_id_progress_partial ____________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_progress_partial>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25f3e20>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__ TestDownloadSimple.test_download_by_id_progress_partial_inplace_overwrite ___

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_progress_partial_inplace_overwrite>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2522050>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__ TestDownloadSimple.test_download_by_id_progress_partial_shifted_overwrite ___

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_progress_partial_shifted_overwrite>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c1c7f280>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________ TestDownloadSimple.test_download_by_id_progress_range_one_off _________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_id_progress_range_one_off>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25f39d0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestDownloadSimple.test_download_by_name_empty_file ______________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_name_empty_file>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2523700>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestDownloadSimple.test_download_by_name_no_progress _____________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_name_no_progress>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2515bd0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________ TestDownloadSimple.test_download_by_name_progress _______________

self = <test.unit.v1.test_bucket.TestDownloadSimple testMethod=test_download_by_name_progress>

    def setUp(self):
      super(TestDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:901: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c260d750>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestDownloadParallel.test_download_by_id_no_progress _____________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_no_progress>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24ff100>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______________ TestDownloadParallel.test_download_by_id_progress _______________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_progress>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25080d0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________ TestDownloadParallel.test_download_by_id_progress_exact_range _________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_progress_exact_range>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2521f00>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________ TestDownloadParallel.test_download_by_id_progress_partial ___________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_progress_partial>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c26765c0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_ TestDownloadParallel.test_download_by_id_progress_partial_inplace_overwrite __

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_progress_partial_inplace_overwrite>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c250ad10>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_ TestDownloadParallel.test_download_by_id_progress_partial_shifted_overwrite __

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_progress_partial_shifted_overwrite>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25b19c0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______ TestDownloadParallel.test_download_by_id_progress_range_one_off ________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_id_progress_range_one_off>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c260ebf0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____________ TestDownloadParallel.test_download_by_name_no_progress ____________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_name_no_progress>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2500b50>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____________ TestDownloadParallel.test_download_by_name_progress ______________

self = <test.unit.v1.test_bucket.TestDownloadParallel testMethod=test_download_by_name_progress>

    def setUp(self):
      super(TestDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:909: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c1c52950>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___ TestDownloadParallelALotOfStreams.test_download_by_id_progress_monotonic ___

self = <test.unit.v1.test_bucket.TestDownloadParallelALotOfStreams testMethod=test_download_by_id_progress_monotonic>

    def setUp(self):
      super(TestDownloadParallelALotOfStreams, self).setUp()

test/unit/v1/test_bucket.py:923: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c260cf10>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________ TestTruncatedDownloadSimple.test_download_by_id_no_progress __________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_no_progress>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2675cc0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___________ TestTruncatedDownloadSimple.test_download_by_id_progress ___________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_progress>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c262b910>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_____ TestTruncatedDownloadSimple.test_download_by_id_progress_exact_range _____

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_progress_exact_range>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c1c92230>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______ TestTruncatedDownloadSimple.test_download_by_id_progress_partial _______

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_progress_partial>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24ffdc0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_ TestTruncatedDownloadSimple.test_download_by_id_progress_partial_inplace_overwrite _

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_progress_partial_inplace_overwrite>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25b68f0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_ TestTruncatedDownloadSimple.test_download_by_id_progress_partial_shifted_overwrite _

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_progress_partial_shifted_overwrite>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2520b80>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____ TestTruncatedDownloadSimple.test_download_by_id_progress_range_one_off ____

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_id_progress_range_one_off>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c1c51c00>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________ TestTruncatedDownloadSimple.test_download_by_name_no_progress _________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_name_no_progress>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2515180>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________ TestTruncatedDownloadSimple.test_download_by_name_progress __________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadSimple testMethod=test_download_by_name_progress>

    def setUp(self):
      super(TestTruncatedDownloadSimple, self).setUp()

test/unit/v1/test_bucket.py:973: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c250abf0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
________ TestTruncatedDownloadParallel.test_download_by_id_no_progress _________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_no_progress>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c254f820>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
__________ TestTruncatedDownloadParallel.test_download_by_id_progress __________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_progress>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c24f93c0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
____ TestTruncatedDownloadParallel.test_download_by_id_progress_exact_range ____

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_progress_exact_range>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2523fd0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
______ TestTruncatedDownloadParallel.test_download_by_id_progress_partial ______

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_progress_partial>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2605510>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_ TestTruncatedDownloadParallel.test_download_by_id_progress_partial_inplace_overwrite _

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_progress_partial_inplace_overwrite>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c25b31c0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_ TestTruncatedDownloadParallel.test_download_by_id_progress_partial_shifted_overwrite _

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_progress_partial_shifted_overwrite>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c2680f40>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
___ TestTruncatedDownloadParallel.test_download_by_id_progress_range_one_off ___

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_id_progress_range_one_off>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c26156c0>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_______ TestTruncatedDownloadParallel.test_download_by_name_no_progress ________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_name_no_progress>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c260d270>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
_________ TestTruncatedDownloadParallel.test_download_by_name_progress _________

self = <test.unit.v1.test_bucket.TestTruncatedDownloadParallel testMethod=test_download_by_name_progress>

    def setUp(self):
      super(TestTruncatedDownloadParallel, self).setUp()

test/unit/v1/test_bucket.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/unit/v1/test_bucket.py:756: in setUp
    super(DownloadTestsBase, self).setUp()
test/unit/v1/test_bucket.py:135: in setUp
    self.bucket = self.api.create_bucket('my-bucket', 'allPublic')
/usr/lib/python3/dist-packages/logfury/v0_1/trace_call.py:84: in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <b2sdk.api.B2Api object at 0x7f11c1c7d540>, name = 'my-bucket'
bucket_type = 'allPublic', bucket_info = None, cors_rules = None
lifecycle_rules = None

    def create_bucket(
self, name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None
    ):
        """
        Create a bucket.
            :param str name: bucket name
:param str bucket_type: a bucket type, could be one of the following values: ``"allPublic"``, ``"allPrivate"`` :param dict bucket_info: additional bucket info to store with the bucket
        :param dict cors_rules: bucket CORS rules to store with the bucket
:param dict lifecycle_rules: bucket lifecycle rules to store with the bucket
        :return: a Bucket object
        :rtype: b2sdk.v1.Bucket
        """
        account_id = self.account_info.get_account_id()
            response = self.session.create_bucket(
            account_id,
            name,
            bucket_type,
            bucket_info=bucket_info,
            cors_rules=cors_rules,
            lifecycle_rules=lifecycle_rules
        )
      bucket = self.BUCKET_FACTORY_CLASS.from_api_bucket_dict(self, response)
E AttributeError: 'function' object has no attribute 'from_api_bucket_dict'

b2sdk/api.py:193: AttributeError
=============================== warnings summary ===============================
test/unit/conftest.py:17

/tmp/autopkgtest-lxc.p3v8mblw/downtmp/build.7Ns/src/test/unit/conftest.py:17: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: test.unit
    pytest.register_assert_rewrite('test.unit')

b2sdk/file_version.py:15

/tmp/autopkgtest-lxc.p3v8mblw/downtmp/build.7Ns/src/b2sdk/file_version.py:15: DeprecationWarning: invalid escape sequence '\_'
    """

b2sdk/raw_simulator.py:700

/tmp/autopkgtest-lxc.p3v8mblw/downtmp/build.7Ns/src/b2sdk/raw_simulator.py:700: DeprecationWarning: invalid escape sequence '\?'
    '/b2api/v[0-9]+/b2_download_file_by_id\?fileId=(?P<file_id>[^/]+)',

../../../../../usr/lib/python3/dist-packages/_pytest/mark/__init__.py:264
/usr/lib/python3/dist-packages/_pytest/mark/__init__.py:264: PytestDeprecationWarning: The `-k '-expr'` syntax to -k is deprecated.
  Use `-k 'not expr'` instead.
    deselect_by_keyword(items, config)

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================ FAILED b2sdk/account_info/test_upload_url_concurrency.py::test_upload_url_concurrency FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_account_info_same_object FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_bucket FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_clear FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_clear_bucket_upload_data FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_clear_large_file_upload_urls FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_large_file_upload_urls FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_refresh_bucket FAILED test/unit/v1/test_account_info.py::TestInMemoryAccountInfo::test_set_auth_data_compatibility FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_account_info_persistence FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_account_info_same_object
FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_bucket
FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_clear
FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_clear_bucket_upload_data FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_clear_large_file_upload_urls FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_convert_from_json FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_large_file_upload_urls FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_refresh_bucket FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_set_auth_data_compatibility FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_upgrade_1_default_allowed FAILED test/unit/v1/test_account_info.py::TestSqliteAccountInfo::test_upgrade_2_default_app_key FAILED test/unit/v1/test_api.py::TestApi::test_get_bucket_by_name_with_bucket_restriction FAILED test/unit/v1/test_api.py::TestApi::test_list_buckets - TypeError: Uplo... FAILED test/unit/v1/test_api.py::TestApi::test_list_buckets_with_name - TypeE...
FAILED test/unit/v1/test_api.py::TestApi::test_list_buckets_with_restriction
FAILED test/unit/v1/test_api.py::TestApi::test_list_buckets_with_restriction_and_no_name FAILED test/unit/v1/test_api.py::TestApi::test_list_buckets_with_restriction_and_wrong_name FAILED test/unit/v1/test_api.py::TestApi::test_reauthorize_with_app_key - Typ... FAILED test/unit/v1/test_bucket.py::TestReauthorization::testCreateBucket - A... FAILED test/unit/v1/test_bucket.py::TestListParts::testEmpty - AttributeError... FAILED test/unit/v1/test_bucket.py::TestListParts::testThree - AttributeError... FAILED test/unit/v1/test_bucket.py::TestUploadPart::test_error_in_state - Att... FAILED test/unit/v1/test_bucket.py::TestListUnfinished::test_empty - Attribut... FAILED test/unit/v1/test_bucket.py::TestListUnfinished::test_one - AttributeE... FAILED test/unit/v1/test_bucket.py::TestListUnfinished::test_prefix - Attribu... FAILED test/unit/v1/test_bucket.py::TestListUnfinished::test_three - Attribut... FAILED test/unit/v1/test_bucket.py::TestGetFileInfo::test_version_by_id - Att... FAILED test/unit/v1/test_bucket.py::TestGetFileInfo::test_version_by_name - A... FAILED test/unit/v1/test_bucket.py::TestLs::test_delete_file_version - Attrib... FAILED test/unit/v1/test_bucket.py::TestLs::test_empty - AttributeError: 'fun... FAILED test/unit/v1/test_bucket.py::TestLs::test_hidden_file - AttributeError... FAILED test/unit/v1/test_bucket.py::TestLs::test_one_file_at_root - Attribute... FAILED test/unit/v1/test_bucket.py::TestLs::test_started_large_file - Attribu... FAILED test/unit/v1/test_bucket.py::TestLs::test_three_files_at_root - Attrib... FAILED test/unit/v1/test_bucket.py::TestLs::test_three_files_in_dir - Attribu... FAILED test/unit/v1/test_bucket.py::TestLs::test_three_files_multiple_versions FAILED test/unit/v1/test_bucket.py::TestListVersions::test_all_versions_in_response FAILED test/unit/v1/test_bucket.py::TestListVersions::test_bad_fetch_count - ... FAILED test/unit/v1/test_bucket.py::TestListVersions::test_ignores_subdirectory
FAILED test/unit/v1/test_bucket.py::TestListVersions::test_multiple_version
FAILED test/unit/v1/test_bucket.py::TestListVersions::test_single_version - A... FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_with_different_bucket FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_with_invalid_metadata FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_with_invalid_metadata_replace FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_with_range - Attr... FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_with_replace_metadata FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_with_unsatisfied_range FAILED test/unit/v1/test_bucket.py::TestCopyFile::test_copy_without_optional_params FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_bytes - Attribute... FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_bytes_progress - ... FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_dead_symlink - At... FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_fifo - AttributeE... FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_file_one_fatal_error FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_file_too_many_retryable_errors FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large - Attribute... FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_file_with_restricted_api_key FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume - At... FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume_all_parts_there FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume_file_info FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume_file_info_does_not_match FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume_no_parts FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume_part_does_not_match FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_large_resume_wrong_part_size FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_local_file - Attr...
FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_local_large_file
FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_local_wrong_sha
FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_one_retryable_error FAILED test/unit/v1/test_bucket.py::TestUpload::test_upload_timeout - Attribu... FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_no_progress FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_progress FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_progress_exact_range FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_progress_partial FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_progress_partial_inplace_overwrite FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_progress_partial_shifted_overwrite FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_id_progress_range_one_off FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_name_empty_file FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_name_no_progress FAILED test/unit/v1/test_bucket.py::TestDownloadDefault::test_download_by_name_progress FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_no_progress FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_progress FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_progress_exact_range FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_progress_partial FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_progress_partial_inplace_overwrite FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_progress_partial_shifted_overwrite FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_id_progress_range_one_off FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_name_empty_file FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_name_no_progress FAILED test/unit/v1/test_bucket.py::TestDownloadSimple::test_download_by_name_progress FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_no_progress FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_progress FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_progress_exact_range FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_progress_partial FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_progress_partial_inplace_overwrite FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_progress_partial_shifted_overwrite FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_id_progress_range_one_off FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_name_no_progress FAILED test/unit/v1/test_bucket.py::TestDownloadParallel::test_download_by_name_progress FAILED test/unit/v1/test_bucket.py::TestDownloadParallelALotOfStreams::test_download_by_id_progress_monotonic FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_no_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_progress_exact_range FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_progress_partial FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_progress_partial_inplace_overwrite FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_progress_partial_shifted_overwrite FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_id_progress_range_one_off FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_name_no_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadSimple::test_download_by_name_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_no_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_progress_exact_range FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_progress_partial FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_progress_partial_inplace_overwrite FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_progress_partial_shifted_overwrite FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_id_progress_range_one_off FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_name_no_progress FAILED test/unit/v1/test_bucket.py::TestTruncatedDownloadParallel::test_download_by_name_progress ========== 126 failed, 265 passed, 5 deselected, 4 warnings in 6.84s ===========
autopkgtest [13:24:31]: test command1

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: