File: test_file_metadata.py

package info (click to toggle)
python-b2sdk 2.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,020 kB
  • sloc: python: 30,902; sh: 13; makefile: 8
file content (46 lines) | stat: -rw-r--r-- 1,578 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
######################################################################
#
# File: test/unit/v1/test_file_metadata.py
#
# Copyright 2020 Backblaze Inc. All Rights Reserved.
#
# License https://www.backblaze.com/using_b2_code.html
#
######################################################################
from __future__ import annotations

from ..test_base import TestBase
from .deps import FileMetadata


def snake_to_camel(name):
    camel = ''.join(s.title() for s in name.split('_'))
    return camel[:1].lower() + camel[1:]


class TestFileMetadata(TestBase):
    KWARGS = {
        'file_id': '4_deadbeaf3b3e38a957f100d1e_f1042665d79618ae7_d20200903_m194254_c000_v0001053_t0048',
        'file_name': 'foo.txt',
        'content_type': 'text/plain',
        'content_length': '1',
        'content_sha1': '4518012e1b365e504001dbc94120624f15b8bbd5',
        'file_info': {},
    }
    INFO_DICT = {snake_to_camel(k): v for k, v in KWARGS.items()}

    def test_verified_sha1(self):
        metadata = FileMetadata(**self.KWARGS)

        self.assertTrue(metadata.content_sha1_verified)
        self.assertEqual(metadata.as_info_dict(), self.INFO_DICT)

    def test_unverified_sha1(self):
        kwargs = self.KWARGS.copy()
        kwargs['content_sha1'] = 'unverified:' + kwargs['content_sha1']
        info_dict = self.INFO_DICT.copy()
        info_dict['contentSha1'] = 'unverified:' + info_dict['contentSha1']
        metadata = FileMetadata(**kwargs)

        self.assertFalse(metadata.content_sha1_verified)
        self.assertEqual(metadata.as_info_dict(), info_dict)